2016-11-09 84 views
2

enter image description here如何檢測OpenCV中的手套手指缺陷?

我應該如何檢測在手套的手指上是否存在缺陷(如上圖中所示 - 這稱爲「捆綁錯誤」)?

我已經提取了每個指尖(使用輪廓和輪廓逼近),算法可以識別手套的形狀是否不完美。

enter image description here

但它不會在手套指尖檢測一闋。

enter image description here

我如何可以檢測到這種使用OpenCV的?

+0

你嘗試過計算輪廓的邊緣嗎? – Marat

+0

我做到了。大多數情況下,即使尖端摺疊,我也會得到一個邊緣(尖端)。 – Ivantha

+0

區分缺陷的一個明顯特徵是其強度。您可以嘗試在不同級別設置閾值,並且如果二進制版本不是完美的形狀,這是一個缺點。但這是一個非常簡單並且可能會在大多數情況下失敗的問題。您應該找到充分利用他們的特點。如果您的手套既有完美又有破損的手套的大量數據,您可以嘗試使用機器學習算法。但這是一個複雜且非常具體的案例,您無法爲此找到預定義的方法,您應該創建自己的方法。 –

回答

2

分割每個手指,然後將顏色或灰度級的分析應用於每個手指:良好的手指具有幾乎相同的灰度級/顏色,而有缺陷的手指具有黑色部分。

爲了段手指:每個手指中發現的地標:B1(鹼1),B2(基數爲2)和Ť(尖端);看到他們在下面的圖像紫色。

enter image description here

在我看來,你已經有了這些標誌,因爲你畫的藍色圖形。

一旦你有他們,你確定這些邊界的區域:B1B2和紅色的輪廓,你已經有了之間的直線(紅色輪廓繪製這裏https://i.stack.imgur.com/hXfoC.jpg)從B1開始和持續到B2T

enter image description here

然後你適用於每個區域的分析,例如標記爲有缺陷的所有低於閾值的強度的像素。