2014-02-07 42 views
4

我已經搜索了所有可能的相關關鍵字,但我能找到的結果並不是我想要的,因爲我發現的大多數算法都對COLOR高度關注。如何識別2張「黑白」圖像之間的相似度(以%爲單位)?

我的應用程序的想法是識別具有最高相似性的圖像對。

例如,我的輸入是a,圖像池包含b,c,d,e。 結果可能是b(90%),d(85%),e(80%),c(20%)。

我的問題是可以採用什麼方法來計算這種「圖像相似性」? 或者我必須從零開始構建自己的代碼?

enter image description here

回答

1

也許你應該看一看Hough transform。這些線將對應於變換圖像中的峯值。然後,您可以識別這些峯值像素,並以某種方式將它們的位置與原始圖像的位置進行比較。

+0

訪問我想這種方法過於複雜,評價我簡單的圖片,還是要謝謝你。 – nb369

0

看看SSIM比較兩張圖片。 SSIM代表基於兩幅圖像之間的相似性給出單個值的結構相似性指標度量。訪問維基頁面Structural Similarity

+0

當圖像大小相等時,SSIM可以成功計算出兩幅圖像之間的近似相似度。如果我比較兩張完全相同的不同大小的圖像,結果會很糟糕:( – nb369

+0

)當兩幅圖像的大小不同時,我們可以將大小較小的圖像滑動,然後在幻燈片的每個位置獲得SSIM分數。最終的圖像被稱爲SSIM地圖。當兩幅圖像都相同時,我們可以升高較小的圖像,然後執行SSIM。在某些應用中,填充零也是一種很好的方法。 @ nb369 – PRABHAKARAN

0

首先,最好的工具是OpenCV,它可以與大多數常用編程語言一起工作。

你可以看到文檔頁面,有很多功能可以幫助你。

函數approxPolyDP()see the detail here) 它以指定的精度逼近多邊形曲線(您的形狀)。 在此之前,您必須檢測一對圖像中的輪廓。

this example非常有助於您:

改進:

  • 你可以統計近似段
  • 你可以計算每兩個部分之間的角度。
  • ,你可能會發現一些幾何不變測度(行比,重心,面積比長......)這是最好的
+0

曲線近似可能是我進一步評估相似性的下一步,並感謝您提出的改進建議。 – nb369

相關問題