我目前正在使用 C++ 实现 jpeg resizerjpeglib-turbo图书馆。
我的目标是使用该库进行 JPEG 解压缩和重新压缩 100 毫秒。使用推荐的优化设置(记录在 jpeglib-turbo use.txt 中)我能想到的最好时间是 320 毫秒左右,所以我想知道 100 毫秒是否可能/现实?这会将 3000x4000 像素的图像从大约 6Mb 大小解压缩/重新压缩到 130Kb。
我用于快速解压的代码是:
dinfo.dct_method = JDCT_IFAST;
dinfo.do_fancy_upsampling = FALSE;
dinfo.two_pass_quantize = FALSE;
dinfo.dither_mode = JDITHER_ORDERED;
dinfo.scale_num = 1/8;
感谢您的回答。
实际上可以在 100ms 左右完成解压和重新压缩。在联系 libjpeg-turbo 的作者后,他告诉我我使用的 dinfo.scale_num 属性是错误的。这个属性就是规模分子- 我还需要设置比例分母(分母)属性。
所以好的代码是:
dinfo.dct_method = JDCT_IFAST;
dinfo.do_fancy_upsampling = FALSE;
dinfo.two_pass_quantize = FALSE;
dinfo.dither_mode = JDITHER_ORDERED;
dinfo.scale_num = 1;
dinfo.scale_denom = 8;
我希望代码能够如此快,因为图像缩放对于用户来说应该是难以察觉的,因为它是在速度/用户体验是最重要的客户端应用程序中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)