質問: 環境 ・python3.7 ・Mac OS ・jupyter notebook
回答: 役に立つかどうかは不明ですが,「CVの関数をてきとーに使ったらこんなん出ました」的なのをせっかくだから貼っておきます. 欲しい「シワ」とそれ以外とを選り分ける手段は謎ですが,何らかの足がかりにでもなれば. !結果 コード: ↓のコード断片はC++ですが,まぁ,CVの関数が並んでいるだけなので. ``` //グレースケールで画像読込 cv::Mat Img = cv::imread( "Hand.png", CV_LOAD_IMAGE_GRAYSCALE ); if( Img.empty() )return 0; cv::imshow( "Src", Img ); {//本件の画像では,背景と手とで明るさが明確に違うので,それを利用して簡素な処理で背景(暗い部分)をある程度除去 cv::Mat Mask; cv::threshold( Img, Mask, 128, 255, cv::THRESH_BINARY ); cv::erode( Mask, Mask, cv::Mat() ); cv::dilate( Mask, Mask, cv::Mat() ); cv::bitwise_and( Img, Mask, Img ); } //adaptiveThresholdを使ってみる cv::Mat Result; cv::adaptiveThreshold( Img, Result, 255, cv::ADAPTIVE_THRESH_GAUSSIAN_C, cv::THRESH_BINARY_INV, 5, 2 ); cv::imshow( "Result", Result ); ``` 追記: Why adaptiveThreshold ? 「シワ」とは凹凸で言えば凹の部分かな? → であれば,周辺よりも暗いことが多いのではなかろうか? と考えた. それだけ.