我正在做一个项目,我需要找到图像的图像分辨率或图像高度和宽度与图像分辨率之间的任何关系。
当我们右键单击图像并选择properties->details
时,我们有分辨率信息。
我们如何在 中提取该信息matlab
?
该信息是否不依赖于图像属性,因为我在某处读取图像只有像素信息,ppi
或者dpi
取决于打印机、传感器。
我正在做一个项目,我需要找到图像的图像分辨率或图像高度和宽度与图像分辨率之间的任何关系。
当我们右键单击图像并选择properties->details
时,我们有分辨率信息。
我们如何在 中提取该信息matlab
?
该信息是否不依赖于图像属性,因为我在某处读取图像只有像素信息,ppi
或者dpi
取决于打印机、传感器。
您可以使用imfinfo
matlab 函数,它返回一个结构,其字段包含有关图像的信息。
例如:
info = imfinfo(YOUR_IMAGE);
w = info.Width; %An integer indicating the width of the image in pixels
h = info.Height; %An integer indicating the height of the image in pixels
在您的情况下,您可能想要获得:Horizontal resolution
和Vertical resolution
. 所以使用:
xR = info.XResolution
yR = info.YResolution
欲了解更多信息: http: //www.mathworks.com/help/matlab/ref/imfinfo.html
对于 JPEG(或 TIFF)图像,您可以使用函数exifread提取所有 EXIF 信息和标签。这应该包含图像属性中包含的所有信息。
例子:
exif = exifread('Image.JPG')
对于“.jpg”图像,根据拍摄它的设备,将存在分辨率信息,因此对于每个 jpeg 图像,元数据中可能不存在分辨率信息,无论存在什么信息,都可以在 matlab 中使用“imfinfo”或“imageinfo”可以看到。为了改变分辨率,matlab 中有一些命令,很容易找到