Draw 2 lines in image

1 view (last 30 days)
Sajid Rahim
Sajid Rahim on 28 Aug 2017
Commented: Benjamin Kndson on 30 Apr 2018
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?
Benjamin Kndson
Benjamin Kndson on 30 Apr 2018
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)

KALYAN ACHARJYA
KALYAN ACHARJYA on 28 Aug 2017
%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
Sajid Rahim
Sajid Rahim on 29 Aug 2017
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
Just call plot() again with the new coordinates or call line() instead.

Categories

Find more on Specifying Target for Graphics Output in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!