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

2 vues (au cours des 30 derniers jours)
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:
harta=imread('harta.jpg');
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)

Réponse acceptée

Mehmed Saad
Mehmed Saad le 10 Mai 2020
Modifié(e) : Mehmed Saad le 10 Mai 2020
one way to do that is using line and then getting the frame
harta = imread('harta.jpg');
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)

Plus de réponses (1)

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

Catégories

En savoir plus sur Graphics Object Properties dans Help Center et File Exchange

Tags

Produits


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by