07 Canny オペレーターエッジ検出


序文

私はこれまでにいくつかの古典的な演算子を学習しました:
06Laplican
05Priwitt
04Sobel
03Roberts
今日私が学んだのは Canny 演算子です。


1. Canny オペレーターとは何ですか?

Canny オペレーターは、高精度で誤検出率が低い最適なエッジ検出オペレーターであり、コンピューター ビジョンや画像処理の分野でよく使用されます。Canny オペレーターは主に次のステップで構成されます。

1 ガウス フィルター: ガウス フィルターは、画像を滑らかにしてノイズを除去するために画像で使用されます。

2 画像の勾配を計算します。平滑化された画像の各ピクセルの勾配値と方向を計算します。

3 非最大値抑制: 勾配の方向において、極大値のピクセルのみが保持され、最終エッジが取得されます。

4 二重閾値検出: 高閾値と低閾値に従って、画像内のピクセルが強いエッジと弱いエッジに分割されます。

5. エッジ接続: 強いエッジと弱いエッジの位置と位相関係に従って、弱いエッジは強いエッジに接続されているエッジに接続されます。

上記の手順は、Canny オペレーターの主なプロセスです。他のエッジ検出アルゴリズムと比較して、Canny オペレーターによって生成されるエッジはより繊細で正確であるため、ノイズや高い誤検出率の問題を効果的に回避できます。

2. プログラムの検証

1. サードパーティのライブラリを使用する

コードは次のとおりです(例)。

import cv2
import numpy as np

def canny_edge_detection(image):
    gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    blurred_image = cv2.GaussianBlur(gray_image, (3, 3), 0)
    edges = cv2.Canny(blurred_image, 30, 100)
    return edges

ここに画像の説明を挿入

要約する

この記事では、サードパーティのライブラリを呼び出してキャニー エッジ抽出を完了します。キャニー エッジ抽出には多くのナレッジ ポイントが含まれているため、現在のコード レベルではすべての機能をゆっくりとしか実現できません。この部分は後の記事で更新されます。

おすすめ

転載: blog.csdn.net/CSDN_Yangk/article/details/129859396