按內容匹配重複圖像並將其重命名(重複的名稱)

按內容匹配重複圖像並將其重命名(重複的名稱)

我有 2 個資料夾,每個資料夾都有 5000 多張照片:

  • 資料夾 1:原始文件品質良好,但具有人類可讀的名稱(例如saigon_motorcycle_traffic.jpg
  • 資料夾2:相同的檔案品質非常差(450px 寬度),但具有與資料庫相符的乾淨 ID(例如562634.jpg)。

目標是將高解析度圖片與資料庫 ID 進行匹配。

我的問題:saigon_motorcycle_traffic.jpg將高解析度版本重新命名為低解析度版本的最快方法是什麼562634.jpg


我嘗試過很多軟體(例如重複照片清理器,可視圖片,XnView,DupliFinder,...),他們都找到了重複項,但沒有一個為這種重命名或合適的導出功能提供正確的方法。

編輯:我沒有嘗試過任何腳本(如評論中所述),因為我不知道也沒有找到任何腳本。如果你知道什麼請告訴我。

有些事情不起作用:匹配圖像尺寸不起作用(大多數圖像具有相同的尺寸),匹配創建日期不起作用(這一切都搞砸了)並且手動執行它不起作用,因為我想保持我的心理健康;-)

答案1

我最終編寫了一個 PHP 例程(我不會發布完整的程式碼,因為它是一個非常不乾淨的解決方案)來實現這一點。

使用移相器我能夠迭代所有圖像檔案並找到可疑的(!)重複項:每個圖像都轉換為一個小散列(基於圖像的 8x8 版本)。然後可以比較這些雜湊值。

需要記住的兩件事:

  • 由於它是一個嵌套循環,因此在進行實際比較之前首先獲取所有哈希值並緩存它們非常重要。否則將需要永遠。
  • 此方法並不能給出完美的結果。我在第一次運行時的錯誤率很小。所以仍然需要進行一些錯誤檢查。

答案2

聽起來您在使用照片重複清理軟體時遇到過一些令人沮喪的經歷。您是否考慮過使用重複照片修復器不僅可以找到重複項,還提供重新命名和匯出照片的功能?這些類型的工具可以更加全面並提供更好的整體體驗。您可能需要研究並嘗試幾種不同的選項,以找到最適合您需求的選項。

相關內容