2017-02-25 133 views
0

我有一个大的JPG文件,分辨率为1440x720。这个大小可以分为16,8,4,2。我的MCU模块是16x16。我想缩小这个图像两次,为720x360。有没有办法,如何实现这一点,而不失去质量(除了在调整大小期间丢失像素)?如何无限调整大小(缩小)JPG尺寸为一半

我正在寻找某种类型的命令行工具来执行此操作。到目前为止,我发现jpegtran,但在-scale之后,图像不可读。有一个在jpegtran警告一下:

警告:JPEG SmartScale扩展的实现是此功能需要 。已启用SmartScale的JPEG尚未广泛实现,因此许多解码器根本无法查看扩展JPEG文件的SmartScale 。

是否有任何其他工具或任何其他方式呢?

回答

2

不幸的是没有,但好的新的是它没关系。

JPEG创建8x8和16x16块,并通过忽略高频变化来压缩它们。所以如果丢掉一半的像素,16x16块变成8x8,32x32变成16x16。然后再压缩它们,并且会失去一点质量,因为块之间的边缘会产生高频,并被截断。

但是,只要将JPEG设置为合理的质量级别,您几乎不会注意到这种质量损失,除非您在某处进行按位比较。

(在资源编译器中有一个JPEG编解码器,所以您可以通过摆弄量化表中的系数来设置质量级别。

https://github.com/MalcolmMcLean/babyxrc/blob/master/src/savejpeg.c