邊緣檢測是基於輪廓的對象識別的至關重要的圖像分析技術,對於圖像信息恢復至關重要。 它提取關鍵功能,例如線條和曲線,通常由高級計算機視覺和圖像處理算法使用。 強大的邊緣檢測算法準確地識別了主要邊緣,同時抑制了噪聲引起的虛假邊緣。 邊緣代表圖像強度(像素值)的重大局部變化,通常發生在區域邊界處。本教程解釋了Canny Edge檢測算法及其Python實現。
chany邊緣檢測器
> >以其發明者John F. Canny(1986)的名字命名,Canny探測器以灰度圖像為輸入,並輸出圖像突出顯示強度不連續性(邊緣)。 該過程涉及:
降低噪聲:
高斯卷積使輸入圖像平滑,降低噪聲。t1
>上方的點上方時t2
。
t1 > t2
t1
高斯內核寬度和t2
閾值是影響Canny檢測器輸出的參數。
t1
t1
Python實現t2
t1
。
t1
t2
使用
> install
(例如,在ubuntu上scikit-image
模塊中)應用了Canny檢測器。 OpenCV
使用示例圖像“ boat.png”(如下所示):
scikit-image
代碼:
輸出(邊緣檢測的圖像):scikit-image
sudo apt-get install python-skimage
canny()
feature
使用
>安裝OpenCV(請參閱操作系統的相關安裝指南)。 OPENCV的Canny()
函數執行邊緣檢測。
代碼:
<code class="language-python">from skimage import io, feature im = io.imread('boat.png') edges = feature.canny(im) io.imshow(edges) io.show()</code>
參數:im
(圖像),下閾值(25),上閾值(255),L2gradient=False
(使用L1-norm)。 matplotlib
顯示結果。
輸出(邊緣檢測的圖像):
結論
該教程使用scikit-image
和OpenCV
涵蓋了Canny邊緣檢測器及其直接實現,證明了其在邊緣檢測中的有效性。
以上是使用Python的Canny邊緣檢測器的詳細內容。更多資訊請關注PHP中文網其他相關文章!