2013-01-18 752 views
1

我正在研究一個項目,我需要找到圖像的圖像分辨率或圖像高度和寬度與圖像分辨率之間的任何關係。在matlab中獲取圖像分辨率

當我們右鍵單擊圖像並選擇properties->details,我們有分辨率信息。

我們如何提取matlab中的信息?

該信息不依賴於圖像屬性,因爲某處我讀取的圖像只有像素信息,ppidpi取決於打印機,傳感器。

+0

關於GeoTIFF和一個「空間/地面分辨率」的機會,然後看看[geotiffinfo](http:// www。 mathworks.co.uk/help/map/ref/geotiffinfo.html) – MBL

+0

我正在使用「jpeg」圖像。對於「tiff」圖像,我們可以使用imfinfo獲得分辨率。是否有任何其他方式來提取圖像屬性中提供的信息 - >細節,可以通過右擊圖像看到? –

回答

4

您可以使用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 resolutionVertical resolution。因此,使用:

xR = info.XResolution 
yR = info.YResolution 

欲瞭解更多信息:http://www.mathworks.com/help/matlab/ref/imfinfo.html

+0

我需要圖像的分辨率,imfinfo不包含「jpeg」圖像的圖像分辨率。但是,右鍵單擊 - >屬性 - >詳細信息包含有關xresolution和y-resolution的信息。 –

+0

如果寬度和高度在某種程度上與xresolution和yresolution有關,那麼它會有幫助。但是,我沒有任何想法,也沒有得到。在這方面需要幫助。 –

+0

您可以使用'.jpg'擴展名而不是'.jpeg'打開圖片,寬度和高度將爲您提供您在細節中看到的分辨率。請注意,'.jpg'與'.jpeg'相同(dos擴展名是'.jpg',而其他os可能使用'.jpeg') – Maroun

1

對於JPEG(或TIFF)圖片您可以提取所有使用功能exifread EXIF信息和標籤。這應該包含圖像屬性中包含的所有信息。

實施例:

exif = exifread('Image.JPG') 
+0

從該函數的文檔:'注意:exifread將在未來版本中刪除。使用imfinfo代替.' – Maroun

+0

exifread正在爲.tiff而不是爲.jpg,我有matlab版本7.12.0.635和imfinfo不包含可以使用右鍵單擊 - >屬性 - >詳細信息可以看到的信息。我猜,.jpg的元數據信息只能用屬性來看,沒有辦法,因爲這些信息並不是以元數據存儲爲jpg,而是如何在屬性中看到它? –

+0

元數據應該能夠被'exifread'和'imfinfo'讀取。如果這些函數沒有返回所需的信息,請嘗試諸如[ExifTool](http://www.sno.phy.queensu.ca/~phil/exiftool/)這樣的命令行,因此可以通過matlab調用。如果你正在努力進一步分享圖像(例如通過Dropbox),我可以看看它 – MBL

0

對於「.JPG」的圖像,基於從它已經採取,分辨率信息將存在,所以對於每一個JPEG圖像,可能不存在分辨率在設備上元數據中存在的信息以及存在的任何信息都可以在matlab中使用「imfinfo」或「imageinfo」來查看。 對於改變分辨率有matlab命令,可以很容易地找到