MATLAB中imshow()和image():
IMSHOW Display image in Handle Graphics figure.
IMSHOW(I) displays the grayscale image I.
IMSHOW(I,[LOW HIGH]) displays the grayscale image I, specifying the display range for I in [LOW HIGH]. The value LOW (and any value less than LOW) displays as black, the value HIGH (and any value greater than HIGH) displays as white. Values in between are displayed as intermediate shades of gray, using the default number of gray levels. If you use an empty matrix ([]) for [LOW HIGH], IMSHOW uses [min(I(:)) max(I(:))]; that is, the minimum value in I is displayed as black, and the maximum value is displayed as white. IMSHOW(RGB) displays the truecolor image RGB. IMSHOW(BW) displays the binary image BW. IMSHOW displays pixels with the value 0 (zero) as black and pixels with the value 1 as white. IMSHOW(X,MAP) displays the indexed image X with the colormap MAP. IMSHOW(FILENAME) displays the image stored in the graphics file FILENAME. The file must contain an image that can be read by IMREAD or DICOMREAD. IMSHOW calls IMREAD or DICOMREAD to read the image from the file, but does not store the image data in the MATLAB workspace. If the file contains multiple images, the first one will be displayed. The file must be in the current directory or on the MATLAB path. HIMAGE = IMSHOW(...) returns the handle to the image object created by IMSHOW. IMSHOW(...,PARAM1,VAL1,PARAM2,VAL2,...) displays the image, specifying parameters and corresponding values that control various aspects of the image display. Parameter names can be abbreviated, and case does not matter. Parameters include: 'Border' String that controls whether a border is displayed around the image in the figure window. Valid strings are 'tight' and 'loose'. Note: There can still be a border if the image is very small, or if there are other objects besides the image and its axes in the figure. By default, the border is set to the value returned by IPTGETPREF('ImshowBorder'). 'Colormap' 2-D, real, M-by-3 matrix specifying a colormap. IMSHOW uses this to set the figure's colormap property. Use this parameter to view grayscale images in false color. 'DisplayRange' Two-element vector [LOW HIGH] that controls the display range of a grayscale image. See above for more details about how to set [LOW HIGH]. Including the parameter name is optional, except when the image is specified by a filename. The syntax IMSHOW(I,[LOW HIGH]) is equivalent to IMSHOW(I,'DisplayRange',[LOW HIGH]). The parameter name must be specified when using IMSHOW with a filename, as in the syntax IMSHOW(FILENAME,'DisplayRange'[LOW HIGH]). 'InitialMagnification' A numeric scalar value, or the text string 'fit', that specifies the initial magnification used to display the image. When set to 100, the image is displayed at 100% magnification. When set to 'fit' IMSHOW scales the entire image to fit in the window. On initial display, the entire image is visible. If the magnification value would create an image that is too large to display on the screen, IMSHOW warns and displays the image at the largest magnification that fits on the screen. By default, the initial magnification is set to the value returned by IPTGETPREF('ImshowInitialMagnification'). If the image is displayed in a figure with its 'WindowStyle' property set to 'docked', then IMSHOW warns and displays the image at the largest magnification that fits in the figure. Note: If you specify the axes position (using subplot or axes), imshow ignores any initial magnification you might have specified and defaults to the 'fit' behavior. When used with the 'Reduce' parameter, only 'fit' is allowed as an initial magnification. 'Parent' Handle of an axes that specifies the parent of the image object created by IMSHOW. 'Reduce' Logical value that specifies whether IMSHOW subsamples the image in FILENAME. The 'Reduce' parameter is only valid for TIFF images and you must specify a filename. Use this parameter to display overviews of very large images. 'XData' Two-element vector that establishes a nondefault spatial coordinate system by specifying the image XData. The value can have more than 2 elements, but only the first and last elements are actually used. 'YData' Two-element vector that establishes a nondefault spatial coordinate system by specifying the image YData. The value can have more than 2 elements, but only the first and last elements are actually used. Class Support ------------- A truecolor image can be uint8, uint16, single, or double. An indexed image can be logical, uint8, single, or double. A grayscale image can be any numeric datatype. A binary image is of class logical. If your grayscale image is single or double, the default display range is [0 1]. If your image's data range is much larger or smaller than the default display range, you may need to experiment with setting the display range to see features in the image that would not be visible using the default display range. For all grayscale images having integer types, the default display range is [intmin(class(I)) intmax(class(I))]. If your image is int8, int16, uint32, int32, or single, the CData in the resulting image object will be double. For all other classes, the CData matches the input image class. Related Toolbox Preferences --------------------------- You can use the IPTSETPREF function to set several toolbox preferences that modify the behavior of IMSHOW: - 'ImshowBorder' controls whether IMSHOW displays the image with a border around it. - 'ImshowAxesVisible' controls whether IMSHOW displays the image with the axes box and tick labels. - 'ImshowInitialMagnification' controls the initial magnification for image display, unless you override it in a particular call by specifying IMSHOW(...,'InitialMagnification',INITIAL_MAG). For more information about these preferences, see the reference entry for IPTSETPREF. Remarks ------- IMSHOW is the toolbox's fundamental image display function, optimizing figure, axes, and image object property settings for image display. IMTOOL provides all the image display capabilities of IMSHOW but also provides access to several other tools for navigating and exploring images, such as the Pixel Region tool, Image Information tool, and the Adjust Contrast tool. IMTOOL presents an integrated environment for displaying images and performing some common image processing tasks. The imshow function is not supported when MATLAB is started with the -nojvm option. Examples -------- % Display an image from a file imshow('board.tif') % Display an indexed image [X,map] = imread('trees.tif'); imshow(X,map) % Display a grayscale image I = imread('cameraman.tif'); imshow(I) % Display a grayscale image, adjust the display range h = imshow(I,[0 80]); See also imread, imtool, iptprefs, subimage, truesize, warp, image, imagesc.
IMAGE Display image.
IMAGE(C) displays matrix C as an image. Each element of C
specifies the color of a rectilinear patch in the image. C can be a matrix of dimension MxN or MxNx3, and can contain double, uint8, or uint16 data. When C is a 2-dimensional MxN matrix, the elements of C are used as indices into the current COLORMAP to determine the color. The value of the image object's CDataMapping property determines the method used to select a colormap entry. For 'direct' CDataMapping (the default), values in C are treated as colormap indices (1-based if double, 0-based if uint8 or uint16). For 'scaled' CDataMapping, values in C are first scaled according to the axes CLim and then the result is treated as a colormap index. When C is a 3-dimensional MxNx3 matrix, the elements in C(:,:,1) are interpreted as red intensities, in C(:,:,2) as green intensities, and in C(:,:,3) as blue intensities, and the CDataMapping property of image is ignored. For matrices containing doubles, color intensities are on the range [0.0, 1.0]. For uint8 and uint16 matrices, color intensities are on the range [0, 255]. IMAGE(C) places the center of element C(1,1) at (1,1) in the axes, and the center of element (M,N) at (M,N) in the axes, and draws each rectilinear patch as 1 unit in width and height. As a result, the outer extent of the image occupies [0.5 N+0.5 0.5 M+0.5] of the axes, and each pixel center of the image lies at integer coordinates ranging between 1 and M or N. IMAGE(X,Y,C), where X and Y are vectors, specifies the locations of the pixel centers of C(1,1) and C(M,N). Element C(1,1) is centered over (X(1), Y(1)), element C(M,N) is centered over (X(end), Y(end)), and the pixel centers of the remaining elements of C are spread out evenly between those two points, so that the rectilinear patches are all of equal width and height. IMAGE returns a handle to an IMAGE object. C or the X,Y,C triple can be followed by property/value pairs to specify additional properties of the image. C or the X,Y,C triple can be omitted entirely, and all properties specified using property/value pairs. IMAGE(...,'Parent',AX) specifies AX as the parent axes for the image object during creation. When called with C or X,Y,C, IMAGE sets the axes limits to tightly enclose the image, sets the axes YDir property to 'reverse', and sets the axes View property to [0 90]. The image object will not render at axes View angles other than [0 90]. To get a similar effect to rotating an image, use SURF with texture mapping or PCOLOR. Execute GET(H), where H is an image handle, to see a list of image object properties and their current values. Execute SET(H) to see a list of image object properties and legal property values. See also imagesc, colormap, pcolor, surf, imread, imwrite.