2011-03-15 139 views
4

我是新來的OpenCV(我實際使用Emgu CV C#包裝),並在嘗試做一些物體檢測。OpenCV的形狀相匹配

我試圖確定對象是否匹配一組預定義對象(即我必須定義)。背景光線充足,不會移動。我開始的物品是瓶子和罐子。

我目前的做法是: 待辦事項absDiff與以前拍攝的背景圖像分離的背景。 然後擴大4倍以使較亮區域(標籤中)縮小。 然後我做了一個二進制閾值來獲得一個大博客,然後在這張圖片中找到輪廓。 然後我畫出最大的輪廓並繪製它,這成爲我的形狀,既可以保存到接受的集合中,也可以與接受的集合進行比較。

目前我使用cvMatchShapes,但雙返回值似乎有很大的不同。我猜這是因爲它沒有考慮輪換。

是這種方法很好?這不是玻璃瓶運作良好,因爲邊緣都很難找到...

我讀過有關哈爾分類,但認爲可能是矯枉過正的我的任務。

+2

haar分類器也不考慮旋轉。 – rossb83 2011-03-15 19:59:24

+2

通過考慮旋轉因子,你基本上看的是[SIFT](http://www.aishack.in/2010/05/sift-scale-invariant-feature-transform/)(尺度不變特徵變換),它匹配考慮到尺寸/比例,旋轉(如您所述)或圖像中的位置,跨越圖像的特徵。它已經在OpenCV中實現,你可以在提供的鏈接中找到它。希望這可以幫助。 – AruniRC 2011-05-03 09:40:16

回答