Differences between imshow() and image() ?

43 vues (au cours des 30 derniers jours)
ErikJon Pérez Mardaras
ErikJon Pérez Mardaras le 18 Juil 2021
Hi everyone,
As long as I know, there are two ways of displaying an image on matlab.
One way is by using imshow
imshow('image.png')
And the other one is by using imread() and image()
d=imread('image.png')
image(d)
What are the main differences and pro/cons between them? I do not see much difference but I can not tell.
The only differences I have noticed is that when I use imread() and then image(), the image (or images theirselves if I have putted overlaped) appear upside down
Thanks very much.

Réponse acceptée

Walter Roberson
Walter Roberson le 18 Juil 2021
  • imshow() detects whether the image is RGB or not. If it is not, then it detects the datatype and uses that to load a colormap (e.g., gray(2) for binary images)
  • if the current axes is in its default position that it would get if it were the only axes, then imshow deletes the axes and creates a new one and resizes the figure to be just big enough for the image. I repeat, deletes the axes, not changes properties of the axes. You will lose all customizations you have done on the axes
  • imshow() adds some tools to the window
  • imshow() does not permit Alpha to be configured in the imshow() call: you need to record the handle and set the alpha properties for it
  • image() does not resize the axes -- so if you have a small image in a larger axes, the image will end up magnified
  • image() does not set any particular colormap -- so you get whatever colormap was in effect, which is often parula()
  • image() when Hold is not on, will reset some axes properties, but will not delete the axes
  • image() does not add tools to the window, and so is better suited for cases where the image is being used for text or logos or any carefully constructed user interface
  • image() permits you to configure AlphaData during the image() call
  3 commentaires
Walter Roberson
Walter Roberson le 19 Juil 2021
uifigure() is very similar to figure() but with a different implementation technology. It does not display any graphics by itself: it only creates a window that you can use to draw inside.
ErikJon Pérez Mardaras
ErikJon Pérez Mardaras le 19 Juil 2021
Thanks

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Display Image dans Help Center et File Exchange

Produits


Version

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by