how to calculate the major and minor axis of an ellipse in contour plot
8 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
dEEPAK MAT
le 14 Nov 2013
Commenté : Image Analyst
le 12 Jan 2021
I have a contour plot which is more of a ellipse.I would like to know its major and minor axis...a and b respectively.How do i go about.I am naive user please guide me.
0 commentaires
Réponse acceptée
Image Analyst
le 14 Nov 2013
You need the Image Processing Toolbox. Type ver to see if you have it.
It looks like an indexed image with a jet colormap being applied. Get one "ring" by thresholding
binaryImage = grayImage == theValue; % Different rings will have different intensity values.
% Now get the ellipse parameters with regionprops.
measurements = regionprops(binaryImage, 'MajorAxisLength', 'MinorAxisLength', 'Orientation');
majorAxisLength = measurements.MajorAxisLength;
minorAxisLength = measurements.MinorAxisLength;
% Repeat for other rings.
Plus de réponses (2)
Mohammad Bhat
le 11 Fév 2018
How can I pass ellipse as an object to regionprops
3 commentaires
Rahul Verma
le 6 Jan 2020
I am having a similar contour image which I converted to grayscale as attached...
a=imread('test1.png');
grayImage = rgb2gray(a);
binaryImage = grayImage == 0.40;
measurements = regionprops(binaryImage, 'MajorAxisLength', 'MinorAxisLength', 'Orientation');
However, on calling regionprops, I get an empty matrix
0×1 empty struct array with fields:
MajorAxisLength
MinorAxisLength
Orientation
As a result, I cannot get the major and minor axis lengths...
Any suggestions :)
Image Analyst
le 6 Jan 2020
You probably don't have anything that is EXACTLY 0.4. Try
binaryImage = grayImage >= 0.40;
Do it again for a different value and AND the images if you just want the ring.
binaryImage = grayImage >= 0.40 & grayImage <= someOtherValue;
Voir également
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!