Description

imshow(I)
displays the grayscale image I in a figure.
imshow uses the default display range for the image
data type and optimizes figure, axes, and image object properties for image
display.

imshow(I,[low high])
displays the grayscale image I,
specifying the display range as a two-element
vector, [low high]. For more
information, see the
DisplayRange
parameter.

imshow(I,[])
displays the grayscale image I,
scaling the display based on the range of pixel
values in I.
imshow uses [min(I(:))
max(I(:))] as the display range.
imshow displays the minimum
value in I as black and the
maximum value as white. For more information, see
the DisplayRange
parameter.

imshow(X,map)
displays the indexed image X with the colormap
map. A colormap matrix can have any number of rows, but
it must have exactly 3 columns. Each row is interpreted as a color, with the
first element specifying the intensity of red, the second green, and the third
blue. Color intensity can be specified on the interval [0, 1].

Examples

Display Grayscale, RGB, Indexed, or Binary Image

Display a grayscale, RGB (truecolor), indexed or binary image using imshow. MATLAB® includes a TIF file, named corn.tif, that contains three images: a grayscale image, an indexed image, and a truecolor (RGB) image. This example creates a binary image from the grayscale image.

Display a Grayscale Image

Read the grayscale image from the corn.tif file into the MATLAB workspace. The grayscale version of the image is the third image in the file.

corn_gray = imread('corn.tif',3);

Display the grayscale image using imshow.

imshow(corn_gray)

Display an Indexed Image

Read the indexed image from the corn.tif file into the MATLAB workspace. The indexed version of the image is the first image in the file.

[corn_indexed,map] = imread('corn.tif',1);

Display the indexed image using imshow.

imshow(corn_indexed,map)

Display an RGB Image

Read the RGB image from the corn.tif file into the MATLAB workspace. The RGB version of the image is the second image in the file.

[corn_rgb] = imread('corn.tif',2);

Display the RGB image using imshow.

imshow(corn_rgb)

Display a Binary Image

Read the grayscale image from the corn.tif file into the MATLAB workspace and use thresholding to convert it into a binary image. The grayscale version of the image is the third image in the file.

[corn_gray] = imread('corn.tif',3);

Determine the mean value of pixels in the grayscale image.

meanIntensity = mean(corn_gray(:));

Create a binary image by thresholding, using the mean intensity value as the threshold.

I — Input grayscale imagematrix

RGB — Input truecolor imagem-by-n-by-3 array

Input truecolor image, specified as an
m-by-n-by-3 array.

If you specify a truecolor image of data type single or
double, then values should be in the range [0, 1]. If
pixel values are outside this range, then you can use the rescale function to scale pixel values to the range [0, 1].
The 'DisplayRange' argument has no
effect when the input image is truecolor.

Data Types: single | double | uint8 | uint16

BW — Input binary imagematrix

Input binary image, specified as a
matrix.

Data Types: logical

X — Indexed image2-D array of real numeric values

Indexed image, specified as a 2-D array of real numeric values.
The values in X are indices into the colormap
specified by map.

Data Types: single | double | uint8 | logical

map — Colormapc-by-3 array

Colormap, specified as an c-by-3 array of type single or
double in the range [0 1], or a
c-by-3 array of type uint8. Each
row specifies an RGB color value.

Data Types: single | double | uint8

filename — File namecharacter vector

File name, specified as a character vector. The image must be
readable by imread. The imshow function
displays the image, but does not store the image data in the MATLAB® workspace.
If the file contains multiple images, imshow displays
the first image in the file.

Example: imshow('peppers.png')

Data Types: char

[low high] — Grayscale image display rangetwo-element vector

Grayscale image display range, specified as a two-element vector. For more information, see
the 'DisplayRange' name-value pair
argument.

gpuarrayIM — Image to be processed on a graphics processing unit (GPU)gpuArray object

Image to be processed on a graphics processing unit (GPU), specified
as a gpuArray.

Name-Value Pair Arguments

Specify optional
comma-separated pairs of Name,Value arguments. Name is
the argument name and Value is the corresponding value.
Name must appear inside quotes. You can specify several name and value
pair arguments in any order as
Name1,Value1,...,NameN,ValueN.

Example: imshow('board.tif','Border','tight')

'Border' — Figure window border space'loose' (default) | 'tight'

Figure window border space, specified as the comma-separated pair consisting of
'Border' and either 'tight' or
'loose'. When set to 'loose',
the figure window includes space around the image in the figure. When
set to 'tight', the figure window does not include
any space around the image in the figure.

If the image is very small or if the figure contains other objects
besides an image and its axes, imshow might use
a border regardless of how this parameter is set.

Example: imshow('board.tif','Border','tight')

Data Types: char

'Colormap' — Colormapc-by-3 matrix

Colormap, specified as the comma-separated pair consisting of 'Colormap'
and a c-by-3 matrix. imshow uses
this to set the colormap for the axes. Use this parameter to view
grayscale images in false color. If you specify an empty colormap
([]), then imshow ignores this
parameter.

Note

Starting in R2016b, imshow changes the colormap
for the axes that contains the image instead of the figure.

Example: newmap = copper;
imshow('board.tif','Colormap',newmap)

Data Types: double

'DisplayRange' — Grayscale image display rangetwo-element vector | []

Display range of a grayscale image, specified as a two-element vector of the form
[low high]. The imshow
function displays the value low (and any value less
than low) as black, and it displays the value
high (and any value greater than
high) as white. Values between
low and high are displayed as
intermediate shades of gray, using the default number of gray
levels.

If you specify an empty matrix ([]), then
imshow uses a display range of
[min(I(:)) max(I(:))]. In other words, the
minimum value in I is black, and the maximum value is
white.

If you do not specify a display range, then imshow
selects a default display range based on the image data type.

If I is an integer type, then
DisplayRange
defaults to the minimum and maximum representable values for
that integer class. For example, the default display range
for uint16 arrays is [0, 65535].

If I is data type
single or double,
then the default display range is [0, 1].

Note

Including the parameter name is optional, except when the image is
specified by a file name. The syntax imshow(I,[low
high]) is equivalent to
imshow(I,'DisplayRange',[low high]). If you
call imshow with a file name, then you must
specify the 'DisplayRange' parameter.

Initial magnification of image display, specified as the comma-separated pair consisting of
'InitialMagnification' and a numeric scalar or
'fit'. If set to 100, then
imshow displays the image at 100% magnification
(one screen pixel for each image pixel). If set to
'fit', then imshow scales the
entire image to fit in the window.

Initially, imshow attempts to display the entire image at the specified
magnification. If the magnification value is so large that the image is
too big to display on the screen, imshow displays the
image at the largest magnification that fits on the screen.

If the image is displayed in a figure with its 'WindowStyle' property set
to 'docked', then imshow displays
the image at the largest magnification that fits in the figure.

Note: If you specify the axes position, imshow ignores any initial
magnification you might have specified and defaults to the
'fit' behavior.

When you use imshow with the 'Reduce' parameter,
the initial magnification must be 'fit'.

In MATLAB
Online™, 'InitialMagnification' is set to
'fit' and cannot be changed.

Interpolation technique used when scaling an image, specified as the
comma-separated pair consisting of 'Interpolation'
and one of the following values.

Value

Description

'nearest'

Nearest neighbor interpolation (default). The value
of a pixel located at (x, y)
is the value of the pixel that is closest to (x, y) in the original image.

'bilinear'

Bilinear interpolation. The value of a pixel located
at (x, y) is a weighted average of
the surrounding pixels in the original image.

'Parent' — Parent axes of image objectAxes object | UIAxes object

Parent axes of image object, specified as the comma-separated pair consisting of
'Parent' and an Axes object or a
UIAxes object. Use the 'Parent'
name-value argument to build a UI that gives you control of the
Figure and Axes properties.

'Reduce' — Indicator for subsamplingtrue | false | 1 | 0

Indicator for subsampling image, specified as the comma-separated
pair consisting of 'Reduce' and either true, false, 1,
or 0. This argument is valid only when you use
it with the name of a TIFF file. Use the Reduce argument
to display overviews of very large images.

X-axis limits of nondefault coordinate system, specified as
the comma-separated pair consisting of 'XData' and
a two-element vector. This argument establishes a nondefault spatial
coordinate system by specifying the image XData.
The value can have more than two elements, but imshow uses
only the first and last elements.

Y-axis limits of nondefault coordinate system, specified as
the comma-separated pair consisting of 'YData' and
a two-element vector. The value can have more than two elements, but imshow uses
only the first and last elements.

Output Arguments

himage — Image created by imshowimage object

Image created by imshow, specified as an
image object.

Tips

To change the colormap after you create the image,
use the colormap command. Specify the axes that
contains the image as the first input argument and the colormap you
want as the second input argument. For an example, see Change Colormap of Displayed Image.

You can display multiple images with different colormaps in the same figure
using imshow with the tiledlayout and nexttile functions.

If you have Image Processing
Toolbox™, then you can use the Image Viewer app as an integrated
environment for displaying images and performing common image processing
tasks.

If you have Image Processing
Toolbox, then you can use the iptsetpref function to
set toolbox preferences that modify the behavior of
imshow.

The imshow function is not supported
when you start MATLAB with the -nojvm option.

This website uses cookies to improve your user experience, personalize content and ads, and analyze website traffic. By continuing to use this website, you consent to our use of cookies. Please see our Privacy Policy to learn more about cookies and how to change your settings.