Putting visual marker in an image
74 次查看(过去 30 天)
显示 更早的评论
I'd like to be able to simply mark a point on an image using a crosshair or something similar. It's not a plot I'm using, I want to be able to overlay the marker on the actual image at a particular point.
2 个评论
Image Analyst
2013-3-20
Please clarify if you want the cross mark in the overlay (above the image) or if you want it actually written into the image pixels themselves.
回答(2 个)
Image Analyst
2013-3-20
Try this:
grayImage = imread('moon.tif');
imshow(grayImage);
uiwait(msgbox('Locate the point'));
[x,y] = ginput(1);
hold on; % Prevent image from being blown away.
plot(x,y,'r+', 'MarkerSize', 50);
6 个评论
Image Analyst
2018-6-12
No. If you show another image, it blows away whatever was in the axes. So you have to put "hold on" and then call plot() to place your points into the overlay above the image again.
You might look into imoverlay() - not sure if that will keep the overlay points since I haven't tried it.
Youssef Khmou
2013-3-20
编辑:Youssef Khmou
2013-3-20
hi Con
You can use 'gtext', and put the dot in a position you want , example :
X=imread('circuit.tif');
imshow(X), gtext('*')
You can also make many text strings using the same function :
X=imread('circuit.tif');
figure,imshow(X), gtext({'My point1';'My mpoint2';'My point3'})
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!