MATLAB: Ellipse plotting from csv data

csv importellipse fittingimage processingImage Processing Toolboxlissajous figure

I HAVE PLOTTED AN ELLISE FROM A SET OF DATA FROM A CSV TABLE.
MY CHALLENGE IS I WANT TO CALCULATE ANGLE OF ROTATION, MAJOR AND MINOR AXIS AND ECCENTRICITY. hOW DO I DI THAT. i HAVE ATTACHED MY CODE
clear all;
clc;
fid = fopen ('No_Fault.csv');
readData = textscan(fid, '%f %f %f', 'HeaderLines', 1, 'Delimiter',',');
xData = readData{1, 1}(:,1);
x1Data = readData{1, 2}(:,1);
x2Data = readData{1, 3}(:,1);
f1 = figure(1);
cla; hold on; grid on;
% plot (xData, x1Data,'k-');
% plot (xData, x2Data,'r-');
plot (x1Data, x2Data,'r-');

Best Answer

Try this:
fid = fopen ('No_Fault.csv');
readData = textscan(fid, '%f %f %f', 'HeaderLines', 1, 'Delimiter',',');
xData = readData{1, 1}(:,1);
x1Data = readData{1, 2}(:,1);
x2Data = readData{1, 3}(:,1);
f1 = figure(1);
cla; hold on; grid on;
% plot (xData, x1Data,'k-');
% plot (xData, x2Data,'r-');
plot (x1Data, x2Data,'r-');
binaryImage = poly2mask(x1Data, x2Data, 10000, 10000);
props = regionprops(binaryImage, 'Orientation', 'MajorAxisLength', 'MinorAxisLength');
Orientation = props.Orientation % Degrees
MajorAxisLength = props.MajorAxisLength
MinorAxisLength = props.MinorAxisLength
You get:
Orientation =
-59.9061922702959
MajorAxisLength =
54.5758448527965
MinorAxisLength =
7.14123514397741