使用matlab执行图像处理并以相同的压缩因子保存图像

Performimg image processing and save image with same compression factor using matlab

我可以使用 linux 中的以下命令读取图像的元数据并找到图像质量,我认为它来自 ImageMagick:

identify -verbose image.jpg

此命令的输出如下:

...
Iterations: 0
Compression: JPEG
**Quality: 96**
...

对我来说重要的是找到生成 JPEG 文件所使用的压缩因子。所以,我对这些元数据有疑问:

1-图像质量是否与使用的JPEG压缩因子相同?如果不是,我如何找到用于压缩 JPEG 图像的压缩因子?

2- 我可以用 matlab 做这个吗?

在 Matlab 中,您可以通过 imfinfo 获取图像文件的品质因数值(参见示例)。

编辑:但是,Comment 字段中给出了质量,可以根据处理/生成图像的软件进行不同的填充.对您来说更可靠的方法是使用 unix 命令。在 Matlab 中,您可以键入:

[~,res] = unix('identify -verbose image.jpg');

res 将包含命令行的输出(与您使用 unix shell 获得的输出完全相同)。然后您可以根据需要显示或解析它。

然后,也可以通过函数imwrite将图像数组经过一些处理后以给定的质量保存为JPG文件。该命令将如下所示:

imwrite(A,'myFile.jpg', 'Quality', 96);

您还可以指定 CodingMethodCodingProcess

所以是的,这是可能的!