Cannyエッジ検出(Canny Edge Detection)
Cannyエッジ検出(Canny Edge Detection)は、画像内のエッジ(輪郭線や境界線)を検出するために使用される高度なエッジ検出アルゴリズムです。Cannyエッジ検出は、エッジの正確性と低い誤検出率の両方を追求しています。
Cannyエッジ検出の手法は以下のステップで構成されています:
-
ノイズ低減: まず、画像に対してガウシアンフィルタを適用して、ノイズを低減します。これにより、滑らかな画像が得られます。
-
グレースケール変換: ノイズ低減された画像をグレースケールに変換します。これにより、画像の輝度情報のみが残ります。
-
エッジ強度の計算: Sobelオペレータを使用して、画像の勾配(輝度の変化率)を計算します。勾配の大きさはエッジの強度を表し、勾配の方向はエッジの向きを表します。
-
非最大抑制: 勾配の大きさと方向を基に、エッジの細化を行います。各ピクセルにおいて、その勾配方向上の隣接ピクセルと比較し、最大値である場合のみ残します。これにより、細いエッジを保持し、不要なエッジを削除します。
-
ヒステリシス閾値処理: エッジの閾値処理を行います。二つの閾値(低い閾値と高い閾値)を設定し、エッジ強度が高い部分を強いエッジ、低い部分を弱いエッジとして分類します。ただし、強いエッジに隣接する弱いエッジも強いエッジとして扱います。
Cannyエッジ検出は、エッジの鮮明さ、正確性、低い誤検出率の優れたバランスを実現します。それにより、画像内の重要な特徴や物体の境界線を抽出することができます。Cannyエッジ検出は、コンピュータビジョンや画像処理の多くの応用で広く使用されています。