Yabu.log

ITなどの雑記

二次微分オペレータを用いたエッジ検出

隣接する画素の変化が激しい箇所をエッジとして検出するアルゴリズムです。 各セルの隣り合ったセルとの変化量を微分し、変化の大きい箇所を検出します。

飛び出し坊やくんのエッジ検出をして遊んでみます。

img_tmp = cv2.Sobel(img_src, cv2.CV_32F, 1, 0)
img_dst = cv2.convertScaleAbs(img_tmp)
img_dst = cv2.bitwise_not(img_dst);

f:id:yuyubu:20181231080343p:plain
二次微分オペレータのエッジ検出

※ネガポジ変換しています

エッジは期待したものが全て検出できましたが、 元画像と見比べると、明るい色→明るい色のエッジは薄い色に(例:ズボンと手の間)、明るい色→暗い色のエッジは濃い色に(例:髪の毛と顔の間)なってしまっています。

Canny法という性能が良いエッジ検出があるので次のエントリではそちらを紹介したいと思います。

f:id:yuyubu:20181231155411p:plain
Canny方を使った結果