电子信息工程数字图像处理实验讲义修复的.docx
《电子信息工程数字图像处理实验讲义修复的.docx》由会员分享,可在线阅读,更多相关《电子信息工程数字图像处理实验讲义修复的.docx(11页珍藏版)》请在冰点文库上搜索。
电子信息工程数字图像处理实验讲义修复的
电子信息工程-数字图像处理实验讲义-(修复的)
实验报告书写要求:
XXX实验预习报告
1、实验目的
2、实验原理
3、实验内容
XXX实验报告
1、打印程序和图
2、实验总结
实验一matlab软件的基本应用
实验目的:
1、了解matlab软件界面;掌握matlab软件的基本应用;掌握图像读取、RGB图像灰度化、二值化原理和操作。
2、熟悉图像的代数运算过程;掌握加减乘除运算的基本原理和分析效果。
实验内容:
1、定义二维矩阵,观察workspace中变量信息;
2、读取彩色图像,显示真彩色图像、R、G、B三分量图;
3、读取彩色图像,进行灰度化和二值化,并显示效果图;
4、读取2幅图像,进行加减乘除代数运算,并显示最终效果图。
实验原理:
1、定义矩阵:
矩阵以左方括号”[”开始,以右括号”]”结束,每一行元素结束用行结束符号(分号“;”)或回车符分割,每个元素之间用元素分割符号(空格或逗号“,”)分隔。
建立矩阵的方法有直接输入矩阵元素、在现有矩阵中添加或删除元素、读取数据文件、采用现有矩阵组合、矩阵转向、矩阵移位及直接建立特殊矩阵等。
a=[123;456]
结果如下:
a=123
456
2、RGB图像,即真彩色图像,在matlab中存储为m×n×3的数据矩阵。
数组元素定义了图像中每个像素的红、绿、蓝颜色值。
读取图像函数为imread,显示图像为imshow,R、G、B均对应着m×n矩阵。
3、Matlab把灰度图像存储为一个数据矩阵,该数据矩阵中的元素分别代表了图像中的像素,其值为颜色的灰度值。
范围为[0,255],matlab函数为rgb2gray;与灰度图像相同,而至图像只需要一个数据矩阵,每个像素只能取两个灰度值0或1中的一个。
由灰度图转换为二值图的函数为im2bw。
4、图像的代数运算是图像的标准算术操作的实现方法,是两幅输入图像之间进行的点对点的加、减、乘、除运算后得到输出图像的过程。
如果输入图像为A(x,y)和B(x,y),输出图像为C(x,y),则图像的代数运算有如下四种形式:
C(x,y)=A(x,y)+B(x,y)
C(x,y)=A(x,y)-B(x,y)
C(x,y)=A(x,y)*B(x,y)
C(x,y)=A(x,y)/B(x,y)
图像处理工具箱中的代数运算函数
函数名
功能描述
Imadd
两幅图像的加法
Imdivide
两幅图像的除法
Immultiply
两幅图像的乘法
imsubtract
两幅图像的减法
实验二基于matlab的图像增强
实验目的:
1、掌握直方图均衡化的原理和方法;掌握平均滤波器、中值滤波的原理,以及对不同强度的高斯噪声和椒盐噪声进行滤波处理效果。
2、熟悉图像的锐化过程;掌握常用边缘检测算子的基本原理和检测效果。
实验内容:
1.观察各类图像的直方图,并利用直方图均衡方法进行图象增强;
2.图像的灰度线性变换;
3.完成对于给定图像加入噪声(高斯噪声和椒盐噪声),观察均值滤波和中值滤波的效果。
4.用各种边缘提取算子提取边缘,比较检测出的边缘的特点。
基本原理:
1.直方图的定义
图象的灰度直方图是一个函数,表示数字图象中每一灰度级与该灰度级出现的频数(即具有这一灰度级的象素数目)间的对应关系:
M为一幅图象所包含的象素总数;N(b)为图象中灰度值为b的象素总数。
通常,以灰度值b为横坐标,N(b)为纵坐标。
直方图是图象中象素灰度值的一阶概率分布密度的一种近似。
2.直方图均衡
直方图均衡(histogramequalization)就是通过点运算使输入图像的灰度分布较为均匀,使图像具有较好的视觉效果。
设r,s分别为原图和新图的灰度,r(r),s(s)分别为原图及新图的概率密度函数,则均衡变换为原图像的累积分布函数:
对于离散图像,均衡转换公式为:
其中,Lmax指图像中的最大灰度值(对于灰度图像就是255)。
邻域平均和中值滤波是两种常用的消除图像噪声的图像处理手段。
3、灰度的线性变换:
就是将图像中所有的点的灰度按照线性灰度变换函数进行变换
4.均值滤波
用均值滤波可以判断并消除孤立噪声。
通常邻域取成N⨯N方形窗,如N取4,例设f(x,y)、
分别表示(x,y)点的实际灰度和经邻域平均后的灰度,Oi(i=1,2,...8)表示其邻接各点的灰度,如图1,则邻域平均可表示为:
式中是和图象灰度有关的门限。
方形窗口沿水平和垂直两个方向逐点移动,从而平滑整幅图象,去除了孤立噪声。
简单的邻域平均会模糊图象。
5.中值滤波
采用邻域平均抑制噪声,在去除噪声的同时,不可避免地会使边缘轮廓模糊,因而使图象中包含的细节信息受到损失。
中值滤波在过滤噪声的同时,还能较好地保护边缘轮廓信息,对减少随机脉冲噪声和胡椒面式(pepper-and-saltnoise)噪声很有效。
中值滤波的原理是用一个窗口W在图象上扫描,把窗口内包含的图象象素按灰度级升(或降)序排列,取灰度值居中的象素灰度为窗口中心象素的灰度,便完成了中值滤波。
6.锐化与边缘检测
图像锐化的空间域方法可表示为模板卷积的形式。
如可将邻域平均处理看作一个作用于图象f(m,n)的低通滤波器,该滤波器的脉冲响应为H(r,s),用离散卷积表示如下:
k、l由邻域大小决定,一般取k=l=1(即3⨯3窗口);H(r,s)为加权函数,称为掩模(mask)或模板。
这种离散卷积运算等价于用模板中心点逐一对准每一象素f(m,n),然后将模板元素和它所“压上”的图象元素对应相乘,再求和,其结果就是该中心点象素平滑后的输出
。
图像锐化也可以用类似的方法表示。
用于锐化或检测边缘的常用模板算子有:
拉普拉斯算子:
Sobel算子:
Prewitt算子:
实验步骤:
1.给定一幅如下的图象(Matlab提供‘pout.tif’),作如下增强处理操作:
统计原图的灰度直方图,并利用直方图均衡方法进行图象增强;
显示直方图函数:
imhist()
直方图均衡函数:
histeq()
2.利用Matlab函数imnoise(),在原图上分别叠加高斯噪声和椒盐噪声,对比均值滤波和中值滤波的结果,并对结果做出分析,;
均值滤波的滤波模板自行设计,滤波过程可以利用预定义函数fspecial命令产生平均(average)滤波器。
中值滤波函数:
medfilt()
以上处理可以从demo里看到演示结果。
图1原始图像 图2直方图增强后的图像
图3原图直方图 图4直方图均衡后的图像直方图
图5叠加高斯噪声图 图6叠加椒盐噪声图
3.分别利用Sobel算子、prewitt算子、log算子canny算子等对图像进行边缘检测,并比较各边缘检测算子的性能。
参考函数:
edge()
图7Sobel算子边缘提取的结果
实验报告要求:
实验报告要求包括实验目的、实验内容(概括)、实验原理、实验步骤(要有具体的程序段)、每一步骤得到的实验结果和数据,以及对实验结果的分析,最后写出实验总结。
实验三基于matlab的图像复原
实验目的:
1、了解图像退化模型;
2、理解图像的恢复模型;
3、掌握matlab工具箱中提供的四种去模糊方法。
实验内容:
分别利用维纳滤波器复原、规则化滤波器复原,Lucy-richardson复原和盲反卷积复原4种方法进行图像去模糊。
实验原理:
1、图像退化的数学模型
图像复原的关键是建立图像的退化模型,一幅清晰的图像通过一个退化系统H,然后加入加性噪声能过生成一幅退化图像,图像的退化模型可以用下图描述。
2、图像的复原模型
图像复原根据退化原因,建立相应的数学模型,从被污染或畸变的图像信号中提取所需要的信息,沿着使图像降质的逆过程恢复图像本来面貌。
实际的复原过程是设计一个滤波器,使其能从降质图像g(x,y)中计算得到真实图像的估值(x,y),并根据预先规定的误差准则,最大程度地接近真实图像f(x,y)。
图像的退化/复原过程模型如图5.1.3所示。
3、matlab图像复原方法函数
函数名
滤波器
Deconvwnr
用wiener滤波器实现图像去模糊
Deconvreg
用regularized滤波器实现图像去模糊
Deconvlucy
用Lucy-Richardson滤波器实现图像去模糊
deconvblind
用盲反卷积算法实现图像去模糊
实验四基于matlab的图像分割
实验目的:
使用MatLab软件进行图像的分割。
使学生通过实验体会一些阈值分割对图像处理的效果,以及不同阈值对分割效果的影响。
实验内容:
分别利用otsu法、灰度法、直方图法、迭代法选取阈值,对灰度图像进行分割;直接进行彩色图像分割。
实验原理:
基于阈值的图像分割最关键的环节为如何选取合适的阈值。
阈值的好坏直接关系到图像分割的质量以及后续图像识别计数的正确率。
Matlab中利用im2bw函数对图像进行二值化,其默认方法为otsu法,格式为
灰度法利用matlab中graythresh函数对图像进行自动获取阈值,然后进行二值化操作,其格式为
直方图法是通过图像中目标与背景对比度较大,然后通过呈现的直方图选择目标和背景的分割灰度图,然后除以255后作为阈值进行图像分割。
迭代法思想:
(1)选一个初始阈值T(初始阈值为图像中最大亮度值和最小亮度值的中间值);
(2)用T分割图像,会产生两组像素,即亮度值大于或等于T的像素组成的G1和亮度值小于T的所有像素组成的G2;
(3)计算G1和G2范围内像素的平均亮度值T1以及T2;
(4)计算一个新的阈值:
T=1/2(T1+T2);
(5)重复步骤2到4,直到两次计算的阈值不再变化,即得到了最佳阈值,迭代停止分割。