You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MATLAB与Octave新版本JPEG压缩过强致失真,如何调整压缩强度?

解决MATLAB/Octave导出JPEG时压缩失真的问题

你观察到的新版本MATLAB和Octave默认JPEG压缩强度过高导致失真的问题确实存在,好在不需要额外工具或切换格式,直接通过print命令的参数就能调整压缩质量:

针对MATLAB的设置

MATLAB的print命令其实支持指定JPEG质量参数,只是容易被忽略这个格式特定选项。你可以通过两种方式设置:

  1. 在-djpeg后直接跟上质量值(范围1-100,100为最低压缩/最高质量):
print(strcat("test_jpeg_size_", description ,'.jpg'), '-djpeg90');
  1. 使用单独的-quality参数明确指定:
print(strcat("test_jpeg_size_", description ,'.jpg'), '-djpeg', '-quality', 90);

把质量值调到90或更高(比如100),就能大幅减少失真,文件大小也会接近旧版无失真的水平。

针对Octave的设置

Octave同样支持通过-quality参数控制JPEG压缩强度,修改你的代码如下:

print(strcat("test_jpeg_size_", description ,'.jpg'), '-djpeg', '-quality', 90);

如果希望所有绘图都默认使用这个质量,还可以设置全局默认值:

set(0, 'defaultfigureprintoptions', '-quality 90');

同样,质量值越高,压缩率越低,失真越少。如果要复刻Octave 3的无失真效果,可以尝试将质量设为100。

这样修改后,你就能直接导出低压缩、低失真的JPEG图像,不需要额外工具或切换到PNG格式。

内容的提问来源于stack exchange,提问作者tardis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:10:07