Effacer les filtres
Effacer les filtres

Why "imshow" function in GUI so slow?

8 vues (au cours des 30 derniers jours)
Yang
Yang le 16 Mar 2012
Commenté : Image Analyst le 20 Sep 2022
I have a GUI program which shows 10 images using "axes(handles.axes1);" and "imshow(f);" function. But when I run it, the 10 images appear sequentially but not at the same time. There's a delay between each image showing. What's wrong within it?

Réponse acceptée

Walter Roberson
Walter Roberson le 18 Mar 2012
If you must use imshow(), then skip the axes() call and use
imshow(f, 'Parent', handles.axes1);
However, if you do not need imshow() specifically (e.g., you do not need the tools that it adds), then use
imagesc(f, 'Parent', handles.axes1);
  4 commentaires
Yang
Yang le 18 Mar 2012
problem solved. thank you!
Image Analyst
Image Analyst le 18 Mar 2012
You likely had a grayscale image and for some strange reason imagesc, unlike imshow, applies some weird colormap. To undo that you also need to call colormap(gray(256)) right after you call imagesc.

Connectez-vous pour commenter.

Plus de réponses (2)

Image Analyst
Image Analyst le 16 Mar 2012
Call "cla reset" before each call to imshow. Otherwise all the images "stack up" in the control and it will slow down each additional time imshow is called. cla reset clears out any prior images.
  6 commentaires
DEBANJAN DEBNATH
DEBANJAN DEBNATH le 20 Sep 2022
I want it to look like a vedio with high frame per second. Can u help?
Image Analyst
Image Analyst le 20 Sep 2022
@DEBANJAN DEBNATH - not enough information. You want what to "look like" a video? Please explain in your own, new discussion thread (not here).

Connectez-vous pour commenter.


Jan
Jan le 16 Mar 2012
Nothing is wrong. Displaying an image needs some time.
You can use image and let drawnow trigger the screen update of the figure after all images have been inserted.
I assume posting the relevant part of the code and the size of the images might reveal other problems.
  2 commentaires
Yang
Yang le 17 Mar 2012
yes but my image is binary image, how can I show it by using image
Jan
Jan le 18 Mar 2012
Please post a code which reproduces the problem. I do not see a problem for using IMAGE for a binary image. But perhaps I do not know exactly, what a binary image is...

Connectez-vous pour commenter.

Catégories

En savoir plus sur Specifying Target for Graphics Output dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by