エッジ検出は、概要に基づいたオブジェクト認識のための重要な画像分析手法であり、画像情報の回復に不可欠です。 高度なコンピュータービジョンや画像処理アルゴリズムでよく使用されるラインや曲線などの主要な機能を抽出します。 堅牢なエッジ検出アルゴリズムは、ノイズ誘発誤ったエッジを抑制しながら、主要なエッジを正確に識別します。
エッジは、通常、領域の境界で発生する画像強度(ピクセル値)の局所的な変化を表します。このチュートリアルでは、Canny Edge検出アルゴリズムとそのPython実装について説明します。 Canny Edge Detector発明者であるジョン・F・キャニー(1986)にちなんで名付けられたキャニー検出器は、グレースケールの画像を入力として採用し、強度の不連続性(エッジ)を強調する画像を出力します。
プロセスには:ノイズリダクション:
t1
上のポイントは常にエッジです。以下のポイントt2
ただし、上記の上のポイントが上のポイントに接続されている場合にのみエッジがあります。
t1 > t2
t1
ガウスカーネルの幅とt2
/t1
しきい値は、キャニー検出器の出力に影響を与えるパラメーターです。
t1
t2
python実装t1
およびt1
。t2
の使用
を使用しています
インストールscikit-image
(例えば、OpenCV
ubuntuで)。 (
関数は、Canny Detectorを適用します。
サンプル画像「boat.png」を使用する(以下に示す):scikit-image
scikit-image
コード:sudo apt-get install python-skimage
canny()
feature
出力(エッジ検出された画像):
パラメーターの調整により、さまざまなエッジ検出結果が得られます。
from skimage import io, feature im = io.imread('boat.png') edges = feature.canny(im) io.imshow(edges) io.show()
opencvをインストールします(オペレーティングシステムの関連するインストールガイドを参照)。 opencvのCanny()
関数はエッジ検出を実行します。
コード:
from skimage import io, feature im = io.imread('boat.png') edges = feature.canny(im) io.imshow(edges) io.show()
引数:im
(画像)、下のしきい値(25)、上部しきい値(255)、L2gradient=False
(L1-Normを使用)。 matplotlib
結果が表示されます。
出力(エッジ検出された画像):
結論
このチュートリアルは、とscikit-image
を使用したCanny Edge Detectorとその単純な実装について、エッジ検出におけるその有効性を実証しました。
以上がPythonを使用したCanny Edge Detectorの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。