To look up a possible match in a database, store the pixel colors as inpidual columns in the database, index a bunch of them (but not all, unless you use a very small image), and do a query that uses a range for each pixel value, ie. every image where the pixel in the small image is between -5 and +5 of the image you want to look up.
感知雜湊演算法 - Perceptual hash algorithm
簡單步驟:
參考連結:相似圖片搜尋的原理 - 阮一峰 | 顏色分佈法 和 內容特徵法
相似度這個東西很模糊啊。 。 。如果只是想實作一個簡單的版本,我在stackoverflow找到一個很有趣的演算法:
然後再求兩張圖片每個點相似度的均值(相似度可以用差值、差值平方、或者根據位置再乘上權重什麼的,弄些數據跑一下選擇效果最好的)。
有趣的是,這個演算法甚至可以支援預先計算好一批圖片,然後從資料庫中查詢相似的: