Extracting range of an object from an image using object's dimesntions
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Alla
am 18 Aug. 2017
Kommentiert: Image Analyst
am 21 Aug. 2017
So I have a code that detects and isolates three objects and yields their dimensions in pixels (diamters, perimeter..), I have the ground truth data for the distance but I would like to be able to estiamte the distance from the inforamation I have efficiently, suggestions to how this could be done would be great.

The picture shows a frame from over a thousand frames I have that show the object slowly drifting closer, so obviously the closer it is the larger its measurements are.
0 Kommentare
Akzeptierte Antwort
Image Analyst
am 18 Aug. 2017
Measure the diameters and separation for images taken at multiple distances. Then divide the actual diameters and separation by the pixel ones to get a spatial calibration. Then plot spatial calibration vs. distance to get a curve. Fit to a polynomial with polyfit to get a formula where you can convert the real world diameters into a distance from the camera.
2 Kommentare
Weitere Antworten (1)
Matt J
am 18 Aug. 2017
For a simple pinhole camera model (and ignoring off-axis effects), the relationship between distance and perimeter (in pixels) should be
distance=K/perimeter
Just fit the constant K with as many (perimeter,distance) measurements that you have.
Siehe auch
Kategorien
Find more on Logical in Help Center and File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!