필터 지우기
필터 지우기

Putting visual marker in an image

조회 수: 53 (최근 30일)
Con
Con 2013년 3월 20일
댓글: khalid jackson 2018년 6월 12일
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
Walter Roberson
Walter Roberson 2013년 3월 20일
My interpretation is that the marker needs to be written into the image.
Image Analyst
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
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
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.
khalid jackson
khalid jackson 2018년 6월 12일
Okay, thank you very much.

댓글을 달려면 로그인하십시오.


Youssef  Khmou
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'})

태그

Community Treasure Hunt

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

Start Hunting!

Translated by