Differences between imshow() and image() ?

100 visualizzazioni (ultimi 30 giorni)
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.

Risposta accettata

Walter Roberson
Walter Roberson il 18 Lug 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 Commenti
Walter Roberson
Walter Roberson il 19 Lug 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.

Accedi per commentare.

Più risposte (0)

Categorie

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

Prodotti


Release

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by