How to join two points, on a 'map', created with the command 'ginput'?
2 ビュー (過去 30 日間)
古いコメントを表示
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)
0 件のコメント
採用された回答
Mehmed Saad
2020 年 5 月 10 日
編集済み: Mehmed Saad
2020 年 5 月 10 日
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)
その他の回答 (1 件)
Stijn Haenen
2020 年 5 月 11 日
You can use this code, which contains the function ginput_norm: https://nl.mathworks.com/matlabcentral/fileexchange/75469-ginput-with-normalized-coordinates-of-the-figure-window
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','--');
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Graphics Object Properties についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!