2012-09-19 20 views
2

原始圖像: http://www.tiaoyue.com/img/_test/original.jpg (2,457字節)ImageMagick的調整:難道真的沒有爲 「僅收縮較大」 的情況下

嘗試通過ImageMagick的獲得縮略圖:

convert \ 
    http://www.tiaoyue.com/img/_test/original.jpg \ 
    -thumbnail 200x200\> \ 
    SecondaryCompression.jpg 

或者在Windows中:

convert^
    http://www.tiaoyue.com/img/_test/original.jpg^
    -thumbnail 200x200^>^
    SecondaryCompression.jpg 

獲取文件: SecondaryCompression.jpg (2,452字節)

我可以得到目標文件(SecondaryCompression.jpg)無二次壓縮,只有原始圖像的複製? (圖像的2,457字節

參考:

回答

1

與你的 '轉換' 命令真正的問題是該文件經歷了「二次壓縮',就像你所說的那樣。

真正的問題是一些像素的顏色值變化非常輕微(這反過來確實會使整個文件的壓縮效果更好,甚至更糟)。

因此,您應該研究如何防止顏色變化!

爲了證明+驗證每個單個像素的顏色的變化,運行這些命令:

convert http://www.tiaoyue.com/img/_test/original.jpg original.txt 
convert SecondaryCompression.jpg      SecondaryCompression.txt 
sdiff -sbB SecondaryCompression.txt original.txt 

提示:convert的TXT輸出格式是每個像素和其的座標位置的文本表示相應的顏色值(這些值以3種不同的方式給出:十進制RGB(或CMYK)值,十六進制RGB(或CMYK)值,人類可讀的顏色名稱(如果可能))如果您看到格式一次,立即

可以確定在t總共1415個像素已經改變了顏色值,總共7500個像素。這是18.86%的像素改變。

要創建像素差的視覺表示,運行:

compare original.jpg SecondaryCompression.jpg    delta1.jpg 
compare original.jpg SecondaryCompression.jpg -compose src delta2.jpg 

  delta1.jpg       delta2.jpg         original.jpg         SecondaryCompression.jpg

第一圖像(最左邊的)繪製紅色中具有不同顏色值的像素,將original.jpg用作淺灰色背景圖像。

第二張圖像(delta2.jpg,左起第二個)僅繪製紅色中具有不同顏色的像素,並繪製與白色像素相同的顏色值。

第三張圖像(右起第二張)是您的原始JPEG。第四個(最右邊)是你的'未改變'的縮略圖(實際上對於一些像素有一些細微的改變)。

我現在沒有時間調查輕微顏色變化的原因(並且不能從我的頭頂給出理由),但稍後可能會返回到此主題。

+0

這對我很有幫助,謝謝@ Kurt-Pfeifle – Koerr

+0

我不明白這是如何回答這個問題的;它看起來像是一個更徹底的問題描述。 @Zenofo,你最終做了什麼解決方案? –

+0

@ændrük我判斷原始圖像的寬度,如果小於200像素 – Koerr

相關問題