Cannyエッジ検出はコンピュータービジョンで最もよく知られ、最も使用されているエッジ検出であるのがCannyエッジ検出です。
アルゴリズム
- 画像にガウス平滑化を適用して、ノイズを除去
- Sobelカーネルを使用して画像の輝度勾配を計算する
- 輝度勾配の方向を指している最大ピクセルのみを保持してエッジを細くする
- ヒステリシスしきい値処理により、エッジを集約する
Cannyエッジ検出
この小銭の画像をCannyエッジ検出処理していきます。 
1
2
3
4
5
6
7
| # グレースケール画像に変換
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
cv2.imshow("Image", image)
# ガウシアンフィルタ処理
blurred = cv2.GaussianBlur(gray, (5, 5), 0)
cv2.imshow("Gaussian", blurred)
|

1
2
3
| # Cannyエッジ検出
cannied = cv2.Canny(blurred, 40, 200)
cv2.imshow("Canny", cannied )
|

うーん。。ちょっと、、写真に影が入っていたので、二重になってしまいました。