【发布时间】:2011-12-15 05:47:57
【问题描述】:
我有一个 matlab 代码,它会生成一个 1024*768 分辨率的 .png 图像。这些图像大小约为 450KB,我需要知道如何使用 matlab 优化和压缩这些图像。 我不能玩 JPEG 中的质量吗? 我阅读了 imwrite 手册,似乎没有找到这样做的好方法。 有什么办法可以在matlab中实现吗?
【问题讨论】:
我有一个 matlab 代码,它会生成一个 1024*768 分辨率的 .png 图像。这些图像大小约为 450KB,我需要知道如何使用 matlab 优化和压缩这些图像。 我不能玩 JPEG 中的质量吗? 我阅读了 imwrite 手册,似乎没有找到这样做的好方法。 有什么办法可以在matlab中实现吗?
【问题讨论】:
按照设计,PNG 文件是无损的 - 没有需要调整的“质量”(这可能是模组更改了您的问题标题的原因)。
您可以减少图像中的颜色数量(颜色深度),从而减少文件大小(例如 PNG-8 而不是 PNG-24),但 PNG 的重点在于它会产生 无损图像,因此 JPEG 没有任何质量价值。
【讨论】:
取自手册:
如果是JPEG,输入参数:
'Quality' - A number between 0 and 100; higher numbers mean higher quality (less image degradation due to compression), but the resulting file size is larger.
imwrite(x,'c:\1.jpg','质量',10)
编辑:对不起,我在标题是JPEG而不是PNG时回答了这个问题。
【讨论】:
PNG 不支持任何质量设置 - 它是一种无损格式。它应用的压缩通常尽可能好。
【讨论】: