2014-02-15 68 views
2

我在JPEG文件中有許多不同版本的相同照片。我需要一個在Linux上運行的命令行工具或庫,它從可用版本中選擇最高質量的版本。逐個查看文件(並放大)不是一種選擇,因爲我需要對數千套照片重複此操作。我已經知道哪些照片是彼此的版本。如何選擇最高質量的照片版本?

最簡單的近似解決方案是選擇寬度和高度最大的圖像文件。有圖像A和圖像B時不起作用;圖像B是通過將圖像A縮小因子2而創建的,然後將結果按比例縮放3倍。在這種情況下,圖像A具有更多信息並且質量更高,但圖像B具有更大的尺寸。我需要一個解決方案,在這種情況下和類似的情況下選擇圖像A.

+3

棘手的問題。 [This](https://ece.uwaterloo.ca/~z70wang/publications/icip02.pdf)可以作爲一個起點。 –

+0

這不反映文件的大小嗎?我會假設,放大的JPEG圖像比原始大小相同的圖像佔用更少的空間。也許你可以根據文件大小,壓縮比以及寬度/高度作爲特徵來開發一些啓發式方法? – qqilihq

+1

我可能會從https://www.google.com/search?q=measure+image+entropy – bobah

回答

1

圖片的「質量」不是一件容易測量的東西,而且很可能是主觀的。也就是說,有兩個近似的解決方案可以想到。

  • 文件大小:正如@qqilihq所示,jpeg的文件大小將大致反映照片的質量。在您給出的示例中,文件縮小後恢復爲完整大小時,您會希望原始(非縮放)版本具有更大的文件大小。縮小JPEG文件時丟失的細節將不再佔用文件中的空間。似乎很容易測試,至少。
  • 您可以從jpeg的元數據中提取有用的信息。用於編輯jpeg的程序和jpegs的規格可能會有很大不同。以下是兩個資源:ExifOracle
+0

開始感謝您的提示。是的,我可以使用文件大小,寬度和高度的組合作爲信號,但還需要做更多的研究,以便將這些結合起來以得到可靠的分數。我忘了提及輸入文件沒有任何元數據。 – pts

相關問題