Using impixelinfo with appDesigner

5 views (last 30 days)
Roger Breton
Roger Breton on 27 Dec 2021
Answered: Rishabh Singh on 12 Jan 2022
I am running into the following error with appDesigner, when trying to retrieve the pixel info an an image component :
This is the app interface :
All I want to achieve, at this stage, is to get some information about the pixels at the mouse position.
I thought of using impixelinfo but it needs some argument? I tried :
impixelinfo(app.myImage);
But that's when I get the above error message. I read somewhere that impixelinfo does not work with appDesigner?
Eventually, I would like to capture the mouseover and mouseclick events so that I can display not only the image RGB values but also, and more importantly, the CIE Lab values. Ultimately, I would like to turn mouseclicks into a selected 3D points in the scatter3 plot on th right... Tall order for a Matlab and appDesigner newbie like me -- I know.
Any help is appreciated.
  1 Comment
Roger Breton
Roger Breton on 29 Dec 2021
Just want to say that I'm studying the code here :
There is a LOT I have to learn but, withe help of the debugger, it helps a lot.
So far, I ran the code at the above link and I can see that this partly does what I need to do, which is to return some values in response to a mouseover movement over some graphic object. To wrap one's brain around the used symbols is not for the faint of heart... Needless to say, I'm discovering a whole world but I'm not totally lost, programming wise. I just have not a "mental" map of Matlab's object model... But I'm getting there.

Sign in to comment.

Answers (1)

Rishabh Singh
Rishabh Singh on 12 Jan 2022
Hey,
A possible workaround for your problem could be using a figure window outside your app.
function ButtonPushed(app, event)
img = app.cam.snapshot();
imshow(img);
hp = impixelinfo();
set(hp, 'Position', [5 1 300 20]);
end
Here I have used a "ButtonPushed" callback to trigger the figure window, and there you can use "impixelinfo". You can also explore "datacursormode" and "getCursorInfo" for picking up data points using cursor.
Hope this helps.

Community Treasure Hunt

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

Start Hunting!