Draw 2 lines in image

i Have a code
I = imread('2.png') ;
I = rgb2gray(I) ;
[y,x] = find(I) ;
figure
imshow(I)
hold on
plot(x,y,'.b')
plot(x(1),y(1),'*y')
plot(x(end),y(end),'*r')
now i want to draw one line from first point(yellow one) and another one line from end point (red one)... plz help me

2 Comments

KSSV
KSSV on 28 Aug 2017
YOu can draw infinite lines......what is the criteria to draw lines?
Objective. Draw a box using Bresenhams line code http://www.mathworks.com/matlabcentral/fileexchange/12939-bresenhams-line
Draw a perfect box(90 Degree angles, same side lengths)
Allow user to read in an image, then using ginput function, the user can draw a line, anydirection. Based on this line create a perfect box. ask the user for box "left" or "right" from input line.

Sign in to comment.

Answers (2)

%if true
I = imread('2.png') ;
I = rgb2gray(I) ;
[y,x] = find(I) ;
figure
imshow(I)
hold on
plot(x,y,'.b')
plot(x(1),y(1),'*y')
plot(x(end),y(end),'*r')
hold on;
line([x(1) y(1)], [x(end) y(end)]);
hold off;
%end

1 Comment

thank you for ANS but actualy i want to draw 2 lines , one line from x1 y1 to another pont say C.... and another line from x(end)y(end) to C...

Sign in to comment.

Image Analyst
Image Analyst on 29 Aug 2017

0 votes

Just call plot() again with the new coordinates or call line() instead.

Asked:

on 28 Aug 2017

Commented:

on 30 Apr 2018

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!