How to fit a trapezium or a square or an ellipse around this? Is there any way ?
10 次查看(过去 30 天)
显示 更早的评论
回答(1 个)
KSSV
2017-2-2
clear all ;
data = imread('fit.png') ;
h1 = axes ;
image([0 1], [0 1],data);
hold on
%%draw square
P = ginput(4) ;
pts = [P ; P(1,:)] ;
plot(pts(:,1),pts(:,2),'k') ;
click at the points you want to draw square/ trapezium or rectangle when cross is popped out.
2 个评论
KSSV
2017-2-2
When you have the data in hand it shall be more easy to plot what you want.
clc
clear all ;
x=0:1:20;
y = abs(sqrt(x));
%[xx,yy] = pol2cart(x,y);
k = convhull(x, y);
xch = x(k);
ych = y(k);
%[xCH, yCH] = cart2pol(xch, ych);
plot(xch, ych, 'ro-',x,y,'b*');
x0 = min(x) ; x1 = max(x) ;
y0 = min(y) ; y1 = max(y) ;
%%square
pts = [x0 y0 ; x0 y1 ; x1 y1 ; x1 y0 ; x0 y0] ;
hold on
plot(pts(:,1),pts(:,2),'r')
%%circel
c0 = 0.5*[x0+x1 y0+y1] ;
R = 10 ;
th = linspace(0,2*pi) ;
xc = c0(1)+R*cos(th) ;
yc = c0(2)+R*sin(th) ;
plot(xc,yc,'r')
axis equal
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!