Unsing ginput to reading pixel in graylevel image
7 次查看(过去 30 天)
显示 更早的评论
Hi,
I wondered if anyone knows a function or method used to read the pixel values in an image. Here is what I mean. I have a gray-level image, and I can use the ginput function to select the coordinates. How can I use the ginput to read the intensity value in the gray image as "live" or before select the position? The reason for doing this, I want to know what is the highest intensity value that my ginput pointing to. As you know, some images gradient in the intensity value.
I was reading to the ginput code itself, but I only could change the arrow color instead of black to red. I could not understand or modify the code itself to read the intensity value when I point to the intensity area in the image.
2 个评论
DGM
2021-7-14
If your goal is to find the point of highest intensity, why are you using ginput to do it manually? Are you trying to find the highest intensity in a particular user-selected local region? If so, you should realize that you're not likely to have a very good time finding it if your image is scaled for display.
Assuming that's the actual root purpose, you can just define an ROI and find the max within that. For example:
inpict = imread('coins.png');
s = size(inpict);
imshow(inpict); hold on;
P = drawpolygon(); % select one of the coins with a polygon selection
maskedpict = inpict.*uint8(createMask(P));
[mx idx] = max(maskedpict(:)) % max value and linear index
[row col] = ind2sub(s(1:2),idx) % or row and column subs
delete(P);
plot(col,row,'bo') % show max location
Otherwise, you might want to clarify.
采纳的回答
Image Analyst
2021-7-14
Call impixelinfo():
imshow(yourImage);
impixelinfo; % Show "live" status bar on figure with (x,y) and RGB or gray scale.
2 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Convert Image Type 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!