基本图像导入、处理和导出
此示例说明如何将图像读入工作区、调整图像的对比度,然后将调整后的图像写入文件。
步骤 1:读取并显示图像
使用 imread
函数将图像读入工作区。该示例读取工具箱附带的一个示例图像(名为 pout.tif
的文件中一个小女孩的图像),并将其存储在名为 I
的数组中。imread
函数根据文件推断图形文件格式为标记图像文件格式 (TIFF)。
I = imread("pout.tif");
使用 imshow
函数显示该图像。您还可以在 图像查看器 中查看图像,该 App 提供显示图像和执行一些常见图像处理任务的集成环境。图像查看器提供 imshow
的所有图像显示功能,还支持访问其他几个图像导航和浏览工具,如滚动条、像素区域工具、图像信息工具和对比度调节工具。
imshow(I)
步骤 2:检查图像在工作区中的显示方式
使用 whos
函数,检查 imread
函数如何在工作区中存储图像数据。您也可以在工作区面板中检查变量。imread
函数返回变量 I
中的图像数据,这是由 uint8
数据组成的 291×240 元素数组。
whos I
Name Size Bytes Class Attributes I 291x240 69840 uint8
步骤 3:提高图像对比度
查看图像像素强度的分布。图像 pout.tif
是一个对比度较低的图像。要查看图像中的强度分布,请通过调用 imhist
函数创建直方图。请注意直方图表明图像的强度范围相当窄。该范围未能涵盖 [0, 255] 之间尽可能多的范围,而且图像缺少能产生良好对比度的高值和低值。
imhist(I)
使用 imhist
函数提高图像的对比度,然后显示结果。直方图均衡使强度值扩展分布到了图像的完整范围内。工具箱包含用于执行对比度调整的其他几个函数,包括 imadjust
和 adapthisteq
,以及图像查看器中提供的交互式工具,如调整对比度工具。
I2 = histeq(I); imshow(I2)
再次调用 imhist
函数,创建经过均衡处理的图像 I2
的直方图。如果比较这两个直方图,会看到 I2
的直方图比 I
的直方图在整个强度范围内散布得更广。
figure imhist(I2)
步骤 4:将调整后的图像写入文件
使用 imwrite
函数将刚刚经过调整的图像 I2
写入一个文件。此示例在文件名中包含扩展名 ".png"
,因此 imwrite
函数将图像写入可移植网络图形 (PNG) 格式的文件中。您可以指定其他文件格式。
imwrite(I2,"pout2.png");
步骤 5:检查新写入文件的内容
通过使用 imfinfo
函数查看文件中图像的相关信息,例如图像的格式、大小、宽度和高度。
imfinfo("pout2.png")
另请参阅
imread
| imshow
| imwrite
| imfinfo