Photogrammetry, distance in image
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Joachim Huet
le 19 Sep 2017
Commenté : Joachim Huet
le 26 Sep 2017
I have the following image and I want to measure the size of the object on the A4 sheet of paper (Known dimensions 297*210).
I started by grayscaling the image and then applied a Sobel filter in order to get the edges.
How can I interpolate the size then ? (Automatically)
Thanks
2 commentaires
Image Analyst
le 22 Sep 2017
Interpolate what variable between what starting value and and what ending value?
Réponse acceptée
Ramnarayan Krishnamurthy
le 22 Sep 2017
Modifié(e) : Ramnarayan Krishnamurthy
le 22 Sep 2017
A possible approach would be to use the function 'regionprops' after some basic pre-processing:
I = imread('edges.png');
% Reduce the number of individual regions
I1 = double(ones(size(I))-(I));
% Label the connected components
I2 = bwlabel(I1,4);
% Find the label of the region of interest using the data cursor
imagesc(I2)
% Use regionprops to automatically evaluate the image properties (FilledArea as an example)
R = regionprops(I2,'Area');
% The component of interest is labeled 12 and the output is the number of pixels of the region
R(12).Area
% Identify the ROI visually
R_I = regionprops(I2,'Image');
% Plot the Region of Interest
imshow(R_I(12).Image);
There are additional features such as Perimeter, Filled Area, etc which may be of interest to you. The complete list of properties is available at:
Hope this helps!
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Camera Calibration dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!