2017-02-16 31 views
0

我正在使用opencv在Python中製作的學校項目,我有兩個部分的問題。opencv在盒子中選擇一個對象的最佳方式是什麼?

我有6張照片的對象(one of each side)a box filled with the same object之一。照片的質量很差,但我的下一次測試將會拍出更好的照片。我的目標是在框中找到最容易到達的對象(爲了抓住它)。我意識到特徵和輪廓檢測的不同算法,並且我嘗試了其中的一些與上面的照片,但我不知道哪種方法會給我最大的可能性來找到最容易到達的對象。

現在來看第二部分。當我找到一個對象時,我想在圖片中找到它的位置,我不知道如何利用特徵或輪廓檢測的結果來獲取對象像素中的位置。

這是我第一篇關於堆棧溢出的文章,以及我的第一個使用opencv的項目,如果問題不清楚,我還不清楚,而且我還在自己做一些測試,但是我指望已經做了類似的程序員這個。

+0

您的第一個問題嘗試** SIFT ** –

+0

獲得SIFT功能執行**匹配** –

+0

感謝您的回答,我現在無法測試它,但我會做。我只是有一個簡單的問題,是不是我有一個盒子充滿了同一個對象的問題? SIFT會不會識別每個物體? – bachinblack

回答

0

正如Rick M在評論中所建議的那樣,我嘗試了使用ORB關鍵點檢測的解決方案。

我執行ORB關鍵點檢測對於您使用THIS DOCUMENT給出的圖像。

這裏是我得到什麼:

enter image description here

enter image description here

有獲得關鍵點的其他方法。訪問THIS PAGE更多(SIFT,SURF,BRIEF等)

然後我進行功能使用THIS DOCUMENT匹配

enter image description here

正如你可以看到我的比賽進行了僅僅5關鍵點。這些關鍵點中的3個似乎正確匹配。我沒有匹配所有的關鍵點,否則就不清楚了。如果你有更好的圖像質量,大部分的比賽都是正確的。

對於這種情況我用蠻力匹配。所提及的文件提供了FLANN匹配技術的詳細信息。

+0

感謝您的回答,您說得對,如果我嘗試使用質量更好的圖像和所有關鍵點,我可能能夠找到最好的對象。 – bachinblack

相關問題