2011-03-11 44 views
3

我有一個圖像和一個模板。我試圖找出模板是否存在於圖像中,如果存在,圖像中的實例在哪裏。類似這些圖像:定位圖像中的模板

http://www-cgrl.cs.mcgill.ca/~godfried/teaching/cg-projects/98/normand/ex1-model-bit.gif http://www-cgrl.cs.mcgill.ca/~godfried/teaching/cg-projects/98/normand/ex1-image-bit.gif

這將是結果: http://www-cgrl.cs.mcgill.ca/~godfried/teaching/cg-projects/98/normand/sc1-match.gif

這些圖片來自此頁: http://www-cgrl.cs.mcgill.ca/~godfried/teaching/cg-projects/98/normand/main.html 還有就是Rucklidge算法的參考,但我發現沒有關於該算法的信息。

我不需要超過15度的旋轉或縮放超過20%(不論是更大還是更小)。什麼是最好的方法來做到這一點?

* 編輯:*我有形成圖像邊緣的黑色像素列表,以及形成模板的另一個像素列表。我只是尋找一種簡單的方法來找到模板圖像像素列表的最佳偏移(x,y),使它們儘可能接近形成圖像的像素。一些寬容會很好,允許縮放百分之幾或幾度旋轉,但沒有激進。

回答

2

從您引用的頁面中找出一點點鏈接,導致http://www.cs.cornell.edu/vision/hausdorff/hausmatch.html其中包含一些代碼,看起來像是同樣的問題。

Rucklidge在例如「Efficiently Locating Objects Using the Hausdorff Distance」(International Journal of Computer Vision,vol 24 issue 3,Sept./ctct.1997)以及書籍「Efficient visual recognition使用豪斯多夫距離「,Springer LNCS no 1173)。除了您可以通過Google獲得的書外,我還沒有讀過任何其他內容。這聽起來好像Rucklidge有效地修剪搜索空間,通過證明他們不能包含正在搜索的東西的好副本來排除大部分(位置,變換)。

我認爲你的問題就像現在這樣 - 「最好的辦法是什麼?」 - 要求實質性的研究計劃,而不是Stack Overflow答案。據我所知(我不是該領域的專家),這仍然是一個積極和具有挑戰性的研究領域。

+0

謝謝。我想要一些簡單的東西,例如在圖像上應用Canny濾鏡(以獲得邊緣圖像),然後看看如何計算移動第一個圖像的位置(我保持簡單,可能是小的旋轉和縮放,不多),以便模板(大致)與它對齊。 – Dmi 2011-03-11 21:45:03

0

此處的關鍵字是Hausdorff distance。您的原始鏈接對Hausdorff指標有很好的解釋。因此,一旦您瞭解到該算法非常簡單 -

  1. 將圖像和模板轉換爲二進制模式。
  2. 查找最低價格區域Hausdorff_distance(region, your_template)
+1

但現在的問題是,我如何找到該地區?蠻力測試所有大小爲MxN的區域,其中MxN是模板的大小? – Dmi 2011-03-17 23:26:57

+0

@Dmi,你也可以在這個區域上滑動窗口。 – Arturo 2016-03-16 23:47:31