数字图像处理及应用MATLAB第8章课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数字图像处理及应用MATLAB第8章课件.ppt》由用户(ziliao2023)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字图像 处理 应用 MATLAB 课件
- 资源描述:
-
1、第八章 数字图像处理实验 8.1 数字图像处理基本操作数字图像处理基本操作8.2 图像增强技术实验图像增强技术实验 8.3 图像变换实验图像变换实验 8.4 图像分割实验图像分割实验8.5 图像压缩编码实验图像压缩编码实验 8.6 图像特征提取实验图像特征提取实验 8.1 数字图像处理基本操作数字图像处理基本操作 1、实验目的、实验目的(1)掌握)掌握MATLAB软件的运用,熟练掌握建立、保存、运行、调软件的运用,熟练掌握建立、保存、运行、调试试m文件的方法。文件的方法。(2)了解)了解MATLAB软件中图像处理工具箱的使用方法。软件中图像处理工具箱的使用方法。(3)熟练掌握图像文件(黑白、灰
2、度、索引色和彩色图像)的读熟练掌握图像文件(黑白、灰度、索引色和彩色图像)的读取及显示方法。取及显示方法。(4)熟悉常用的图像文件格式和格式转换。)熟悉常用的图像文件格式和格式转换。2、实验中所用部分函数介绍、实验中所用部分函数介绍(1)imread 功能:图像文件的读取功能:图像文件的读取 格式:格式:A=imread(filename,fmt)将文件命为将文件命为filename表示的扩展名为表示的扩展名为fmt的图像文件读取到矩的图像文件读取到矩阵阵A中。中。MATLAB支持的图像格式有支持的图像格式有bmp、jpg或或jpeg、tif或或tiff、gif、pcx、png、xwd。(2)
3、imwrite 功能:图像文件的写入(保存),把图像写入图形文件中功能:图像文件的写入(保存),把图像写入图形文件中 格式:格式:imwrite(A,filename,fmt);A,filename,fmt意义同上意义同上所述。所述。(3)imshow 功能:显示图像功能:显示图像 格式:格式:imshow(I,n);imshow(I,low high);imshow(BW)%显示黑白图像显示黑白图像 imshow(X,map)%显示索引色图像;显示索引色图像;imshow(RGB)%显示真彩色图像显示真彩色图像 imshow filename(4)figure 功能:创建图形窗口功能:创建图
4、形窗口(5)subplot 功能:将多个图画到一个平面上的工具。功能:将多个图画到一个平面上的工具。格式:格式:subplot(m,n,p)或者)或者subplot(mnp)说明:其中,说明:其中,m表示是图排成表示是图排成m行,行,n表示图排成表示图排成n列,也就列,也就是整个是整个figure中有中有n个图是排成一行的,一共个图是排成一行的,一共m行。行。(6)rgb2ind 功能:将真彩色图像转换成索引色图像功能:将真彩色图像转换成索引色图像 格式格式:X,map=rgb2ind(I,n)说明:说明:I表示被转换的表示被转换的RGB原图像,其中原图像,其中n指定指定map中颜色项数中颜色
5、项数,n最大不能超过最大不能超过65536。(7)ind2rgb 功能:将索引色图像转换成真彩色图像,功能:将索引色图像转换成真彩色图像,格式:格式:RGB=ind2rgb(X,map)说明:说明:X表示被转换的索引色图像,表示被转换的索引色图像,map是是X的调色板。的调色板。MATLAB的实际处理方式是创建一个三维数组,然后将索引色图像的实际处理方式是创建一个三维数组,然后将索引色图像中与颜色对应的中与颜色对应的map值赋值给三维数组。值赋值给三维数组。(8)im2bw 功能:通过设置阈值将功能:通过设置阈值将RGB、索引色、灰度图像转换成二值图像、索引色、灰度图像转换成二值图像 格式格式
6、:BW=im2bw(I,level)说明:参数说明:参数I可以是真彩色图像、灰度图像和索引色图像,当是索可以是真彩色图像、灰度图像和索引色图像,当是索引色图像时,引色图像时,I表示成表示成X,map;level为转换阈值,转换阈值根据图为转换阈值,转换阈值根据图像而不同,可以通过函数像而不同,可以通过函数graythresh()求得。求得。3、实验内容示例部分、实验内容示例部分(1)对二值图像、索引色图像实现读取、显示和保存)对二值图像、索引色图像实现读取、显示和保存 clear,clcclose alli1=imread(circbw.tif);%读取图片读取图片imshow(i1),tit
7、le(黑白图像黑白图像)%显示图片显示图片imwrite(i1,newcircbw.bmp);%保存图片保存图片figure,imshow(newcircbw.bmp);title(newcircbw.bmp)load clownimwrite(X,map,clown.bmp);i2,map=imread(clown.bmp);figure,imshow(i2,map)title(索引色图像索引色图像)imwrite(i2,map,newclown.bmp);figure,imshow(newclown.bmp)title(newclown.bmp)whos i1 i2实验结果如图实验结果如图
8、8.1.1所示及以下数据:所示及以下数据:Name Size Bytes Class i1 280 x272 76160 logical array i2 291x240 69840 uint8 array(a)circbw.tif(b)newcircbw.bmp(c)clown.bmp(d)new clown.bmp(2)在一个图形窗口中显示在一个图形窗口中显示RGB图像图像 clear,clcclose allI=imread(peppers.png);subplot(2,2,1),imshow(I,notruesize),title(真彩色图像)R=I;R(:,:,2 3)=0;%红色分
9、量G=I;G(:,:,1 3)=0;%绿色分量B=I;B(:,:,1 2)=0;%蓝色分量subplot(2,2,2),imshow(R,notruesize);title(显示第一个颜色分量)subplot(2,2,3),imshow(G,notruesize);title(显示第二个颜色分量)subplot(2,2,4),imshow(B,notruesize);title(显示第三个颜色分量)实验结果图如图所示实验结果图如图所示。(a)真彩色图像(b)第一个颜色分量(c)第二个颜色分量(d)第三个颜色分量(3)通过图像点运算增强图像对比度)通过图像点运算增强图像对比度 clear,clc
10、close allI=imread(rice.png);subplot(1,2,1),imshow(I);I1=double(I);J=I1*1.4+40;%点运算增强点运算增强I2=uint8(J);subplot(1,2,2),imshow(I2);实验结果如图所示:实验结果如图所示:(a)原始图像(b)处理后图像 实验结果图(4)实现真彩色图像与索引图像的互相转换。)实现真彩色图像与索引图像的互相转换。clear,clcclose allRGB1=imread(peppers.png);%读入真彩色图像读入真彩色图像X1,map1=rgb2ind(RGB1,128);%真彩色图像转化为索
11、引图像真彩色图像转化为索引图像imshow(X1,map1)%显示索引图像显示索引图像load clown;%载入图像载入图像rgb2=ind2rgb(X,map);%将索引图像转化为真彩色图像将索引图像转化为真彩色图像figure,imshow(rgb2)(a)真彩色图像(b)转换成的索引色图像(c)索引色图像(d)转换成的真彩色图像(5)图像相加是即将大小相等的两幅图像对应像素相加,下面为)图像相加是即将大小相等的两幅图像对应像素相加,下面为将将MATLAB软件自带图像进行相加处理得到。软件自带图像进行相加处理得到。clear,clcclose allIbackground=imread(
12、rice.png);%读入第一个图像读入第一个图像imshow(Ibackground)J=imread(cameraman.tif);%读入第二个图像读入第二个图像figure,imshow(J)K2=imadd(Ibackground,J,uint16);%图像相加图像相加figure,imshow(K2,)实验结果如图所示实验结果如图所示:(a)rice(b)cameraman(c)相加后的图像 4、实验内容程序设计部分、实验内容程序设计部分(1)对灰度图像、真彩色图像实现读取、显示和保存。)对灰度图像、真彩色图像实现读取、显示和保存。(2)matlab图像文件夹中的图像文件夹中的mri
13、.tif是一个包含是一个包含27帧、图像尺寸为帧、图像尺寸为128*128的多帧索引图像,请将前的多帧索引图像,请将前20帧图像顺序读入到一个数组中帧图像顺序读入到一个数组中并显示出来。并显示出来。(3)通过图像点运算减弱图像对比度。)通过图像点运算减弱图像对比度。(4)分别将索引色图像转换为灰度图像和二值图像,并将灰度图)分别将索引色图像转换为灰度图像和二值图像,并将灰度图像转换为索引色图像像转换为索引色图像(5)求对任意两幅大小不相等的图像相加的结果,并加以验证用)求对任意两幅大小不相等的图像相加的结果,并加以验证用语句:语句:K2=Ibackground+J;代替示例程序中代替示例程序中
14、K2=imadd(Ibackground,J,uint16);的处理结果是否相同。的处理结果是否相同。8.2 图像增强技术实验图像增强技术实验 1、实验目的、实验目的(1)了解图像增强的目的和意义。)了解图像增强的目的和意义。(2)掌握)掌握MATLAB中常用的图像增强函数的使用方法。中常用的图像增强函数的使用方法。(3)掌握图像灰度变换、图像平滑和图像锐化的算法原理。)掌握图像灰度变换、图像平滑和图像锐化的算法原理。2、实验中所用部分函数介绍、实验中所用部分函数介绍(1)imadjust 功能:调节灰度图像的亮度或彩色图像的颜色矩阵。功能:调节灰度图像的亮度或彩色图像的颜色矩阵。格式:格式:
15、J=imadjust(I,low_in;high_in,low_out;high_out,gamma)newmap=imadjust(map,low_in high_in,low_out high_out,gamma)RGB2=imadjust(RGB1,low_in high_in,low_out high_out,gamma)说明:说明:J=imadjust(I,low_in;high_in,low_out;high_out,gamma)中,将图像中,将图像I中的亮度值映射到中的亮度值映射到J中的新值,即中的新值,即将将low_in至至hige_in之间的值映射到之间的值映射到low_ou
16、t至至high_out之间的值。之间的值。它们都可以使用空的矩阵它们都可以使用空的矩阵,默认值是,默认值是0 1。newmap=imadjust(map,low_in high_in,low_out high_out,gamma)为调整索引色图像的调色板为调整索引色图像的调色板map。RGB2=imadjust(RGB1,low_in high_in,low_out high_out,gamma)为对为对RGB图像图像1的红、绿、蓝调色板分别进行的红、绿、蓝调色板分别进行调整。随着颜色矩阵的调整,每一个调色板都有唯一的映射值。调整。随着颜色矩阵的调整,每一个调色板都有唯一的映射值。参数参数ga
17、mma指定了曲线的形状,该曲线用来映射指定了曲线的形状,该曲线用来映射I的亮度的亮度值。如果值。如果gamma小于小于1,映射被加权到更高的输出值。如果,映射被加权到更高的输出值。如果gamma大于大于1,映射被加权到更低的输出值。如果省略了函数的参,映射被加权到更低的输出值。如果省略了函数的参量,则量,则gamma默认为默认为1(线性映射)。(线性映射)。(2)imhist 功能:计算和显示图像的色彩直方图功能:计算和显示图像的色彩直方图 格式格式:imhist(I,n);imhist(X,map)说明:说明:其中其中,n 为指定的灰度级数目为指定的灰度级数目,缺省值为缺省值为256;imh
18、ist(X,map)就算和显示索引色图像就算和显示索引色图像 X 的直方图的直方图,map 为调色为调色板板。(3)histeq 功能:实现直方图均衡化功能:实现直方图均衡化 格式:格式:J=histeq(I,n);J=histeq(I,hgram);J,T=histeq(I,.)说明:说明:J=histeq(I,n)指定均衡化后的灰度级数指定均衡化后的灰度级数n,缺省值缺省值64;J=histeq(I,hgram)是是 实现直方图的规定化,即将实现直方图的规定化,即将原图象原图象 I 的直方图变换成用户指定的向量的直方图变换成用户指定的向量 hgram,hgram 中的每中的每一个元素都在一
19、个元素都在 0,1 中;中;J,T=histeq(I,.)返回从能将图像返回从能将图像 I 的灰度直方图的灰度直方图变换成图像变换成图像J的直方图的变换的直方图的变换T。(4)filter2 功能:基于卷积的图象滤波函数功能:基于卷积的图象滤波函数 格式:格式:Y=filter2(h,X)说明:说明:Y=filter2(h,X)返回图像返回图像X经滤波算子经滤波算子h滤波后的结果,滤波后的结果,默认返回图像默认返回图像Y与输入图像与输入图像X大小相同。大小相同。(5)fspecial 功能:产生预定义滤波器功能:产生预定义滤波器 格式:格式:H=fspecial(type)H=fspecial
20、(gaussian,n,sigma)高斯低通滤波器高斯低通滤波器H=fspecial(sobel)Sobel水平边缘增强滤波器水平边缘增强滤波器H=fspecial(prewitt)Prewitt水平边缘增强滤波水平边缘增强滤波器器H=fspecial(laplacian,alpha)近似二维拉普拉斯运算滤近似二维拉普拉斯运算滤波器波器H=fspecial(log,n,sigma)高斯拉普拉斯(高斯拉普拉斯(LoG)运)运算滤波器算滤波器H=fspecial(average,n)均值滤波器均值滤波器H=fspecial(unsharp,alpha)模糊对比增强滤波器模糊对比增强滤波器(6)im
21、noise 功能:给图像增加噪声功能:给图像增加噪声 格式格式:J=imnoise(I,type);J=imnoise(I,type,parameter)说明:说明:J=imnoise(I,type)返回对图像返回对图像 I 添加典型噪声后的有添加典型噪声后的有噪图像噪图像 J,参数,参数 type 和和 parameter 用于确定噪声的类型和相应的用于确定噪声的类型和相应的参数。参数。(7)medfilt2 功能:二维中值滤波功能:二维中值滤波 格式:格式:B=medfilt2(A)用用33的滤波窗口对图的滤波窗口对图像像A进行中值滤波。进行中值滤波。B=medfilt2(A,m n)用指
22、定大小为用指定大小为mn的窗的窗口对图像口对图像A进行中值滤波。进行中值滤波。说明:说明:B=medfilt2(A)表示用表示用33的滤波窗口对图像的滤波窗口对图像A进行进行中值滤波。中值滤波。B=medfilt2(A,m n)表示表示 用指定大小为用指定大小为mn的窗口的窗口对图像对图像A进行中值滤波。进行中值滤波。(8)imfilter 功能:多维图像滤波功能:多维图像滤波 格式:格式:B=imfilter(A,h)说明:将原始图像说明:将原始图像 A 按指定的滤波器按指定的滤波器 h 进行滤波处理,处理进行滤波处理,处理后的图像后的图像 B 与与 A 的尺寸和类型相同。的尺寸和类型相同。
23、3、实验内容示例部分、实验内容示例部分(1)对图像进行灰度变换,实现反转图像效果。)对图像进行灰度变换,实现反转图像效果。clear,clcclose allI=imread(cameraman.tif);subplot(1,2,1)imshow(I),title(原始图像原始图像)I1=imadjust(I,0 1,1 0);%利用函数实现反转利用函数实现反转subplot(1,2,2)imshow(I1)title(负片图像负片图像)实验结果如图所示:实验结果如图所示:(a)原始图像(b)反转图像 反转效果(2)对原始图像进行直方图均衡化。)对原始图像进行直方图均衡化。clear,clcc
24、lose allI=imread(circuit.tif);subplot(2,2,1),imshow(I)title(原始图像原始图像)subplot(2,2,2),imhist(I)title(原始图像直方图原始图像直方图)J=histeq(I,256);subplot(2,2,3),imshow(J)title(均衡化后的图像均衡化后的图像)subplot(2,2,4),imhist(J)title(均衡化后图像的直方图均衡化后图像的直方图)直方图均衡化(3)给原始图像增加椒盐噪声和高斯噪声,再分别用中值滤波和)给原始图像增加椒盐噪声和高斯噪声,再分别用中值滤波和均值滤波处理图像。均值滤
25、波处理图像。%含椒盐噪声和高斯噪声图像分别用中值滤波和均值滤波处理含椒盐噪声和高斯噪声图像分别用中值滤波和均值滤波处理clear,clcclose allI=imread(eight.tif);J1=imnoise(I,salt&pepper,0.02);%添加椒盐噪声添加椒盐噪声J2=imnoise(I,gaussian,0.02);%添加椒盐噪声添加椒盐噪声subplot(2,3,1),imshow(J1);title(salt&pepper(J1);subplot(2,3,4),imshow(J2);title(gaussian(J2)Z1=medfilt2(J1,3,3);%中值滤波中
展开阅读全文