how to draw border
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
hi there, i have four set of coordinate and i want to draw line to make a border. after that i want to crop it automatically at the border. here, i attach the illustration for further understanding. please help me.. thank you
2 comentarios
Thomas
el 27 de Abr. de 2012
are you performing these operation on an image, or are you actually plotting the points?
Respuesta aceptada
Thomas
el 27 de Abr. de 2012
Since you are performing your operations on an image
I'm assuming you know the coordinates and size of the rectangle you want..
I1=imread('myimage.jpg'); % import your image
%the following step is not necessary but just shows the boundary box..
imshow(I1);
hold on
w=[26 77];
x=[26 555];
y=[426 77];
z=[426 555];
Points = [w;x;z;y;w]; %in desired order
plot( Points(:,1), Points(:,2), 'r-'); % draw bounding box
hold off;
figure
I2=imcrop(I1,[26 77 400 478]) % crop the bounding box
imshow(I2) % show cropped image
4 comentarios
Thomas
el 27 de Abr. de 2012
that is the size of the rectangle 426-26=400(width) and 555-77=428(length)
Más respuestas (1)
Matt Kindig
el 27 de Abr. de 2012
To draw the border, you can just use 'plot':
w=[26 77];
x=[26 555];
y=[426 77];
z=[426 555];
Points = [w;x;z;y;w]; %in desired order
plot( Points(:,1), Points(:,2), 'r-');
What do you mean you want to "crop" your data set at the border?
2 comentarios
Thomas
el 27 de Abr. de 2012
I guess the user means to say only see the boxed area in the plot..
In that case add the following line to the code
set(gca,'xlim',[min(Points(:,1)) max(Points(:,1))],'ylim',[min(Points(:,2)) max(Points(:,2))])
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!