2011-12-05 60 views
3

我希望能夠檢查兩幅圖像在某個閾值內是否顯示相同。直觀地比較兩幅圖像

Image 1

Image 2

這兩個圖像是相同的對眼睛的,但是稍微不同的顏色。我曾嘗試下面的例子:

http://www.vb-helper.com/howto_net_image_compare_threshold.html

遺憾的是,似乎只有當圖像是相同的檢測。如何使用VB.NET確定圖像在特定閾值內是否相同?

+0

難道你不能只顯示圖像,重新捕獲它,然後使用你有的代碼? – stimms

+0

對不起,你能解釋一下嗎? –

+0

你使用過TinEye.com嗎?他們也有一個API:http://ideeinc.com/products/pixmatch/ - 我沒有看到它的寬容信息,但我相信會有很多其他第三方工具類似,HTH –

回答

4
  1. 將這兩個圖像的大小調整爲相同的小尺寸,例如16x12或90x60(取決於您的閾值)。
  2. 將顏色深度減少爲每像素4位或8位(未調色板)。你可以使用posterize功能。

然後再看看兩個較小的圖像是否重複。如果是這樣,原件必須非常接近。

0
  • 鴻溝圖像分成R,G,B
  • 對於每種顏色:
    • 對於每個(X,Y):
      • 乘圖像1與圖像2
      • 的像素的像素
    • 薩姆所有像素值
  • 薩姆3 VALU es每種顏色

這是兩張圖像之間的correlation。爲了得到從0到1的值,首先計算圖像與其自身的相關性,以查看最佳可能值是什麼,然後執行圖像1與圖像2的相關性併除以最佳可能值。