使用matlab从Image读取DPI数据

时间:2012-02-16 06:49:06

标签: matlab

如何使用Matlab从图像中读取X和Y DPI信息? imfinfo似乎没有提供这些信息。

由于

2 个答案:

答案 0 :(得分:1)

并非所有图像都有分辨率信息。它包含在EXIF(可交换图像文件格式)标记中。只有JPEG和TIFF文件可能包含EXIF,它通常由数码相机或扫描仪提供。如果它在那里你可以从IMFINFO输出中获得它。

info = imfinfo(filename);
xres = info.XResolution;
yres = info.YResolution;
resunit = info.ResolutionUnit;

您始终可以检查这些字段是否存在:

if isfield(info,'XResolution')
    ...
end

<强>更新

对于BMP文件,根据BMP format standard,它们具有HorzResolutionVertResolution属性,表示每米像素的分辨率。您可以将这些值乘以0.0254以获得DPI(大约)。

答案 1 :(得分:0)

哪种图像类型? imfinfo()实际上可以返回以XResolutionYResolution提供的DPI值,但我不知道哪些图像类型。