Differences between imshow() and image() ?

조회 수: 36 (최근 30일)
ErikJon Pérez Mardaras
ErikJon Pérez Mardaras 2021년 7월 18일
댓글: ErikJon Pérez Mardaras 2021년 7월 19일
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.

채택된 답변

Walter Roberson
Walter Roberson 2021년 7월 18일
  • 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
Walter Roberson
Walter Roberson 2021년 7월 19일
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 2021년 7월 19일
Thanks

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Display Image에 대해 자세히 알아보기

제품


릴리스

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by