ImageMagick resize:真的什么都不做;“只收缩得更大”;案例

ImageMagick resize:真的什么都不做;“只收缩得更大”;案例,imagemagick,imagemagick-convert,Imagemagick,Imagemagick Convert,原始图像: (2457字节) 尝试通过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^&

原始图像: (2457字节)

尝试通过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
获取文件:
secondary compression.jpg
(2452字节)

我是否可以在不进行二次压缩的情况下获取目标文件(SecondaryCompression.jpg),而只获取原始图像的副本?(图像的2457字节)

参考:


您的“convert”命令的真正问题是而不是文件经历了您所称的“二次压缩”

真正的问题是,一些像素的颜色值变化很小(这反过来会使整个文件的压缩效果更好,甚至更差)

因此,您应该首先研究如何防止颜色变化

要记录并验证每个像素的颜色更改,请运行以下命令:

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)值、人类可读的颜色名称(如果可能).如果你只看一次格式,你就会立即理解它

我们可以确定,在总共7500个像素中,总共有1415个像素改变了颜色值,占像素改变的18.86%

要为像素差异创建视觉表示,请运行:

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

第一幅图像(
delta1.jpg
,最左侧)使用原始.jpg作为浅灰色背景图像,以红色绘制具有不同颜色值的像素

第二幅图像(
delta2.jpg
,左起第二幅)仅绘制具有不同颜色的红色像素,并绘制与白色像素相同的颜色值

第三幅图像(右二幅)是原始JPEG图像。第四幅图像(最右侧)是“未更改”的缩略图(实际上,某些像素会发生细微变化)


我现在没有时间去调查这些轻微颜色变化的原因(我也无法从头顶上说出原因),但稍后可能会回到这个话题。

我不明白这是如何回答这个问题的;它只是看起来更全面地描述了这个问题。@Zenofo,你最终做了什么来解决问题?@ændrük我判断原始图像的宽度,如果小于200像素,跳过