2017-07-06 44 views
1

下面是我想要檢測「山丘」,半圓形,切口的二進制圖像。在紅色圓圈下方的圖像中。檢測不一定是精確的,我只需要知道像這樣的東西在圖片中。我正在考慮使用一種線掃描方法的算法,並計算線上的黑色像素,並用某種「巧妙」的方法來評估它,但在此之前,我想知道是否缺少任何技術更容易或更強大。我嘗試過HoughCircles,但沒有好的結果,因爲這些圓的半徑相當大,而且它們中有很多(houghCircles以灰度圖像作爲輸入)。檢測圖像中的切口/半圓

Binary

+2

我不知道你來自哪裏,但我來自哪裏,半圈看起來不一樣;) – Piglet

+0

你可以更具體地說明你想要提取什麼信息嗎? –

+0

@YvesDaoust,因爲你已經猜到自己這是一個缺陷檢測。我不需要確切的特徵。我只需要找出是否有其他不錯的矩形缺陷。 – Croolman

回答

2

計數像素應該在這個簡單的情況是好的。如果您面對更復雜的場景以及其他不想計入的內容,則應考慮使用斑點檢測器。 該方法搜索連接像素的區域。一旦你有斑點,你可以很容易地按大小,形狀,位置排序,這有助於擺脫不需要的東西。

https://www.learnopencv.com/blob-detection-using-opencv-python-c/

這是一個非常基本的技術。請繼續閱讀有關圖像處理基礎的書籍。它會讓生活變得更容易。

+0

基本上你建議的是找到輪廓並尋找該區域?我想避免這種情況。 – Croolman

+0

@Croolman:如果你是在曲率半徑等幾何特徵之後,不看形狀(因此輪廓)就很難達到這個目的。 –

+0

@Croolman你不需要,但如果你不得不以某種方式描述那些黑色地區,因爲你可能不得不過濾掉你不感興趣的東西,你無法避免它。如果你只是想知道是否有東西存在,那麼計算像素就足夠了。 – Piglet

1

正如@piglet所說,這是一個blob分析的例子。

如果你想進一步表徵和分類缺陷,你必須計算一些形狀的幾何特徵,如面積,直徑,長度等,並將它們送到分類器/神經網絡。