define a scale on an image
8 views (last 30 days)
Show older comments
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
0 Comments
Answers (1)
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
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.
See Also
Categories
Find more on MATLAB Support Package for USB Webcams in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!