Image 利用matlab进行图像处理并以相同的压缩因子保存图像
在linux中,我可以通过以下命令读取图像的元数据并找到图像质量,我认为这是来自ImageMagick:Image 利用matlab进行图像处理并以相同的压缩因子保存图像,image,matlab,imagemagick,jpeg,Image,Matlab,Imagemagick,Jpeg,在linux中,我可以通过以下命令读取图像的元数据并找到图像质量,我认为这是来自ImageMagick: identify -verbose image.jpg 此命令的输出如下所示: ... Iterations: 0 Compression: JPEG **Quality: 96** ... 对我来说重要的是找到生成JPEG文件使用的压缩因子。因此,我对这些元数据有疑问: 1-图像质量是否与使用的JPEG压缩因子相同?如果否,如何找到用于压缩JPEG图像的压缩因子 2-我可以用matla
identify -verbose image.jpg
此命令的输出如下所示:
...
Iterations: 0
Compression: JPEG
**Quality: 96**
...
对我来说重要的是找到生成JPEG文件使用的压缩因子。因此,我对这些元数据有疑问:
1-图像质量是否与使用的JPEG压缩因子相同?如果否,如何找到用于压缩JPEG图像的压缩因子
2-我可以用matlab做这件事吗?在matlab中,您可以用获得图像文件的质量因子值(参见示例) 编辑:但是,质量在
注释
字段中给出,根据处理/生成图像的软件不同,该字段的填充方式也不同。对您来说,更可靠的方法是使用unix命令。在Matlab中,您可以键入:
[~,res] = unix('identify -verbose image.jpg');
和res
将包含来自命令行的输出(与使用unixshell获得的输出完全相同)。然后,您可以根据需要显示或解析它
然后,还可以在经过一些处理后,使用函数以给定的质量将图像数组保存到JPG文件中。该命令将如下所示:
imwrite(A,'myFile.jpg', 'Quality', 96);
您还可以指定CodingMethod
和CodingProcess
所以是的,这是可能的 两件事:(1)如果你正在进行一些严肃的处理,你根本不应该相信
**质量:96**
信息。它只是JPEG元数据中的一个条目。我曾经遇到过各种JPEG文件,这些文件的质量根本不正确。(2) 质量
不是JPEG生成器的标准设置。每个人对它的解释都不同。@KurtPfeifle好的,但是是否有任何linux命令显示用于生成.JPEG文件的压缩因子?质量:项中的元数据信息是您心目中与“压缩因子”相关的最接近的信息。但正如我所说:这是完全可靠的。有些工具不会将任何内容写入元数据,因此在JPEG->JPEG转换后,旧条目可能会保持不变。另外,在重复进行JPEG->JPEG转换后,使用“质量90”“,它仍将具有相同的*'90'条目,尽管它不再是真实的…感谢您的回答,但imfinfo的输出并没有显示JPEG图像的质量。查看:文件名:'/home/anselmo/Diesel.jpg'FileModDate:'03-Mar-2015 20:06:53'文件大小:50976格式:'jpg'格式版本:''宽度:443高度:747位深度:24颜色类型:'truecolor'格式签名:''NumberOfSamples:3编码方法:“哈夫曼”编码过程:“渐进式”注释:{}软件:“Picasa”数码相机:[1x1结构]是的,在imfinfo
页面的示例中,质量编码在Comment
字段中,每个软件的填充方式不同。请参阅我的编辑以了解不同的方法。谢谢您的回答。但是res变量是一个非常大的字符。你能帮我提取字符中显示“质量”信息的确切部分吗?看看函数textscan
,这是解析的一个好的开始。如果你自己没有成功,你可以就这个问题再问一个问题,这个问题与最初的主题完全不同。@mad:或者strfind
。祝你好运!