Unsing ginput to reading pixel in graylevel image

7 visualizzazioni (ultimi 30 giorni)
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 Commenti
DGM
DGM il 14 Lug 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 il 15 Lug 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.

Accedi per commentare.

Risposta accettata

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

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Convert Image Type in Help Center e File Exchange

Prodotti


Release

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by