現在,OpenCVをPythonで動かして画像処理を行なっています.
Canny法などの手法を利用し,"画像中の輪郭部分を検出して,その部分のみを白,その他の部分は黒となるような輪郭画像を作成する"などの処理はできるようになりました.
ただ,輪郭の明るさの強弱に応じて反応値の大小を変えるといった処理ができず,調べてみてもわからない状態です.
例えば,「輪郭部分のみを白くする輪郭画像を作る場合でも,対象部分の明るさの変化の強弱が大きいほど,より輝度値の高い白になる」などの処理はOpenCVでできるものなのでしょうか.
詳しい方,ご教授のほどよろしくお願いします.
質問の「色の変化の強弱」を「明るさの変化の強弱」と解釈して、以下書きます
勘違いしてたら、スルーしてください
https://pystyle.info/opencv-edge-detection/
http://labs.eecs.tottori-u.ac.jp/sd/Member/oyamada/OpenCV/html/py_tutorials/py_imgproc/py_gradients/py_gradients.html
あたりで紹介されてる微分フィルタの結果は、明るさの変化の強弱に応じた値です
コード例はPythonですが、C++にも同じものがあります
ただし、輪郭部分だけの結果ではありません
輪郭部分だけの結果は、上記のような微分フィルタの結果から、
> 画像中の輪郭部分を検出して,その部分のみを白
で検出された輪郭の画素の部分だけ取り出したらいいと思います
なお、上記参考Webページの二つ目の方にも書いてありますが、微分して負になる数値の結果が消えてしまわないように、ご注意ください
ありがとうございます.
確かに「明るさの変化の強弱」と表現するのが適切でした.
ご指摘ありがとうございます.
回答1件
あなたの回答
tips
プレビュー
