140 likes | 318 Views
实验八 数字图像处理初探. 一、实验目的. 了解有关数字图像处理的基本概念,熟悉 MATLAB 软件中关于数字图像处理的基本命令,掌握利用 MATLAB 软件进行数字图像处理的简单方法。. 二、相关知识. 随着计算机技术的日益发展和普及,数字图像处理技术已经从专业术语变成了普通老百姓的日常用语。其实,图像处理是一门实用的学科,同时又需要一定的理论基础,其理论与许多数学方法相关。 系统地学习数字图像处理需要相当长的时间,我们这里通过一个实验,使大家能够利用 MATLAB 软件对数字图像处理有一个基本概念,能够完成一些基本的操作。
E N D
一、实验目的 • 了解有关数字图像处理的基本概念,熟悉MATLAB软件中关于数字图像处理的基本命令,掌握利用MATLAB软件进行数字图像处理的简单方法。
二、相关知识 • 随着计算机技术的日益发展和普及,数字图像处理技术已经从专业术语变成了普通老百姓的日常用语。其实,图像处理是一门实用的学科,同时又需要一定的理论基础,其理论与许多数学方法相关。 • 系统地学习数字图像处理需要相当长的时间,我们这里通过一个实验,使大家能够利用MATLAB软件对数字图像处理有一个基本概念,能够完成一些基本的操作。 • 首先,数字图像以一定的格式存放在计算机的存储器中(如磁盘),常见的格式有BMP,TIF,PCX等等,因此我们要进行数字图像处理,需要完成的第一项工作就是把图像读到计算机的内存中,以便进行进一步的处理。
在MATLAB中,函数imread()完成此项工作。我们用下面一小段MATLAB语句即可实现将图像“rice.tif”显示在一个图像窗口的左边,将其轮廓图显示在该窗口的右边。在MATLAB中,函数imread()完成此项工作。我们用下面一小段MATLAB语句即可实现将图像“rice.tif”显示在一个图像窗口的左边,将其轮廓图显示在该窗口的右边。 • I=imread('rice.tif'); • subplot(1,2,1); • imshow(I) • subplot(1,2,2); • imcontour(I); • 这里,imread(‘rice.tif’)将磁盘上的图像rice.tif读入内存变量I中,
数字图像一般可分为二值图、灰度图和真彩图等几类。数字图像一般可分为二值图、灰度图和真彩图等几类。 • 我们再看下面一段程序: • bw=imread('text.tif'); • bw2=imcomplement(bw); • subplot(1,2,1),imshow(bw) • subplot(1,2,2),imshow(bw2) • 这里函数imcomplement(bw)完成对二值图像text.tif(bw)的求补运算,(即原来黑的变白的,原来白的变黑的。)其结果如下:
在MATLAB中,函数imresize(X,M,method)可用来改变图像的大小,其中X表示图像,实数M>0是放大倍数,method用来选择计算数据的方法,其可取值及意义分别为:在MATLAB中,函数imresize(X,M,method)可用来改变图像的大小,其中X表示图像,实数M>0是放大倍数,method用来选择计算数据的方法,其可取值及意义分别为: • ‘nearest’—最近邻插值法,’bilinear’—双线性插值法,’bicubic’—双三次插值法。 • 我们看下面这段程序: • I=imread('circuit.tif'); • J=imresize(I,1.25); • imshow(I) • figure,imshow(J) • 程序运行后得到如下的结果:
也可以指定目标图像的大小,此时imresize()的调用格式为:也可以指定目标图像的大小,此时imresize()的调用格式为: • Y=imresize(X,[320,480]) • 其中[320,480]表示将图像的大小调整为320X480。 • 函数imrotate对图像进行旋转操作,我们看如下的程序段: • I=imread('cameraman.tif');J=imrotate(I,-15,'bilinear'); • K=imrotate(I,-15,'bilinear','crop');imshow(I) • figure,imshow(J); figure,imshow(K) • 程序运行后得到如下的结果:
左边是原图,中间和右边旋转后的结果,注意右边的图像和中间图像的区别,右边的图像是由参数’crop’实现的,该参数表示将旋转后的图像取与原图像相同的中心部分输出。左边是原图,中间和右边旋转后的结果,注意右边的图像和中间图像的区别,右边的图像是由参数’crop’实现的,该参数表示将旋转后的图像取与原图像相同的中心部分输出。
三、实验内容 • 1.从磁盘上读入图像’moon.tif’,将其显示在一个可以显示2幅图像的窗口中的左边,求出 ’moon.tif’的轮廓,并将其显示在上述窗口的右边。 • 2.从磁盘上读入图像’saturn.tif’,将该图像显示在一个可以显示4幅图像(两行两列)的左上角显示该图像;求出该图像的补图像,将结果显示在右上角;将原图分别顺时针旋转45度和逆时针旋转45度,保持输出图像大小不变,将结果分别显示在左下角和右下角。 • 3.从磁盘上读入图像’cameraman.tif’,将其分别放大到1.5倍(用’bilinear’方法)和2.6倍(用’bicubic’方法),显示在不同的图像窗口中。
三、实验内容 • 4.从磁盘上读入图像’lena.tif’,将其放大2倍,并将结果用BMP格式以’lena.bmp’为文件名,写入磁盘。(用imwrite命令,该命令的用法请用helpimwrite查看) • 5.完成实验报告。