首页 理论教育 数字图像处理的基本操作介绍

数字图像处理的基本操作介绍

时间:2023-06-20 理论教育 版权反馈
【摘要】:图像文件的读取利用imread函数可以完成图像文件的读取操作。图像文件的写入(保存)利用imwrite函数完成图像的输出和保存操作,也完全支持上述各种图像文件的格式。图像文件的显示图像的显示过程是将数字图像从一组离散数据还原为一幅可见图像的过程。MATLAB的图像处理工具箱提供了多种图像显示技术。这对于了解被显示图像的灰度级特别有用。例如,由图1-15可知,该图像是数据类型为uint8的灰度图像,其灰度级范围为0~255。

数字图像处理的基本操作介绍

(1)图像文件的读取

利用imread函数可以完成图像文件的读取操作。常用语法格式为:

978-7-111-42352-2-Chapter01-19.jpg

其作用是将文件名用字符串filename表示的、扩展名用字符串fmt(表示图像文件格式)表示的图像文件中的数据读到矩阵I中。当filename中不包含任何路径信息时,imread会从当前工作目录中寻找并读取文件。要想读取指定路径中的图像,最简单的方法就是在filename中输入完整的或相对的地址。MATLAB支持多种图像文件格式的读、写和显示。

例如,命令行

978-7-111-42352-2-Chapter01-20.jpg

将JPEG图像lena读入图像矩阵I中。

(2)图像文件的写入(保存)

利用imwrite函数完成图像的输出和保存操作,也完全支持上述各种图像文件的格式。其语法格式为:

978-7-111-42352-2-Chapter01-21.jpg

其中的I、filename和fmt的意义同上所述。

当利用imwrite函数保存图像时,MATLAB默认的保存方式是将其简化为uint8的数据类型。

(3)图像文件的显示

图像的显示过程是将数字图像从一组离散数据还原为一幅可见图像的过程。

MATLAB的图像处理工具箱提供了多种图像显示技术。例如imshow函数可以直接从文件显示多种图像;image函数可以将矩阵作为图像;colorbar函数可以用来显示颜色条;montage函数可以动态显示图像序列。

1)图像的显示

imshow函数是最常用的显示各种图像的函数,其调用格式如下。

978-7-111-42352-2-Chapter01-22.jpg

imshow(IN)用于显示灰度图像,其中I为灰度图像的数据矩阵,N为灰度级数目,默认值为256。

例如下面的语句用于显示一幅灰度图像。

978-7-111-42352-2-Chapter01-23.jpg

如果不希望在显示图像之前装载图像,那么可以使用以下格式直接进行图像文件的显示。

978-7-111-42352-2-Chapter01-24.jpg

其中,filename为要显示的图像文件的文件名。

例如,显示一幅在当前目录下的.bmp格式的图像:

978-7-111-42352-2-Chapter01-25.jpg

显示结果如图1-14所示。

需要注意的是,该文件名必须带有合法的扩展名(指明文件格式),且该图像文件必须保存在当前目录下或在MATLAB默认的目录下。

2)添加色带(www.xing528.com)

colorbar函数可以给一个坐标轴对象添加一条色带。如果该坐标轴对象包含一个图像对象,则添加的色带将指示出该图像中不同颜色的数据值。这对于了解被显示图像的灰度级特别有用。

例如,

978-7-111-42352-2-Chapter01-26.jpg

由图1-15可知,该图像是数据类型为uint8的灰度图像,其灰度级范围为0~255。

978-7-111-42352-2-Chapter01-27.jpg

图1-14 显示一幅图像文件中的图像

978-7-111-42352-2-Chapter01-28.jpg

图1-15 显示图像并加入颜色条

3)显示多幅图像

显示多幅图像最简单的方法就是在不同的图形窗口中显示它们。Imshow函数总是在当前窗口中显示一幅图像,如果用户想连续显示两幅图像,那么第二幅图像就会替代第一幅图像。为了避免图像在当前窗口中的覆盖现象,在调用imshow函数显示下一幅图像之前可以使用figure命令来创建一个新的窗口。例如:

978-7-111-42352-2-Chapter01-29.jpg

有时为了便于在多幅图像之间进行比较,需要将这些图像显示在一个图形窗口中。达到这一目的有两种方法:一种方法是联合使用imshow和subplot函数,但此方法在一个图形窗口只能有一个调色板;另一种方法是联合使用subimage和subplot函数,此方法可在一个图形窗口内使用多个调色板。

subplot函数将一个图形窗口划分为多个显示区域,其调用格式如下。

subplot函数将图形窗口划分为m(行)×n(列)个显示区域,并选择第p个区域作为当前绘图区。

(4)图像文件信息的查询

imfinfo函数用于查询图像文件的有关信息,详细地显示出图像文件的各种属性。其语法格式为:

978-7-111-42352-2-Chapter01-31.jpg

imfinfo函数获取的图像文件信息因文件类型的不同而不同,但至少应包含以下内容。

➢文件名。如果该文件不在当前目录下,还包含该文件的完整路径。

➢文件格式。

➢文件格式的版本号

➢文件最后一次修改的时间。

➢文件的大小。以字节为单位。

➢图像的宽度。

➢图像的高度。

➢每个像素所用的比特数。也叫像素深度。

➢图像类型。即该图像是真彩色图像、索引图像还是灰度图像。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈