2012-02-16 107 views

回答

1

並非所有的圖像都有分辨率信息。它包含在EXIF(可交換圖像文件格式)標籤中。只有JPEG和TIFF文件可能包含EXIF,通常由數碼相機或掃描儀提供。如果它在那裏,你可以從IMFINFO輸出中得到它。

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

您可以隨時檢查是否存在這些字段:

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

UPDATE

至於BMP文件,他們有HorzResolutionVertResolution性能表示在每米像素的分辨率根據BMP format standard。你可以乘以0.0254得到DPI(大約)。

+0

我有一個簡單的BMP文件。使用ifran我可以看到DPI並使用imfinfo我無法訪問此信息 – Mercury 2012-02-16 07:28:48

+0

作爲imfinfo狀態的documentatino EXIF標記僅支持JPEG和TIFF。你在imfinfo輸出中有'HorzResolution'和'VertResolution'字段嗎? – yuk 2012-02-16 07:48:46

+0

是的,我願意。但是如何從這些值中提取分辨率(DPI)? – Mercury 2012-02-16 08:05:42

0

對於哪種圖像類型? imfinfo()實際上可以返回DPI的值作爲XResolutionYResolution提供,但我不知道哪些圖像類型。