我需要一個簡單而快速的方法來比較兩個圖像的相似性。即如果它們包含完全相同的東西,但是可能會有一些稍微不同的背景,並且可能會被幾個像素移動/調整大小,我希望獲得較高的值。簡單而快速的方法來比較圖像的相似性
(更具體的,如果該事項:在一個畫面是一個圖標,另一個畫面截圖的分區,我想知道這是否分區是完全圖標或沒有。)
我有OpenCV在手邊,但我仍然不習慣它。我想過到目前爲止
一種可能性:既劃分成照片10×10細胞,併爲每個100個細胞,對比顏色直方圖。然後我可以設置一些補償閾值,如果我得到的值高於該閾值,我認爲它們是相似的。
我還沒有嘗試過,但它的工作狀況如何,但我想它會足夠好。圖像已經非常相似(在我的用例中),所以我可以使用相當高的閾值。
我想有許多其他可能的解決方案,這其中會工作或多或少(如任務本身是很簡單的,我只是想檢測的相似性,如果他們真的很相似)。你會建議什麼?
有大約從圖像獲取簽名/指紋/哈希幾個非常相關的/類似的問題:
- OpenCV/SURF How to generate a image hash/fingerprint/signature out of the descriptors?
- Image fingerprint to compare similarity of many images
- Near-Duplicate Image Detection
- OpenCV: Fingerprint Image and Compare Against Database。
- more,more,more,more,more,more,more
另外,我偶然發現了這些實現方式中,其具有這樣的功能,以獲得指紋:
- pHash
- imgSeek( GitHub repo)(GPL)根據論文Fast Multiresolution Image Querying
- image-match。非常類似於我正在尋找的東西。類似於pHash,基於An image signature for any kind of image, Goldberg et al。使用Python和Elasticsearch。
- iqdb
- ImageHash。支持pHash。
約感知圖像哈希一些討論:here
有點offtopic:存在許多方法來創建音頻指紋。 MusicBrainz是一種爲歌曲提供基於指紋的查詢的網絡服務,它有一個good overview in their wiki。他們現在使用AcoustID。這是爲了找到確切的(或者大多數確切的)匹配。爲了找到相似的匹配(或者如果你只有一些片段或高噪音),看看Echoprint。一個相關的SO問題是here。所以這似乎解決了音頻。所有這些解決方案都很好。
關於模糊搜索的一般性問題是here。例如。有locality-sensitive hashing和nearest neighbor search。
也許圖像指紋可以幫助嗎? HTTP://計算器。com/questions/596262/image-fingerprint-to-compare-similar-of-many-images – GWW 2010-11-16 16:43:21
Wasserstein指標,也被稱爲Earth Mover's Distance(EMD),是人們似乎不知道的東西,但會給出很多你想在這裏。 – mmgp 2013-01-14 14:06:25
[圖像比較 - 快速算法]的可能重複(http://stackoverflow.com/questions/843972/image-comparison-fast-algorithm) – sashoalm 2013-10-23 06:23:53