亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何測量兩個圖像之間的相似度?

如何測量兩個圖像之間的相似度?

我想將一個應用程序(可能是網頁)的屏幕快照與先前獲取的屏幕快照進行比較,以確定該應用程序是否正確顯示了自己。我不希望進行完全匹配比較,因為方面可能略有不同(對于Web應用程序,取決于瀏覽器,某些元素可能位于稍有不同的位置)。它應該衡量屏幕截圖的相似程度。是否已經有一個庫/工具?您將如何實施?
查看完整描述

3 回答

?
慕標琳琳

TA貢獻1830條經驗 獲得超9個贊

這完全取決于您希望算法的智能程度。

例如,這是一些問題:

  • 裁剪的圖像與未裁剪的圖像

  • 帶有文字的圖像與沒有文字的圖像

  • 鏡像圖像

我見過的最簡單最簡單的算法就是對每個圖像執行以下步驟:

  1. 縮放到較小的尺寸(例如64x64或32x32),而不考慮寬高比,請使用組合縮放算法而不是最近的像素

  2. 縮放顏色范圍,以使最暗的為黑色,最亮的為白色

  3. 旋轉并翻轉圖像,以使最大的顏色在左上角,然后右上角變暗,左下角變暗(當然要盡可能)

編輯一個結合縮放算法是一個縮放10個像素時下降到一個會使用一個函數,所有的10個像素的顏色和它們組合成一個做到這一點??梢允褂闷骄祷蚋鼜碗s的算法(例如三次三次樣條)來完成。

然后計算兩個圖像之間逐像素的平均距離。

要在數據庫中查找可能的匹配項,請將像素顏色存儲為數據庫中的各個列,對它們進行索引(但不是全部,除非使用很小的圖像),然后進行查詢以對每個像素使用范圍像素值,即 小圖像中像素在要查找的圖像的-5到+5之間的每個圖像。

這很容易實現,并且運行起來相當快,但是當然不能處理大多數高級差異。為此,您需要更高級的算法。


查看完整回答
反對 回復 2019-10-23
?
米脂

TA貢獻1836條經驗 獲得超3個贊

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


查看完整回答
反對 回復 2019-10-23
?
隔江千里

TA貢獻1906條經驗 獲得超10個贊

使用規格化的顏色直方圖。(在此處閱讀有關應用程序的部分),它們通常用于圖像檢索/匹配系統,并且是一種非??煽?,相對快速且易于實現的匹配圖像的標準方法。


本質上,顏色直方圖將捕獲圖像的顏色分布。然后可以將其與另一張圖像進行比較,以查看顏色分布是否匹配。


這種匹配非常適合縮放(一旦對直方圖進行歸一化),旋轉/移位/移動等。


避免逐像素比較,因為圖像稍微旋轉/移動可能會導致報告較大差異。


直方圖很容易生成(假設您可以訪問像素值),但是如果您不喜歡它,則OpenCV庫是進行此類操作的理想資源。這是一個PowerPoint演示文稿,向您展示如何使用OpenCV創建直方圖。


查看完整回答
反對 回復 2019-10-23
  • 3 回答
  • 0 關注
  • 1267 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號