Unsing ginput to reading pixel in graylevel image

7 Ansichten (letzte 30 Tage)
Sara
Sara am 14 Jul. 2021
Kommentiert: Image Analyst am 15 Jul. 2021
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 Kommentare
DGM
DGM am 14 Jul. 2021
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.
Sara
Sara am 15 Jul. 2021
Thank you for your answer.
I am sorry I was not clear about why I use ginput.
The image that I have is a bend close to the periphery. I want to plot the intensity profile for the column that is close to the periphery. I mange that, but I needed a more accurate way to select the coordinates.
Here is an attached for the image that I work on it. As you can see the image is bending.
I use the gunput to slelect 3 points (or more )in the clumns and plot the slection in the improfile funcation. Now I want to use ginput where is the highest intsity so that I can select it.
NOTE: The image is a colored map to show the intensity changing along with the columns.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Image Analyst
Image Analyst am 14 Jul. 2021
Call impixelinfo():
imshow(yourImage);
impixelinfo; % Show "live" status bar on figure with (x,y) and RGB or gray scale.
  2 Kommentare
Sara
Sara am 15 Jul. 2021
Thank you for your answer,
I will get to the function that you suggestion.
Image Analyst
Image Analyst am 15 Jul. 2021
You're welcome. Can you please "Accept this answer" if it worked for you.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Image Processing and Computer Vision finden Sie in Help Center und File Exchange

Produkte


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by