how to calculate the major and minor axis of an ellipse in contour plot
8 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Image Analyst
2013-11-14
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.
更多回答(2 个)
Mohammad Bhat
2018-2-11
How can I pass ellipse as an object to regionprops
3 个评论
Rahul Verma
2020-1-6
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
2020-1-6
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;
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!