2014-12-03 118 views
14

我想使用ImageMagick實現最大壓縮無損PNG。我正在做許多PSD的批量轉換。ImageMagick:PNG的無損最大壓縮?

我嘗試了幾件事情,雖然我的妻子看不到它,但在我看來,圖像不像原始圖像那麼銳利。

這些都是當前參數我玩:

convert -depth 24 -define png:compression-filter=1 \ 
    -define png:compression-level=9 -define png:compression-strategy=2 

據: http://www.imagemagick.org/script/command-line-options.php#define

而且http://www.w3.org/TR/PNG-Filters.html

這意味着:

  • 壓縮過濾器是1( Sub)
  • 最大壓縮級9
  • 壓縮策略2 HUFFMAN_ONLY(所以沒有濾波,雖然該壓縮過濾器應是無損的)

根據文檔:「有效值是0到4,這意味着默認情況下,過濾,huffman_only,rle和固定的ZLIB壓縮策略。如果您正在使用不支持Z_RLE(1.2.0之前)或Z_FIXED(1.2.2.2之前)的舊zlib,則值3和4分別將使用zlib默認策略。「

BTW,我的圖像是960x720像素

(如果我使用壓縮策略0默認值,我會得到更大的文件,這可能是壓縮過濾器9和壓縮策略0生成較小尺寸的圖像,仍然不確定它是否是無損。與否)

問題:

  1. 這是無損壓縮嗎?如果不是,那麼錯誤在哪裏?
  2. 任何想法如何實現更好的無損壓縮?
+0

你有沒有試過'pngcrush'?如果是這樣,你有比較這與ImageMagick的結果嗎? – 2014-12-03 10:04:07

+3

所有模式都是無損的,PNG在設計上是無損的 – leonbloy 2015-08-06 19:32:53

回答

35

我認爲您處於或超出ImageMagick文檔的限制,並希望建議您根據經驗確定您的答案 - 或者如果確實得到明確答案,您至少可以憑經驗對其進行測試。

我沒有訪問您的圖像,所以我自己生成了一個參考圖像,如下所示。它包含一個容易壓縮的單色塊(紅色),黑白漸變和一堆噪音,所以有些東西可以使大多數壓縮類型在那裏變得快樂或不快樂。

enter image description here

爲了測試你是否有無損壓縮,我建議你轉換圖像格式PPM - 見​​。這不包含日期,時間或統計數據,也不包含純粹的圖像數據和大小,而是以非常簡單的格式 - 從而可以比較像素值是否通過壓縮而發生了變化。

然後我寫了一個腳本如下壓縮使用所有可能的過濾器,策略和水平看到的filesizes參考圖像,如果他們遭受的任何損失,因此從參考PPM圖像不同:

這裏是腳本:

#!/bin/bash 
convert -depth 24 -size 200x200 xc:red gradient:black-white \(xc:white +noise random \) +append reference.png 
convert reference.png reference.ppm 
for f in {0..5}; do 
    for l in {0..9}; do 
     for s in {0..4}; do 
     outfile="out_${f}_${l}_${s}.png" 
     convert reference.png -define png:compression-filter=$f -define png:compression-level=$l -define png:compression-strategy=$s "$outfile" 
     size=$(OSXFileSize "$outfile") 
     echo filter:$f, level:$l, strategy:$s, size:$size 
     convert "$outfile" "$outfile.ppm" 
     diff "$outfile.ppm" reference.ppm 
     done 
    done 
done 

所有的文件比較相同,所以似乎沒有任何壓縮損失與我使用的任何參數。大小出來如下:

filter:0, level:0, strategy:0, size:720796 
filter:0, level:0, strategy:1, size:720796 
filter:0, level:0, strategy:2, size:720801 
filter:0, level:0, strategy:3, size:718136 
filter:0, level:0, strategy:4, size:720796 
filter:0, level:1, strategy:0, size:246377 
filter:0, level:1, strategy:1, size:246377 
filter:0, level:1, strategy:2, size:524864 
filter:0, level:1, strategy:3, size:517549 
filter:0, level:1, strategy:4, size:259348 
filter:0, level:2, strategy:0, size:246377 
filter:0, level:2, strategy:1, size:246377 
filter:0, level:2, strategy:2, size:524864 
filter:0, level:2, strategy:3, size:517549 
filter:0, level:2, strategy:4, size:259348 
filter:0, level:3, strategy:0, size:246377 
filter:0, level:3, strategy:1, size:246377 
filter:0, level:3, strategy:2, size:524864 
filter:0, level:3, strategy:3, size:517549 
filter:0, level:3, strategy:4, size:259348 
filter:0, level:4, strategy:0, size:244894 
filter:0, level:4, strategy:1, size:244859 
filter:0, level:4, strategy:2, size:524864 
filter:0, level:4, strategy:3, size:517549 
filter:0, level:4, strategy:4, size:258039 
filter:0, level:5, strategy:0, size:244916 
filter:0, level:5, strategy:1, size:244881 
filter:0, level:5, strategy:2, size:524864 
filter:0, level:5, strategy:3, size:517549 
filter:0, level:5, strategy:4, size:258064 
filter:0, level:6, strategy:0, size:244916 
filter:0, level:6, strategy:1, size:244881 
filter:0, level:6, strategy:2, size:524864 
filter:0, level:6, strategy:3, size:517549 
filter:0, level:6, strategy:4, size:258064 
filter:0, level:7, strategy:0, size:244916 
filter:0, level:7, strategy:1, size:244881 
filter:0, level:7, strategy:2, size:524864 
filter:0, level:7, strategy:3, size:517549 
filter:0, level:7, strategy:4, size:258064 
filter:0, level:8, strategy:0, size:244433 
filter:0, level:8, strategy:1, size:244405 
filter:0, level:8, strategy:2, size:524864 
filter:0, level:8, strategy:3, size:517549 
filter:0, level:8, strategy:4, size:257674 
filter:0, level:9, strategy:0, size:244433 
filter:0, level:9, strategy:1, size:244405 
filter:0, level:9, strategy:2, size:524864 
filter:0, level:9, strategy:3, size:517549 
filter:0, level:9, strategy:4, size:257674 
filter:1, level:0, strategy:0, size:720796 
filter:1, level:0, strategy:1, size:720796 
filter:1, level:0, strategy:2, size:720801 
filter:1, level:0, strategy:3, size:286904 
filter:1, level:0, strategy:4, size:720796 
filter:1, level:1, strategy:0, size:247643 
filter:1, level:1, strategy:1, size:247643 
filter:1, level:1, strategy:2, size:331829 
filter:1, level:1, strategy:3, size:245708 
filter:1, level:1, strategy:4, size:260505 
filter:1, level:2, strategy:0, size:247375 
filter:1, level:2, strategy:1, size:247375 
filter:1, level:2, strategy:2, size:331829 
filter:1, level:2, strategy:3, size:245708 
filter:1, level:2, strategy:4, size:260452 
filter:1, level:3, strategy:0, size:247375 
filter:1, level:3, strategy:1, size:247375 
filter:1, level:3, strategy:2, size:331829 
filter:1, level:3, strategy:3, size:245708 
filter:1, level:3, strategy:4, size:260452 
filter:1, level:4, strategy:0, size:245515 
filter:1, level:4, strategy:1, size:245489 
filter:1, level:4, strategy:2, size:331829 
filter:1, level:4, strategy:3, size:245708 
filter:1, level:4, strategy:4, size:258810 
filter:1, level:5, strategy:0, size:245544 
filter:1, level:5, strategy:1, size:245519 
filter:1, level:5, strategy:2, size:331829 
filter:1, level:5, strategy:3, size:245708 
filter:1, level:5, strategy:4, size:258835 
filter:1, level:6, strategy:0, size:245597 
filter:1, level:6, strategy:1, size:245570 
filter:1, level:6, strategy:2, size:331829 
filter:1, level:6, strategy:3, size:245708 
filter:1, level:6, strategy:4, size:258885 
filter:1, level:7, strategy:0, size:245597 
filter:1, level:7, strategy:1, size:245570 
filter:1, level:7, strategy:2, size:331829 
filter:1, level:7, strategy:3, size:245708 
filter:1, level:7, strategy:4, size:258885 
filter:1, level:8, strategy:0, size:245251 
filter:1, level:8, strategy:1, size:245230 
filter:1, level:8, strategy:2, size:331829 
filter:1, level:8, strategy:3, size:245708 
filter:1, level:8, strategy:4, size:258587 
filter:1, level:9, strategy:0, size:245267 
filter:1, level:9, strategy:1, size:245254 
filter:1, level:9, strategy:2, size:331829 
filter:1, level:9, strategy:3, size:245708 
filter:1, level:9, strategy:4, size:258589 
filter:2, level:0, strategy:0, size:720796 
filter:2, level:0, strategy:1, size:720796 
filter:2, level:0, strategy:2, size:720801 
filter:2, level:0, strategy:3, size:628470 
filter:2, level:0, strategy:4, size:720796 
filter:2, level:1, strategy:0, size:246114 
filter:2, level:1, strategy:1, size:246114 
filter:2, level:1, strategy:2, size:439545 
filter:2, level:1, strategy:3, size:358177 
filter:2, level:1, strategy:4, size:258999 
filter:2, level:2, strategy:0, size:246114 
filter:2, level:2, strategy:1, size:246114 
filter:2, level:2, strategy:2, size:439545 
filter:2, level:2, strategy:3, size:358177 
filter:2, level:2, strategy:4, size:258999 
filter:2, level:3, strategy:0, size:246114 
filter:2, level:3, strategy:1, size:246114 
filter:2, level:3, strategy:2, size:439545 
filter:2, level:3, strategy:3, size:358177 
filter:2, level:3, strategy:4, size:258999 
filter:2, level:4, strategy:0, size:244701 
filter:2, level:4, strategy:1, size:244679 
filter:2, level:4, strategy:2, size:439545 
filter:2, level:4, strategy:3, size:358177 
filter:2, level:4, strategy:4, size:257722 
filter:2, level:5, strategy:0, size:244721 
filter:2, level:5, strategy:1, size:244700 
filter:2, level:5, strategy:2, size:439545 
filter:2, level:5, strategy:3, size:358177 
filter:2, level:5, strategy:4, size:257744 
filter:2, level:6, strategy:0, size:244727 
filter:2, level:6, strategy:1, size:244704 
filter:2, level:6, strategy:2, size:439545 
filter:2, level:6, strategy:3, size:358177 
filter:2, level:6, strategy:4, size:257744 
filter:2, level:7, strategy:0, size:244727 
filter:2, level:7, strategy:1, size:244704 
filter:2, level:7, strategy:2, size:439545 
filter:2, level:7, strategy:3, size:358177 
filter:2, level:7, strategy:4, size:257744 
filter:2, level:8, strategy:0, size:244340 
filter:2, level:8, strategy:1, size:244322 
filter:2, level:8, strategy:2, size:439545 
filter:2, level:8, strategy:3, size:358177 
filter:2, level:8, strategy:4, size:257436 
filter:2, level:9, strategy:0, size:244155 
filter:2, level:9, strategy:1, size:244130 
filter:2, level:9, strategy:2, size:439545 
filter:2, level:9, strategy:3, size:358177 
filter:2, level:9, strategy:4, size:257298 
filter:3, level:0, strategy:0, size:720796 
filter:3, level:0, strategy:1, size:720796 
filter:3, level:0, strategy:2, size:720801 
filter:3, level:0, strategy:3, size:600694 
filter:3, level:0, strategy:4, size:720796 
filter:3, level:1, strategy:0, size:247741 
filter:3, level:1, strategy:1, size:247741 
filter:3, level:1, strategy:2, size:429487 
filter:3, level:1, strategy:3, size:346943 
filter:3, level:1, strategy:4, size:260468 
filter:3, level:2, strategy:0, size:247711 
filter:3, level:2, strategy:1, size:247711 
filter:3, level:2, strategy:2, size:429487 
filter:3, level:2, strategy:3, size:346943 
filter:3, level:2, strategy:4, size:260444 
filter:3, level:3, strategy:0, size:247463 
filter:3, level:3, strategy:1, size:247463 
filter:3, level:3, strategy:2, size:429487 
filter:3, level:3, strategy:3, size:346943 
filter:3, level:3, strategy:4, size:260331 
filter:3, level:4, strategy:0, size:245681 
filter:3, level:4, strategy:1, size:245659 
filter:3, level:4, strategy:2, size:429487 
filter:3, level:4, strategy:3, size:346943 
filter:3, level:4, strategy:4, size:258797 
filter:3, level:5, strategy:0, size:245685 
filter:3, level:5, strategy:1, size:245663 
filter:3, level:5, strategy:2, size:429487 
filter:3, level:5, strategy:3, size:346943 
filter:3, level:5, strategy:4, size:258796 
filter:3, level:6, strategy:0, size:245686 
filter:3, level:6, strategy:1, size:245665 
filter:3, level:6, strategy:2, size:429487 
filter:3, level:6, strategy:3, size:346943 
filter:3, level:6, strategy:4, size:258796 
filter:3, level:7, strategy:0, size:245686 
filter:3, level:7, strategy:1, size:245665 
filter:3, level:7, strategy:2, size:429487 
filter:3, level:7, strategy:3, size:346943 
filter:3, level:7, strategy:4, size:258796 
filter:3, level:8, strategy:0, size:245474 
filter:3, level:8, strategy:1, size:245458 
filter:3, level:8, strategy:2, size:429487 
filter:3, level:8, strategy:3, size:346943 
filter:3, level:8, strategy:4, size:258628 
filter:3, level:9, strategy:0, size:245508 
filter:3, level:9, strategy:1, size:245491 
filter:3, level:9, strategy:2, size:429487 
filter:3, level:9, strategy:3, size:346943 
filter:3, level:9, strategy:4, size:258639 
filter:4, level:0, strategy:0, size:720796 
filter:4, level:0, strategy:1, size:720796 
filter:4, level:0, strategy:2, size:720801 
filter:4, level:0, strategy:3, size:284043 
filter:4, level:0, strategy:4, size:720796 
filter:4, level:1, strategy:0, size:246892 
filter:4, level:1, strategy:1, size:246892 
filter:4, level:1, strategy:2, size:331489 
filter:4, level:1, strategy:3, size:245305 
filter:4, level:1, strategy:4, size:259428 
filter:4, level:2, strategy:0, size:246299 
filter:4, level:2, strategy:1, size:246299 
filter:4, level:2, strategy:2, size:331489 
filter:4, level:2, strategy:3, size:245305 
filter:4, level:2, strategy:4, size:259021 
filter:4, level:3, strategy:0, size:246316 
filter:4, level:3, strategy:1, size:246316 
filter:4, level:3, strategy:2, size:331489 
filter:4, level:3, strategy:3, size:245305 
filter:4, level:3, strategy:4, size:259026 
filter:4, level:4, strategy:0, size:244335 
filter:4, level:4, strategy:1, size:244259 
filter:4, level:4, strategy:2, size:331489 
filter:4, level:4, strategy:3, size:245305 
filter:4, level:4, strategy:4, size:257491 
filter:4, level:5, strategy:0, size:244343 
filter:4, level:5, strategy:1, size:244260 
filter:4, level:5, strategy:2, size:331489 
filter:4, level:5, strategy:3, size:245305 
filter:4, level:5, strategy:4, size:257494 
filter:4, level:6, strategy:0, size:244350 
filter:4, level:6, strategy:1, size:244262 
filter:4, level:6, strategy:2, size:331489 
filter:4, level:6, strategy:3, size:245305 
filter:4, level:6, strategy:4, size:257500 
filter:4, level:7, strategy:0, size:244350 
filter:4, level:7, strategy:1, size:244262 
filter:4, level:7, strategy:2, size:331489 
filter:4, level:7, strategy:3, size:245305 
filter:4, level:7, strategy:4, size:257500 
filter:4, level:8, strategy:0, size:244282 
filter:4, level:8, strategy:1, size:244251 
filter:4, level:8, strategy:2, size:331489 
filter:4, level:8, strategy:3, size:245305 
filter:4, level:8, strategy:4, size:257461 
filter:4, level:9, strategy:0, size:244321 
filter:4, level:9, strategy:1, size:244284 
filter:4, level:9, strategy:2, size:331489 
filter:4, level:9, strategy:3, size:245305 
filter:4, level:9, strategy:4, size:257473 
filter:5, level:0, strategy:0, size:720796 
filter:5, level:0, strategy:1, size:720796 
filter:5, level:0, strategy:2, size:720801 
filter:5, level:0, strategy:3, size:287526 
filter:5, level:0, strategy:4, size:720796 
filter:5, level:1, strategy:0, size:247117 
filter:5, level:1, strategy:1, size:247117 
filter:5, level:1, strategy:2, size:331910 
filter:5, level:1, strategy:3, size:246241 
filter:5, level:1, strategy:4, size:259811 
filter:5, level:2, strategy:0, size:246903 
filter:5, level:2, strategy:1, size:246903 
filter:5, level:2, strategy:2, size:331910 
filter:5, level:2, strategy:3, size:246241 
filter:5, level:2, strategy:4, size:259757 
filter:5, level:3, strategy:0, size:246976 
filter:5, level:3, strategy:1, size:246976 
filter:5, level:3, strategy:2, size:331910 
filter:5, level:3, strategy:3, size:246241 
filter:5, level:3, strategy:4, size:259742 
filter:5, level:4, strategy:0, size:245005 
filter:5, level:4, strategy:1, size:244969 
filter:5, level:4, strategy:2, size:331910 
filter:5, level:4, strategy:3, size:246241 
filter:5, level:4, strategy:4, size:258135 
filter:5, level:5, strategy:0, size:245025 
filter:5, level:5, strategy:1, size:244985 
filter:5, level:5, strategy:2, size:331910 
filter:5, level:5, strategy:3, size:246241 
filter:5, level:5, strategy:4, size:258149 
filter:5, level:6, strategy:0, size:245056 
filter:5, level:6, strategy:1, size:245009 
filter:5, level:6, strategy:2, size:331910 
filter:5, level:6, strategy:3, size:246241 
filter:5, level:6, strategy:4, size:258176 
filter:5, level:7, strategy:0, size:245056 
filter:5, level:7, strategy:1, size:245009 
filter:5, level:7, strategy:2, size:331910 
filter:5, level:7, strategy:3, size:246241 
filter:5, level:7, strategy:4, size:258176 
filter:5, level:8, strategy:0, size:244838 
filter:5, level:8, strategy:1, size:244841 
filter:5, level:8, strategy:2, size:331910 
filter:5, level:8, strategy:3, size:246241 
filter:5, level:8, strategy:4, size:258009 
filter:5, level:9, strategy:0, size:244857 
filter:5, level:9, strategy:1, size:244857 
filter:5, level:9, strategy:2, size:331910 
filter:5, level:9, strategy:3, size:246241 
filter:5, level:9, strategy:4, size:258009 

顯然,您的數字會有所不同,因爲你的圖像是不同的,所以你必須要看到你的數據是什麼在起作用 - 但希望這將是一個起點。

需要注意的是,如果我按大小排序上面,我得到這個:

filter:2, level:9, strategy:1, size:244127 
filter:2, level:9, strategy:0, size:244156 
filter:4, level:8, strategy:1, size:244251 
filter:4, level:4, strategy:1, size:244258 
filter:4, level:5, strategy:1, size:244260 
filter:4, level:6, strategy:1, size:244262 
filter:4, level:7, strategy:1, size:244262 
filter:4, level:8, strategy:0, size:244283 
filter:4, level:9, strategy:1, size:244285 
filter:2, level:8, strategy:1, size:244319 
filter:4, level:9, strategy:0, size:244321 
filter:4, level:4, strategy:0, size:244333 
filter:2, level:8, strategy:0, size:244341 
filter:4, level:5, strategy:0, size:244341 
filter:4, level:6, strategy:0, size:244350 
filter:4, level:7, strategy:0, size:244350 
filter:0, level:8, strategy:1, size:244408 
filter:0, level:9, strategy:1, size:244408 
filter:0, level:8, strategy:0, size:244442 
filter:0, level:9, strategy:0, size:244442 
filter:2, level:4, strategy:1, size:244677 
filter:2, level:5, strategy:1, size:244699 
filter:2, level:4, strategy:0, size:244701 
filter:2, level:6, strategy:1, size:244704 
filter:2, level:7, strategy:1, size:244704 
filter:2, level:5, strategy:0, size:244723 
filter:2, level:6, strategy:0, size:244729 
filter:2, level:7, strategy:0, size:244729 
filter:5, level:8, strategy:1, size:244813 
filter:5, level:8, strategy:0, size:244822 
filter:5, level:9, strategy:1, size:244840 
filter:5, level:9, strategy:0, size:244853 
filter:0, level:4, strategy:1, size:244860 
filter:0, level:5, strategy:1, size:244885 
filter:0, level:6, strategy:1, size:244885 
filter:0, level:7, strategy:1, size:244885 
filter:0, level:4, strategy:0, size:244897 
filter:0, level:5, strategy:0, size:244922 
filter:0, level:6, strategy:0, size:244922 
filter:0, level:7, strategy:0, size:244922 
filter:5, level:4, strategy:1, size:244940 
filter:5, level:5, strategy:1, size:244956 
filter:5, level:6, strategy:1, size:244980 
filter:5, level:7, strategy:1, size:244980 
filter:5, level:4, strategy:0, size:244982 
filter:5, level:5, strategy:0, size:245000 
filter:5, level:6, strategy:0, size:245030 
filter:5, level:7, strategy:0, size:245030 
filter:1, level:8, strategy:1, size:245243 
filter:1, level:9, strategy:1, size:245245 
filter:1, level:8, strategy:0, size:245267 
filter:1, level:9, strategy:0, size:245270 
filter:4, level:1, strategy:3, size:245307 
filter:4, level:2, strategy:3, size:245307 
filter:4, level:3, strategy:3, size:245307 
filter:4, level:4, strategy:3, size:245307 
filter:4, level:5, strategy:3, size:245307 
filter:4, level:6, strategy:3, size:245307 
filter:4, level:7, strategy:3, size:245307 
filter:4, level:8, strategy:3, size:245307 
filter:4, level:9, strategy:3, size:245307 
filter:3, level:8, strategy:1, size:245460 
filter:5, level:1, strategy:3, size:245469 
filter:5, level:2, strategy:3, size:245469 
filter:5, level:3, strategy:3, size:245469 
filter:5, level:4, strategy:3, size:245469 
filter:5, level:5, strategy:3, size:245469 
filter:5, level:6, strategy:3, size:245469 
filter:5, level:7, strategy:3, size:245469 
filter:5, level:8, strategy:3, size:245469 
filter:5, level:9, strategy:3, size:245469 
filter:3, level:8, strategy:0, size:245487 
filter:3, level:9, strategy:1, size:245493 
filter:1, level:4, strategy:1, size:245503 
filter:3, level:9, strategy:0, size:245521 
filter:1, level:4, strategy:0, size:245529 
filter:1, level:5, strategy:1, size:245533 
filter:1, level:5, strategy:0, size:245559 
filter:1, level:6, strategy:1, size:245584 
filter:1, level:7, strategy:1, size:245584 
filter:1, level:6, strategy:0, size:245606 
filter:1, level:7, strategy:0, size:245606 
filter:3, level:4, strategy:1, size:245663 
filter:3, level:5, strategy:1, size:245668 
filter:3, level:6, strategy:1, size:245669 
filter:3, level:7, strategy:1, size:245669 
filter:3, level:4, strategy:0, size:245696 
filter:3, level:5, strategy:0, size:245700 
filter:3, level:6, strategy:0, size:245701 
filter:3, level:7, strategy:0, size:245701 
filter:1, level:1, strategy:3, size:245704 
filter:1, level:2, strategy:3, size:245704 
filter:1, level:3, strategy:3, size:245704 
filter:1, level:4, strategy:3, size:245704 
filter:1, level:5, strategy:3, size:245704 
filter:1, level:6, strategy:3, size:245704 
filter:1, level:7, strategy:3, size:245704 
filter:1, level:8, strategy:3, size:245704 
filter:1, level:9, strategy:3, size:245704 
filter:2, level:1, strategy:0, size:245967 
filter:2, level:1, strategy:1, size:245967 
filter:2, level:2, strategy:0, size:245967 
filter:2, level:2, strategy:1, size:245967 
filter:2, level:3, strategy:0, size:245967 
filter:2, level:3, strategy:1, size:245967 
filter:4, level:2, strategy:0, size:246294 
filter:4, level:2, strategy:1, size:246294 
filter:4, level:3, strategy:0, size:246309 
filter:4, level:3, strategy:1, size:246309 
filter:0, level:1, strategy:0, size:246391 
filter:0, level:1, strategy:1, size:246391 
filter:0, level:2, strategy:0, size:246391 
filter:0, level:2, strategy:1, size:246391 
filter:0, level:3, strategy:0, size:246391 
filter:0, level:3, strategy:1, size:246391 
filter:4, level:1, strategy:0, size:246407 
filter:4, level:1, strategy:1, size:246407 
filter:5, level:2, strategy:0, size:246920 
filter:5, level:2, strategy:1, size:246920 
filter:5, level:1, strategy:0, size:246926 
filter:5, level:1, strategy:1, size:246926 
filter:5, level:3, strategy:0, size:246955 
filter:5, level:3, strategy:1, size:246955 
filter:1, level:2, strategy:0, size:247380 
filter:1, level:2, strategy:1, size:247380 
filter:1, level:3, strategy:0, size:247380 
filter:1, level:3, strategy:1, size:247380 
filter:3, level:1, strategy:0, size:247619 
filter:3, level:1, strategy:1, size:247619 
filter:3, level:2, strategy:0, size:247704 
filter:3, level:2, strategy:1, size:247704 
filter:3, level:3, strategy:0, size:247725 
filter:3, level:3, strategy:1, size:247725 
filter:1, level:1, strategy:0, size:247811 
filter:1, level:1, strategy:1, size:247811 
filter:2, level:9, strategy:4, size:257312 
filter:2, level:8, strategy:4, size:257451 
filter:4, level:8, strategy:4, size:257506 
filter:4, level:9, strategy:4, size:257519 
filter:4, level:4, strategy:4, size:257536 
filter:4, level:5, strategy:4, size:257539 
filter:4, level:6, strategy:4, size:257546 
filter:4, level:7, strategy:4, size:257546 
filter:0, level:8, strategy:4, size:257721 
filter:0, level:9, strategy:4, size:257721 
filter:2, level:4, strategy:4, size:257737 
filter:2, level:5, strategy:4, size:257759 
filter:2, level:6, strategy:4, size:257759 
filter:2, level:7, strategy:4, size:257759 
filter:5, level:8, strategy:4, size:258068 
filter:5, level:9, strategy:4, size:258075 
filter:0, level:4, strategy:4, size:258081 
filter:0, level:5, strategy:4, size:258105 
filter:0, level:6, strategy:4, size:258105 
filter:0, level:7, strategy:4, size:258105 
filter:5, level:4, strategy:4, size:258190 
filter:5, level:5, strategy:4, size:258203 
filter:5, level:6, strategy:4, size:258230 
filter:5, level:7, strategy:4, size:258230 
filter:3, level:8, strategy:4, size:258614 
filter:1, level:8, strategy:4, size:258625 
filter:1, level:9, strategy:4, size:258625 
filter:3, level:9, strategy:4, size:258626 
filter:3, level:5, strategy:4, size:258783 
filter:3, level:6, strategy:4, size:258783 
filter:3, level:7, strategy:4, size:258783 
filter:3, level:4, strategy:4, size:258784 
filter:1, level:4, strategy:4, size:258847 
filter:1, level:5, strategy:4, size:258872 
filter:1, level:6, strategy:4, size:258922 
filter:1, level:7, strategy:4, size:258922 
filter:2, level:1, strategy:4, size:258953 
filter:2, level:2, strategy:4, size:258953 
filter:2, level:3, strategy:4, size:258953 
filter:4, level:2, strategy:4, size:259066 
filter:4, level:3, strategy:4, size:259070 
filter:4, level:1, strategy:4, size:259143 
filter:0, level:1, strategy:4, size:259394 
filter:0, level:2, strategy:4, size:259394 
filter:0, level:3, strategy:4, size:259394 
filter:5, level:3, strategy:4, size:259786 
filter:5, level:2, strategy:4, size:259810 
filter:5, level:1, strategy:4, size:259811 
filter:3, level:1, strategy:4, size:260389 
filter:3, level:2, strategy:4, size:260449 
filter:3, level:3, strategy:4, size:260473 
filter:1, level:2, strategy:4, size:260490 
filter:1, level:3, strategy:4, size:260490 
filter:1, level:1, strategy:4, size:260568 
filter:4, level:0, strategy:3, size:284075 
filter:5, level:0, strategy:3, size:284320 
filter:1, level:0, strategy:3, size:286960 
filter:4, level:1, strategy:2, size:331440 
filter:4, level:2, strategy:2, size:331440 
filter:4, level:3, strategy:2, size:331440 
filter:4, level:4, strategy:2, size:331440 
filter:4, level:5, strategy:2, size:331440 
filter:4, level:6, strategy:2, size:331440 
filter:4, level:7, strategy:2, size:331440 
filter:4, level:8, strategy:2, size:331440 
filter:4, level:9, strategy:2, size:331440 
filter:5, level:1, strategy:2, size:331550 
filter:5, level:2, strategy:2, size:331550 
filter:5, level:3, strategy:2, size:331550 
filter:5, level:4, strategy:2, size:331550 
filter:5, level:5, strategy:2, size:331550 
filter:5, level:6, strategy:2, size:331550 
filter:5, level:7, strategy:2, size:331550 
filter:5, level:8, strategy:2, size:331550 
filter:5, level:9, strategy:2, size:331550 
filter:1, level:1, strategy:2, size:331823 
filter:1, level:2, strategy:2, size:331823 
filter:1, level:3, strategy:2, size:331823 
filter:1, level:4, strategy:2, size:331823 
filter:1, level:5, strategy:2, size:331823 
filter:1, level:6, strategy:2, size:331823 
filter:1, level:7, strategy:2, size:331823 
filter:1, level:8, strategy:2, size:331823 
filter:1, level:9, strategy:2, size:331823 
filter:3, level:1, strategy:3, size:346952 
filter:3, level:2, strategy:3, size:346952 
filter:3, level:3, strategy:3, size:346952 
filter:3, level:4, strategy:3, size:346952 
filter:3, level:5, strategy:3, size:346952 
filter:3, level:6, strategy:3, size:346952 
filter:3, level:7, strategy:3, size:346952 
filter:3, level:8, strategy:3, size:346952 
filter:3, level:9, strategy:3, size:346952 
filter:2, level:1, strategy:3, size:358276 
filter:2, level:2, strategy:3, size:358276 
filter:2, level:3, strategy:3, size:358276 
filter:2, level:4, strategy:3, size:358276 
filter:2, level:5, strategy:3, size:358276 
filter:2, level:6, strategy:3, size:358276 
filter:2, level:7, strategy:3, size:358276 
filter:2, level:8, strategy:3, size:358276 
filter:2, level:9, strategy:3, size:358276 
filter:3, level:1, strategy:2, size:429431 
filter:3, level:2, strategy:2, size:429431 
filter:3, level:3, strategy:2, size:429431 
filter:3, level:4, strategy:2, size:429431 
filter:3, level:5, strategy:2, size:429431 
filter:3, level:6, strategy:2, size:429431 
filter:3, level:7, strategy:2, size:429431 
filter:3, level:8, strategy:2, size:429431 
... 
+1

那麼哪種組合可以爲您帶來最小的輸出? (太懶惰滾動和比較自己... :) – 2014-12-03 10:44:07

+0

挑戰:現在想象你的數據集,馬克! :-) – 2014-12-03 10:48:58

+3

哇,這是一個答案。我很驚訝你的想法和你投入的時間。獎勵! – 2014-12-04 10:02:01

23

我不會依賴的ImageMagick只,壓縮PNG圖像時(除非是你自己控制範圍之外的某種原因,迫使你ImageMagick的)。

一個很好的選擇來比較ImageMagick的結果,是pngcrush,還是一個較新的繼任者呢,optipng

這兩個方法在ImageMagick的優化和壓縮方面通常會取得更好的結果。通常情況下,它們也比IM慢,因爲它們可以強制不同的方法,然後只保留最小的結果。

說了這麼多,現在與ImageMagick的...


的標準方法來定義PNG質量convert-quality {level}{filter}參數。

儘管如此,通過使用-define png:...控件的組合,您仍然可以使用更細緻的控件。

-quality對於PNG非常不像JPEG的質量設置(它只是一個從0100的整數)。

對於PNG它是組成 - 由兩個單數字組成:

  • 第一個數字({水平})是(主要)zlib壓縮水平,並且它可以從09
    (然而,0的設置有一個特殊的含義:當你使用它時,你將得到霍夫曼壓縮,而不是zlib壓縮等級0.這通常更好......奇怪但是是真的。)

  • 第二位數({濾波器})PNG數據編碼過濾器類型(它被壓縮前):

    • 0表示無,
    • 1分表示「子」
    • 2裝置 「上」,
    • 3是指 「平均」,
    • 4手段 「Paeth」,和
    • 5表示「自適應」。

以導致實際術語:

  • 對於具有彩色哈夫曼壓縮的固體序列插圖用「無」過濾器(-quality 00)通常是最合適的。
  • 對於自然風景的照片,「自適應」濾波(-quality 05)通常是最好的。

翻譯成你的命令行語法,請嘗試以下設置:

-define png:compression-level=0 \ 
-define png:compression-filter=5 \ 
-define png:compression-strategy=2 

最後,如果我想以後真的比較圖像的不同(但接近)銳度水平壓縮,我經常利用弗雷德溫斯坦的精彩flicker_cmp腳本。

讓你老婆測試... :-)


P.S:Here約爲PNG壓縮的技術問題有很好的指導。

+0

我使用所有三種流行的PNG優化器按照這個確切順序獲得最佳壓縮(是的,它確實有所不同):PNGout,AdvPNG,OptiPNG。 – 10basetom 2016-08-26 09:21:47

5

放氣壓縮算法使用65K的歷史窗口。由於該過程必須比較壓縮流中的字節序列與窗口中的字節序列,所以PNG壓縮比較慢。

您可以通過限制搜索窗口來控制壓縮的速度。您可能只搜索一半的緩衝區來匹配,以加速進程(作爲較低壓縮的風險)。

在JPEG中,折中在質量和大小之間。在PNG壓縮中,折衷在速度和大小之間。

無論如何,PNG壓縮過程總是無損的。

+5

** + 1 **強調*「PNG壓縮永遠是無損的」*和*「折衷之間的壓縮速度和最終大小」*。 – 2014-12-03 20:52:25

3

最好的壓縮我得到如下:

convert wallpsw.png -resize 1024x768 -quality 95 \ 
        -depth 8 wallpsw-q95-r1024x768-d8.png 

結果:

identify wallpsw* 

wallpsw.png PNG 1920x1080 1920x1080+0+0 16-bit DirectClass 4.63MB 0.000u 0:00.000 
wallpsw-q95-r1024x768-d8.png[1] PNG 1024x576 1024x576+0+0 8-bit DirectClass 854KB 0.000u 0:00.000 

如果有人知道一個更好的辦法,請告訴我。我找不到。

+0

你試過了嗎 convert -depth 24 -define png:compression-filter = 2 -define png:compression-level = 9 -define png:compression-strategy = 1 InfectiousDesease1.psd [0] test.png – 2015-07-22 10:29:21

+0

這是命令:convert mkj-by-xylomon-1920x1200.png -depth 24 -define png:compression-filter = 2 -define png:compression-level = 9 -define png:compression-strategy = 1 InfectiousDesease1.psd [0] mkj-by -xylomon-1920x1200-stackoverflow.png並且這是控制檯的輸出: convert.im6:無法打開圖像InfectiousDesease1.psd:沒有存檔或存檔文件或導出文件/錯誤/ blob.c/OpenBlob/2638。 – betomoretti 2015-07-22 15:29:46

+0

用lol代替'InfectiousDesease1.psd [0]'用你的文件名 – 2015-07-23 16:29:33

4

我花了半天的時間玩。我沒有將圖像大小調整爲360x240像素。我得到了最好的結果:

convert -depth 24 -define png:compression-filter=2 \ 
     -define png:compression-level=9 -define png:compression-strategy=1 
+0

用3.1Mb的圖像進行測試,它減少到2.6Mb。這是最好的和絕對最快的方法之一。我已經嘗試optipng和pngcrush +1 – 2016-04-01 04:22:29

+0

出於某種原因,這實際上增加了我的圖像的大小:/ – xtrimsky 2018-02-27 17:34:19