How to join two points, on a 'map', created with the command 'ginput'?

1 view (last 30 days)
Balanica Cristian on 10 May 2020
Answered: Stijn Haenen on 11 May 2020
So, this is my code for the two dots. But I don't know how to unite them like in the picture. (don't know how to make that dotted line)
Code:
imshow(harta)
[xA,yA]=ginput(1);
[xB,yB]=ginput(1);
harta=insertMarker(harta,[xA yA],'*','color','r');
harta=insertMarker(harta,[xB yB],'*','color','r');
imshow(harta)

Mehmed Saad on 10 May 2020
Edited: Mehmed Saad on 10 May 2020
one way to do that is using line and then getting the frame
imshow(harta)
[xA,yA]=ginput(1);
[xB,yB]=ginput(1);
harta=insertMarker(harta,[xA yA],'*','color','r');
harta=insertMarker(harta,[xB yB],'*','color','r');
imshow(harta)
hold on,line([xA xB],[yA yB],'LineStyle',':','Color','r'),hold off
harta = getframe;
harta = harta.cdata;
imshow(harta)
There must be someother command which directly can do that.
insertShape maybe
Edit1: InsertShape will draw solid line
imshow(harta)
[xA,yA]=ginput(1);
[xB,yB]=ginput(1);
harta=insertMarker(harta,[xA yA],'*','color','r');
harta=insertMarker(harta,[xB yB],'*','color','r');
harta = insertShape(harta,'line',[xA yA xB yB],'Color','r');
imshow(harta)
Balanica Cristian on 10 May 2020
thank you very much! <3

Stijn Haenen on 11 May 2020
close all
clear
figure1=figure(1);
axes('Parent',figure1,...
'Position',[0 0 1 1]);
set(figure1,'Units','Normalized');
imshow(mapsIm);
a=ginput_norm(2);
annotation(figure1,'line',[a(1,1) a(2,1)],...
[a(1,2) a(2,2)],'LineStyle','--');

Categories

Find more on Axis Labels in Help Center and File Exchange

R2020a

Community Treasure Hunt

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

Start Hunting!