figure, imshow, saveas and getpts
2 次查看(过去 30 天)
显示 更早的评论
I save an image using saveas. Then I open it and display it using imshow in figure 1. When I use getpts to get pixel coordinates, the coordinates I get are that of figure 1 not that of the image. I.e, If I click on the axis of the image, I don't get (0,0), I get the coordinates of the image origin in figure 1. How do I get the image coordinates?
0 个评论
回答(2 个)
Image Analyst
2016-10-13
Save images with imwrite(). Recall them with imread(). Display them with imshow(). Get pixel values with impixelinfo:
hp = impixelinfo();
This will let you mouse around and display the (x,y) and gray level in a status label on your figure. If you need the user to click on a point, then use ginput():
[x, y] = ginput();
5 个评论
Image Analyst
2016-10-13
Yes, for most standard image formats. Or you could use uint16. If you want to keep as floating point instead of integers, use save() to save as a .mat file, then use load() to recall it.
Ramesh Bala
2018-4-20
but in this case [x,y] = getpts
x =
118.5645 242.4355
y =
199.6316 197.2105
its giving both x1y1 and x2 y2...how to get only x1x2
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Exploration 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!