define a scale on an image

8 views (last 30 days)
hadi hijazi
hadi hijazi on 8 Feb 2017
Commented: Image Analyst on 8 Nov 2018
Hello, I'm using matlab gui to count objects in an image and plot an histogram which shows the size distribution of these latest. My problem is the X axis of the histogram corresponds to the number of pixels forming the edges of the objects. In the image i want to analyse, I have a bar which corresponds to the scale in meter. Does anyone know how to measure this scale to convert the number of pixels in the X axis to meter ?
Thank you in advance :) Hadi

Answers (1)

Image Analyst
Image Analyst on 9 Feb 2017
You need to calculate/determine a spatial calibration factor. Are you looking through a microscope or telescope? The number of meters per pixel will be vastly different for those two cases. What is your field of view? Basically to get linear distances you need to multiply pixels by meters per pixel, and to get squared things, like area, you need to multiply by (meters per pixel)^2.
See my attached spatial calibration demo.
  5 Comments
Nagendra babu Gurram
Nagendra babu Gurram on 8 Nov 2018
can we use vanishing points for this problem
Image Analyst
Image Analyst on 8 Nov 2018
Yes but you'd have to measure at two locations and develop a spatial calibration "image" that gives you the spatial calibration at each location. I think that's probably what the camera calibration function in the Computer Vision System Toolbox does, though I haven't used it. See https://www.mathworks.com/products/computer-vision/features.html#camera-calibration since that's exactly what you need.

Sign in to comment.

Categories

Find more on MATLAB Support Package for USB Webcams in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!