1 / 14

实验八 数字图像处理初探

实验八 数字图像处理初探. 一、实验目的. 了解有关数字图像处理的基本概念,熟悉 MATLAB 软件中关于数字图像处理的基本命令,掌握利用 MATLAB 软件进行数字图像处理的简单方法。. 二、相关知识. 随着计算机技术的日益发展和普及,数字图像处理技术已经从专业术语变成了普通老百姓的日常用语。其实,图像处理是一门实用的学科,同时又需要一定的理论基础,其理论与许多数学方法相关。 系统地学习数字图像处理需要相当长的时间,我们这里通过一个实验,使大家能够利用 MATLAB 软件对数字图像处理有一个基本概念,能够完成一些基本的操作。

suzuki
Download Presentation

实验八 数字图像处理初探

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 实验八 数字图像处理初探

  2. 一、实验目的 • 了解有关数字图像处理的基本概念,熟悉MATLAB软件中关于数字图像处理的基本命令,掌握利用MATLAB软件进行数字图像处理的简单方法。

  3. 二、相关知识 • 随着计算机技术的日益发展和普及,数字图像处理技术已经从专业术语变成了普通老百姓的日常用语。其实,图像处理是一门实用的学科,同时又需要一定的理论基础,其理论与许多数学方法相关。 • 系统地学习数字图像处理需要相当长的时间,我们这里通过一个实验,使大家能够利用MATLAB软件对数字图像处理有一个基本概念,能够完成一些基本的操作。 • 首先,数字图像以一定的格式存放在计算机的存储器中(如磁盘),常见的格式有BMP,TIF,PCX等等,因此我们要进行数字图像处理,需要完成的第一项工作就是把图像读到计算机的内存中,以便进行进一步的处理。

  4. 在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中,

  5. subplot(1,2,1)生成一个可以横向放置2幅图像的窗口,并设置下一显示位置在左边,imshow(I)显示图像I,subplot(1,2,2)准备下一图像的显示位置,imcontour(I)生成图像I的轮廓并显示在窗口的右边,其结果如下:

  6. 数字图像一般可分为二值图、灰度图和真彩图等几类。数字图像一般可分为二值图、灰度图和真彩图等几类。 • 我们再看下面一段程序: • bw=imread('text.tif'); • bw2=imcomplement(bw); • subplot(1,2,1),imshow(bw) • subplot(1,2,2),imshow(bw2) • 这里函数imcomplement(bw)完成对二值图像text.tif(bw)的求补运算,(即原来黑的变白的,原来白的变黑的。)其结果如下:

  7. 该函数也可以用于灰度图像,此时图像的数据被255减,关于灰度图像的结果如下:

  8. 在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) • 程序运行后得到如下的结果:

  9. 也可以指定目标图像的大小,此时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) • 程序运行后得到如下的结果:

  10. 左边是原图,中间和右边旋转后的结果,注意右边的图像和中间图像的区别,右边的图像是由参数’crop’实现的,该参数表示将旋转后的图像取与原图像相同的中心部分输出。左边是原图,中间和右边旋转后的结果,注意右边的图像和中间图像的区别,右边的图像是由参数’crop’实现的,该参数表示将旋转后的图像取与原图像相同的中心部分输出。

  11. 三、实验内容 • 1.从磁盘上读入图像’moon.tif’,将其显示在一个可以显示2幅图像的窗口中的左边,求出 ’moon.tif’的轮廓,并将其显示在上述窗口的右边。 • 2.从磁盘上读入图像’saturn.tif’,将该图像显示在一个可以显示4幅图像(两行两列)的左上角显示该图像;求出该图像的补图像,将结果显示在右上角;将原图分别顺时针旋转45度和逆时针旋转45度,保持输出图像大小不变,将结果分别显示在左下角和右下角。 • 3.从磁盘上读入图像’cameraman.tif’,将其分别放大到1.5倍(用’bilinear’方法)和2.6倍(用’bicubic’方法),显示在不同的图像窗口中。

  12. 三、实验内容 • 4.从磁盘上读入图像’lena.tif’,将其放大2倍,并将结果用BMP格式以’lena.bmp’为文件名,写入磁盘。(用imwrite命令,该命令的用法请用helpimwrite查看) • 5.完成实验报告。

More Related