MATLAB Answers

How can i find the resolution of an image?

273 views (last 30 days)
Carole
Carole on 16 Nov 2012
Commented: Walter Roberson on 5 Aug 2020
Hi, how i can find the resolution of an image with matlab (number of pixels in millimeter). thanks

  3 Comments

Negesse Tadesse
Negesse Tadesse on 24 Aug 2019
EASY:
use imfinfo() function and take
xresolution
and
yresolution field.
Image Analyst
Image Analyst on 24 Aug 2019
See solutions below. What imfinfo gives you might not always contain xresolution, and when it does, it may not be correct or what you think. For example
fi = imfinfo('cameraman.tif')
gives 72 inches. Obviously not correct or even applicable. However, it might be correct depending on the image capture system.
Walter Roberson
Walter Roberson on 24 Aug 2019
In my experience, XResolution and YResolution information returned by imfinfo() is wrong much much more often than it is correct.

Sign in to comment.

Answers (6)

Thomas
Thomas on 16 Nov 2012
Edited: Thomas on 16 Nov 2012
Use 'imfinfo'
E.g.
info = imfinfo('new1.jpg')
info =
Filename: [1x95 char]
FileModDate: '01-Oct-2001 17:19:44'
FileSize: 27387
Format: 'jpg'
FormatVersion: ''
Width: 600
Height: 650
BitDepth: 24
ColorType: 'truecolor'
FormatSignature: ''
NumberOfSamples: 3
CodingMethod: 'Huffman'
CodingProcess: 'Sequential'
Comment: {[1x69 char]}
There you can fine the resolution widthxheight bit depth etc..

  10 Comments

Show 7 older comments
Eric
Eric on 16 Nov 2012
That would make the pixels 264.62 microns across and the height of the detector (650 such pixels) 6.8 inches. I don't know whose camera this is, but that is almost assuredly not right.
-Eric
Walter Roberson
Walter Roberson on 16 Nov 2012
Good point, Eric. Carole, is the image of a single spot or is it of a larger area that you moved along?
Carole, XResolution is an optional EXIF tag. In most cases it is not known or not meaningful.
Carole
Carole on 16 Nov 2012
Sorry for the stupid questions but I like to understand. So what's the solution to convert a diameter of a region in pixel to millimeter. is there a trick using a regle of three for example? or what is the parameter necessary to make this conversion?

Sign in to comment.


Walter Roberson
Walter Roberson on 16 Nov 2012
Most often, you cannot figure out what the resolution of an image is.
If you are using a better-quality camera in auto-focus mode, the EXIF information might include the distance to the focus. If you have that and the lens aperture, then by knowing the height and width in pixels, you can calculate the angle subtended by the pixel range, and thus the angular resolution. (Perhaps you do not need the aperture; I have forgotten the details of the calculation.)
If you are using a medical device such as CT or MRI, then the images for those are usually created as DICOM images, for which there is DICOM meta-data that includes the resolution in the PixelWidth tag.

  2 Comments

Carole
Carole on 16 Nov 2012
I do not know the resolution. I want to calculate the resolution from the image. Is this possible??
Eric
Eric on 16 Nov 2012
It looks to me like the device has no imaging capability ( http://www.delasco.com/pcat/1/Diagnostic/Delta20/Delta20/ ). You need to pair it with another camera. I would say your best bet would be to do your own calibration of the systems. You could buy a resolution target (something like an Air Force 1951 resolution target from Edmund Optics) that has small features of known sizes. Image them and determine what the resolution is that way.
-Eric

Sign in to comment.


Carole
Carole on 17 Nov 2012
Edited: Carole on 17 Nov 2012
I'm looking for the solution to convert a diameter of a region in pixel to millimeter. is there a trick using a regle of three for example? or what is the parameter necessary to make this conversion? I have these informations but I don't know how can I use it:
-the resolution of the device is 41.1 megapixel
-1 megapixel = 0.264 mm
-1 dpi = 3.937 pixels/mm

  6 Comments

Show 3 older comments
Walter Roberson
Walter Roberson on 17 Nov 2012
3.779527559 is exactly the figure for 96 pixels per inch. Which is a common screen resolution, but not a common camera resolution. The magnification is irrelevant: pixels divided by 96 equals inches.
The only time magnification would be important would be if the image you get is of a 10x magnification of the 96 pixels/inch. In that case, 96*10 image pixels would be 1 inch of original size. Alternately, it could be the case that the original surface is magnified 10x and then the 3.779 pixels/mm (96 dpi) is what the magnified image is recorded as, so getting an actual resolution of 37.79 pixels/mm.
Carole
Carole on 17 Nov 2012
I don't know the length of any object in the image. Can I use the length and height of the image. There is no other solution ??? I foud in other images (using the same device) that a width of an object is 10 pixels or approximately 0.22 mm. Can i use this parameter?
Walter Roberson
Walter Roberson on 18 Nov 2012
How about you tell us the make and model of what you are using, so we can see if we can understand the manual?

Sign in to comment.


Image Analyst
Image Analyst on 18 Nov 2012
Edited: Image Analyst on 18 Nov 2012
Carole, Sure, go for it. So multiply any lengths in pixels by 0.022 to get length in mm, and multiply and area in pixels by 0.022^2 to get area in mm^2. Of if you know the length and height of the total image field of view then you can use that too. For example, if the height = 960 pixels and it's 21 mm. Then the spatial calibration factor is 21/960 = 0.021875 mm per pixel. So let's say an object is 342 pixels long, well that's 342 * 0.021875 = 7.48125 mm long. If the area = 20,000 pixels, it's 20,000 * 0.021875^2 = 9.57 mm^2 in area.

  10 Comments

Show 7 older comments
Image Analyst
Image Analyst on 20 Nov 2012
Carole, how did you say this earlier:
I get this result
Width: 750
Height: 498
BitDepth: 24
Evidently you have some kind of camera hooked up to this loupe and are able to take pictures somehow. Please take a picture of something with the reticule in place, and upload it, so we can measure the spatial calibration.
Walter Roberson
Walter Roberson on 20 Nov 2012
Especially a picture of something of known size, such as a ruler.
Image Analyst
Image Analyst on 20 Nov 2012
The how did you get the pictures? Did you get them from that dermascope or not? If not, where did they come from and what does the dermascope have to do with anything?
And the print size has nothing at all to do with any kind of distance in your image. I could print a picture of a galaxy and a picture of a virus both on the same size paper printout with the same size image pixel dimensions. But of course their spatial calibration is vastly different.

Sign in to comment.


TIAN YUAN WANG
TIAN YUAN WANG on 30 Jun 2017
I'm sure you can get the FOV size from the Dicominfo.
If the FOV is 400 mm, matrix is 512 by 512; then the Resolution = FOV/matrix = 400/512 = 0.7813 mm/pixel.

  1 Comment

Walter Roberson
Walter Roberson on 30 Jun 2017
Unfortunately the person was working with a png not with a dicom image.
Looking at the fov is typically the wrong way to get sizing from dicom images. The best way depends upon what kind of image it is. I do not recall the best way for CT. MRI images have a pixel centre to centre for x and y that can be used. (The tricky part is determining the z resolution)

Sign in to comment.


Antonis L
Antonis L on 16 Jun 2020
Ιs it possible to find the real image dimensions of a .jpeg, through the XResolution and the YResolution given from the imfinfo function, without the pixel/mm reconstruction factor? Τhank you in advance

  6 Comments

Show 3 older comments
Antonis L
Antonis L on 3 Aug 2020
Could you please explain me the most common mathematical type of convertion the dimension of a .jpeg from pixel to mm, which correlates focal length or lens aperture with the dimensions? Thank you in advance!
Image Analyst
Image Analyst on 4 Aug 2020
No. It's not possible. There is no such conversion that works for all or most jpg images and all/most fields of view. You have to calibrate your specific image. See attached spatial calibration demo.
Walter Roberson
Walter Roberson on 5 Aug 2020
You would need to know the distance between the image sensor and the lens:
When f is the focal length and is the distance between the sensor and the lens, and is the distance between the lens and the object being photographed, then
By knowing the image sensor physical size, and its resolution, and the portion of the image that the object of interest occupies, you can determine the physical size of the sensor portion covered by the projection of the image. Then you can use the recorded readings such as aperture and distance to the target together with the optical formulas, to figure out what the physical size of the distant object must have been. You then combine the physical size of the object with the number of pixels needed to represent it to find the resolution.
Alternately if you know the physical size of the object and the number of pixels needed to represent that size, you can directly calculate resolution.
The further you get from the object, the more imprecise the calculations get. It doesn't take much in casual photography before is sufficiently smaller than as to get lost in the noise of the imprecision of measuring

Sign in to comment.

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!