簡體   English   中英

使用OpenCV的Canny邊緣檢測來檢測二進制圖像中的邊緣

[英]Detect edge from binary image using Canny edge detection from OpenCV

我正在嘗試提取一些交通標志的輪廓。 圖像經過幾個步驟才能獲得良好的分割圖像。 在應用Canny方法之前的最后一步中,我得到以下圖像:

在此處輸入圖片說明

應用Canny之后,我得到此圖像:

在此處輸入圖片說明

除了左上方的圖像返回開放輪廓之外,該算法均按預期執行。 所以,我的問題是,有沒有辦法以左上圖像返回閉合輪廓的方式使用Canny?

如果您已經有一個二進制映像,Canny不會提供更多信息。 Canny可用於在灰度圖像中查找邊緣(它確定漸變是否是邊緣),如果圖像是黑白圖像,則Canny將返回您已有的邊緣,

我認為您需要使用findContours(),根據參數將僅返回帶有孔或不帶孔的白色或黑色對象。 它還可以處理圖像的邊緣。

在大多數情況下,圖像邊界條件是有問題的。 在這種情況下,我會嘗試在原始圖像周圍填充一些額外的像素。 根據添加這些填充像素的方式,您應該在標志周圍獲得完整的輪廓。

您可以在應用Canny Edge Detection之前和之后使用形態變換來操縱結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM