我想比較原始PNG圖像與有損JPEG圖像,看看我失去了多少。我發現我可以使用ImageMagic來比較圖像。我更喜歡使用Java(im4java)。我很困惑他們的文檔(http://www.imagemagick.org/script/compare.php)。它沒有描述它是用於哪個平臺。我如何使用這些命令行,它們甚至可以在im4java中使用?如果有人可以寫我如何使用它的步驟,我將不勝感激。ImageMagick:如何比較原始PNG到有損JPEG?
回答
ImageMagick在許多平臺上運行。如果您單擊Binary Releases,它們將列出可用軟件包。正如其主頁所描述的,im4java
庫調用ImageMagick命令行工具來完成它的工作,因此它將在任何支持ImageMagick和Java的平臺上運行。通過瀏覽其API documentation,看起來compare
命令在im4java中不可用,所以您必須修改im4java以支持它。
在這種情況下,是否有其他庫?我只是想比較JPG轉換器的性能。只有一次交易。 – 2011-05-20 14:22:26
在ImageMagic.Thanks中結束使用Windows解決方案 – 2011-05-20 14:35:39
那麼爲什麼你不能直接使用ImageMagick命令行工具呢?
請注意,在compare
的幫助下比較2張不同的圖像只會導致有意義的結果,如果兩者具有相同的像素尺寸(寬x高)。 compare
做逐個像素的比較。
這是我會怎麼做:
compare \
-verbose \
-debug coder \
-log "%u %m:%l %e" \
orig1.png \
orig2.jpeg \
-compose src \
diff.png
這個命令,2個圖像作爲輸入:orig1.png
和orig2.jpeg
。它生成diff.png
作爲輸出。它也給你一些調試信息stdout。輸出圖像的所有像素呈紅色,並且輸入之間不同。
另一種可能性是該修改命令:
compare \
-verbose \
-debug coder \
-log "%u %m:%l %e" \
orig1.png \
orig2.jpeg \
-compose difference \
diff.png
它可視化以另一種方式的差異。你也可以不寫的差異文件,但是說比較打開一個窗口,並顯示在屏幕上的差異:
compare \
-verbose \
-debug coder \
-log "%u %m:%l %e" \
orig1.png \
orig2.jpeg \
-compose difference \
x:
我的博客文章更多的是JPEG quality and what is the difference of ImageMagick and Lightroom,但你可以找到有用的命令行,做所需要的比較:
composite image1.ext image2.ext -compose difference diff.png
確保您使用巴紐(或gif或其它無損格式)作爲輸出圖像,因爲首先你有興趣的差異,和.jpg將扭曲它作爲一個照片。
- 1. 的Java保存原始JPEG無損耗
- 2. node-imagemagick與node-gm比較如何?
- 3. JPEG到PNG轉換
- 4. 原始位圖數據爲JPEG或PNG C++
- 5. Magick.NET讀取原始和寫入無損JPEG
- 6. Rails:SVG到PNG使用imagemagick/RMagick
- 7. 比較喜歡原始類型Java中
- 8. 比較原始和簡化TIN
- 9. MagickNet PNG透明度到JPEG
- 10. ImageMagick不轉換JPEG
- 11. ImageMagick和PNG
- 12. 在PowerShell中使用ImageMagick將* .WDP文件轉換爲PNG/JPEG
- 13. 將Imagemagick/GhostScript轉換爲jpeg/png忽略pdf背景
- 14. 如何比較Java中的原始時間?
- 15. 如何檢查反轉比較器和原始的相等性?
- 16. 如何比較兩個枚舉實例與NO原始類型?
- 17. 操作原始PNG數據
- 18. tiff lzw壓縮比原始jpeg壓縮大10倍
- 19. 如何解碼從Assimp到CGImage的原始PNG數據?
- 20. 轉換PDF文件到jpeg與ImageMagick的
- 21. png文件壓縮爲jpeg時全黑。這是因爲PNG是無損的嗎?
- 22. Imagemagick convert pdf to png
- 23. 透明PNG imagemagick passthru
- 24. 是否有一個庫來比較原始類型值?
- 25. 如何做原子比較和增量?
- 26. 如何檢測無損JPEG 2000壓縮?
- 27. libjpeg和無損JPEG
- 28. 如何將較大的jpeg裁剪成較小的瓷磚jpeg?
- 29. 只顯示差異使用imagemagick比較
- 30. ImageMagick比較shell腳本似乎掛起
請注意雖然這種工具可以幫助您找到差異,即使您將它分解爲PSNR delta ...也沒有什麼可以模擬人類的感知。這種損失是否令人反感最終成爲人類眼中的問題。舉例來說,音頻壓縮(是的...這是音頻感知)。這一般通過拋出中端...但通常不明顯。如果你拿到最高的數據並丟掉一半的數據......它仍然會更令人討厭/明顯地丟掉中頻。 – 2011-05-21 23:32:02
@John Green,這是對感性音頻編碼的糟糕描述。 – 2011-05-22 08:42:57
@Wizard先生 - 你可能是對的。我的寫作遭遇了有限的成功。 :) – 2011-05-22 10:51:01