MATLAB image()、imagesc()和imshow()函数的用法(附带实例)
通过 MATLAB 窗口可以将图像显示出来,常用的图像显示函数有 image() 函数、imagesc() 函数以及 imshow(),下面将具体介绍这些函数及其相应的用法。
image() 函数的调用格式及说明如下表所示:
【实例 1】将矩阵转换为图像。MATLAB 程序如下:

图 1 将矩阵转换为图像
imagesc() 函数的调用格式及说明如下表所示:
【实例 2】将全零矩阵转换为图像。MATLAB 程序如下:

图 2 将全零矩阵转换为图像
【实例 3】图片的显示。MATLAB 程序如下:

图 3 显示图片
MATLAB image() 函数
image() 函数有两种调用格式:- 一种是通过调用 newplot() 函数来确定在什么位置绘制图像,并设置相应轴对象的属性;
- 另一种是不调用任何函数,直接在当前窗口中绘制图像,这种用法的参数列表只能包括属性名称及相应的值。
image() 函数的调用格式及说明如下表所示:
命令格式 | 说明 |
---|---|
image(C) | 将矩阵 C 中的值以图像形式显示出来 |
image(x,y,C) | 指定图像位置,其中 x、y 为二维向量,分别定义了 x 轴与 y 轴的范围 |
image(…, Name,Value) | 在绘制图像前需要调用 newplot 函数,后面的参数定义了属性名称及相应的值 |
image(ax, …) | 在由 ax 指定的坐标区中创建图像,而不是在当前坐标区 (gca) 中 |
handle = image(…) | 返回所生成的图像对象的柄 |
【实例 1】将矩阵转换为图像。MATLAB 程序如下:
>> close all % 关闭当前已打开的文件 >> clear % 清除工作区的变量 >> x = [15 58]; %定义二元素向量x、y,指定两个边角位置 >> y = [3 26]; >> C = [10 20 40 60;160 180 200 220;80 100 120 140]; % 定义矩阵 >> image(x,y,C) % 在x、y指定的位置将矩阵C中的数据显示为图像 >> colorbar % 显示色轴运行结果如下图所示:

图 1 将矩阵转换为图像
MATLAB imagesc()函数
imagesc() 函数与 image() 函数非常相似,主要的区别是它可以自动调整值域范围。imagesc() 函数的调用格式及说明如下表所示:
调用格式 | 说明 |
---|---|
imagesc(C) | 将矩阵 C 中的值以图像形式显示出来 |
imagesc(x,y,C) | 其中 x、y 为二维向量,分别定义了 x 轴与 y 轴的范围 |
imagesc(…,'PropertyName', PropertyValue) | 使用一个或多个名称-值对组参数指定图像属性 |
imagesc(…, clims) | 其中 clims 为二维向量,它限制了 C 中元素的取值范围 |
imagesc(ax, …) | 在 ax 指定的坐标区创建图像,而不是在当前坐标区(gca)中 |
h = imagesc(…) | 返回生成的图像对象的句柄 |
【实例 2】将全零矩阵转换为图像。MATLAB 程序如下:
>> close all % 关闭当前已打开的文件 >> clear % 清除工作区的变量 >> A=zeros(3); % 创建一个3阶全零矩阵A >> imagesc(A) % 将矩阵A中的值以图像形式显示出来 >> colorbar % 显示色轴 >> axis off % 关闭坐标系运行结果如下图所示:

图 2 将全零矩阵转换为图像
MATLAB imshow()函数
在实际应用中,另一个经常用到的图像显示函数是 imshow() 函数,其常用的调用格式及说明如下表所示。调用格式 | 说明 |
---|---|
imshow(I) | 显示灰度图像 I |
imshow(I, [low high]) | 显示灰度图像 I,其值域为 [low, high] |
imshow(RGB) | 显示真彩色图像 |
imshow (I,[]) | 显示灰度图像 I,I 中的最小值显示为黑色,最大值显示为白色 |
imshow(BW) | 显示二进制图像 |
imshow(X,map) | 显示索引色图像,X 为图像矩阵,map 为调色板 |
himage = imshow(…) | 返回所生成的图像对象的柄 |
imshow(filename) | 显示 filename 文件中的图像 |
imshow(…,Name, Value) | 根据参数及相应的值显示图像 |
【实例 3】图片的显示。MATLAB 程序如下:
>> imshow('scenery.jpg') %显示当前文件夹目录下的图片文件scenery.jpg运行结果如下图所示:

图 3 显示图片
注意,需要显示的图片必须在工作路径下,否则无法查找到。