3 回答

TA貢獻1830條經驗 獲得超9個贊
這完全取決于您希望算法的智能程度。
例如,這是一些問題:
裁剪的圖像與未裁剪的圖像
帶有文字的圖像與沒有文字的圖像
鏡像圖像
我見過的最簡單最簡單的算法就是對每個圖像執行以下步驟:
縮放到較小的尺寸(例如64x64或32x32),而不考慮寬高比,請使用組合縮放算法而不是最近的像素
縮放顏色范圍,以使最暗的為黑色,最亮的為白色
旋轉并翻轉圖像,以使最大的顏色在左上角,然后右上角變暗,左下角變暗(當然要盡可能)
編輯一個結合縮放算法是一個縮放10個像素時下降到一個會使用一個函數,所有的10個像素的顏色和它們組合成一個做到這一點??梢允褂闷骄祷蚋鼜碗s的算法(例如三次三次樣條)來完成。
然后計算兩個圖像之間逐像素的平均距離。
要在數據庫中查找可能的匹配項,請將像素顏色存儲為數據庫中的各個列,對它們進行索引(但不是全部,除非使用很小的圖像),然后進行查詢以對每個像素使用范圍像素值,即 小圖像中像素在要查找的圖像的-5到+5之間的每個圖像。
這很容易實現,并且運行起來相當快,但是當然不能處理大多數高級差異。為此,您需要更高級的算法。

TA貢獻1836條經驗 獲得超3個贊
衡量這種情況的“經典”方法是將圖像分解為一定數量的標準部分(例如10x10網格),然后計算每個單元格內部的RGB值直方圖并比較相應的直方圖。首選這種類型的算法,因為它簡單易行,并且縮放和(small?。┺D換不變。

TA貢獻1906條經驗 獲得超10個贊
使用規格化的顏色直方圖。(在此處閱讀有關應用程序的部分),它們通常用于圖像檢索/匹配系統,并且是一種非??煽?,相對快速且易于實現的匹配圖像的標準方法。
本質上,顏色直方圖將捕獲圖像的顏色分布。然后可以將其與另一張圖像進行比較,以查看顏色分布是否匹配。
這種匹配非常適合縮放(一旦對直方圖進行歸一化),旋轉/移位/移動等。
避免逐像素比較,因為圖像稍微旋轉/移動可能會導致報告較大差異。
直方圖很容易生成(假設您可以訪問像素值),但是如果您不喜歡它,則OpenCV庫是進行此類操作的理想資源。這是一個PowerPoint演示文稿,向您展示如何使用OpenCV創建直方圖。
添加回答
舉報