2017-08-29 95 views
0

enter image description here檢測圖像中的對象

我附加了一個由對象組成的圖像。問題是要找到圖像中存在的對象的數量。我已經嘗試opencv查找輪廓函數和模板匹配,但它不能很好地工作。圖像中存在的對象不必相同。

有沒有更好的方法來解決這類問題。

im2, contours, hierarchy = cv2.findContours(bilateral_filtered_image,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE) 
new_cnts=[] 
for c in contours: 
    area = cv2.contourArea(c) 
    k = cv2.isContourConvex(c) 
    if (20<area<200): 
     new_cnts.append(c) 
+2

[您的其他問題?]有什麼區別?(https://stackoverflow.com/q/45898282/5008845) – Miki

+0

同意@Miki,只是顛倒你的形象。 –

+0

我試着做同樣的事情,但沒有得到滿意的結果。我所問的是,可以用通用的方法來檢測物體,而不管它們的外觀如何。僅僅因爲該對象與前一個問題中的對象不相同,請介紹反轉操作。 –

回答

0

1:閾值成團塊找到(在斑點的尺寸和形狀一些細化更具體)。

或2:canny邊緣過濾器圈入查找。它們看起來很圓,並且或多或少都有乾淨的邊緣。

這就是說,我只是根據你的給定圖像,成像的第一步是始終用照明和照相機角度堆疊甲板。有很多方法可以爲此設置添加一些光線,使視覺設置方式更加穩定,無論您選擇哪種模式。

+0

事情是我可以優化,以準確檢測這個圖像的對象,但它應該一般工作。就像可以有不同的物體不同的比例,可以仿射變換,照亮不同。我也想解釋這些情況。至少這種方法應該是這樣的,它可以針對不同類型的對象以相當好的精度工作 –

+1

@KaranKumar沒有像精確的一般對象檢測那樣的東西。我使用徽標檢測和跟蹤將近一年,並使用SURF,SIFT,ORB中的所有內容進行模板匹配和捆綁min-hashing。每次我不得不微調我的代碼,以查找我試圖檢測的特定類型的徽標。 – zindarod

+0

因此,您在智能查找工具或使用NN類型設置的東西中建議的內容有點捉襟見肘,您必須擁有大量訓練數據以及良好的裁剪樣本和良好的樣本分佈代表性,這通常需要更多而不是使用標準視覺工具來設置特定的解決方案。 –

相關問題