我正在尝试在 Matlab 上绘制一系列椭圆。基本上我有一张显微图片,我用 ImageJ 处理它以获得每个椭圆的一系列数据(面积、中心、长轴和短轴)。我正在尝试在 matlab 上重新绘制这些椭圆,以便在添加渐变颜色以映射图片之后,我可以从椭圆中分辨出光纤的方向。这是我的代码
clearvars -except data colheaders %Clear everything but the original data
data(:,9)=data(:,9)*pi/180; %Transform my 9th colomn (rotation angle) in rad
data(:,6)=1196-data(:,6); %Recalibrate the y axis (different coordinate system)
for i=1:29 %29 ellipses to plot
theta = 0 : 0.01 : 2*pi;
x = data(i,7)/2 * cos(theta) * cos(data(i,9)) - data(i,8)/2 * sin(theta) * sin(data(i,9)) + data(i,5);
y = data(i,7)/2 * sin(theta) * cos(data(i,9)) + data(i,8)/2 * cos(theta) * sin(data(i,9)) + data(i,6);
plot(x, y, 'LineWidth', 1);
hold on
end
% Columns (5,6) are the centre (x,y) of the ellipse
% Columns (7,8) are the major and minor axes (a,b)
% Column 9 is the rotation angle with the x axis
axis equal; % Keep axis same size as sample picture
xlim([0 1592]);
ylim([0 1196]);
grid on;
我可以私发图片,好像他们不让我上传。但是我在正确的位置获得了圆圈而不是椭圆。我的方程式对吗?最佳多利安