武汉大学数字图像处理课程综合实习实习报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字图像处理课程综合实习
实习报告
学院
班级
学号
姓名
日期
指导教师
一、实习目的和意义
本实习内容旨在让同学们通过用VC等高级语言编写数字图像处理的一些基本算法程序,来巩固和掌握图像处理技术的基本技能,提高实际动手能力,并通过实际编程了解图像处理软件的实现的基本原理。为学生进一步学习数字摄影测量、遥感和地理信息系统等专业课程以及应用图像处理解决实际问题奠定基础。
二、实习原理和方法
实习一实现RAW->BMP格式的转换
RAW格式:文件按照数字图像组成的二维矩阵,将像素按行列号顺序存储在文件中。这种文件只含有图像像素数据,不含有信息头,因此,在读图像时,需要根据文件大小,计算图像所包含的行列号,或者需要事先知道图像大小(矩阵大小)。但这种文件读取和保存简单。
RAW文件按图像上行到下行、左列到右列顺序存储,而BMP文件数据区按图像上下行到上行、左列列到右列顺序存储到数据区。
实现RAW文件到BMP文件的转换,需要为BMP文件生成文件头、信息头、颜色表、数据区,将RAW文件数据区赋值到BMP文件数据区。
实习二灰度线性变换
点运算是指像素值(即像素点上的灰度值)通过运算改变之后,可以改善图象的显示效果。这是一种像素的逐点运算,是旧图象与新图象之间的映射关系,是一种简单但却十分有效的一种图象处理手段。常用方法有灰度线性变换、直方图均衡、对比度调整、直方图规定化、对数变换、指数变换、密度分割等方法。
灰度的线性变换就是指图像的中所有点的灰度按照线性灰度变换函数进行变换。灰度变换方程如下:
D0=f(Di)=a*Di+b
该方程为线性方程。式中参数Di为输入图像的像素的灰度值,参数D0为输出图像的灰度,a和b由给定条件确定。
实习三图像局部处理:高通滤波和低通滤波
局部处理在处理某一像素时,利用与该像素相邻的一组像素,经过某种变换得到处理后图像中某一点的像素值。目标像素的邻域一般是由像素组成的二维矩阵,该矩阵的大小为奇数,目标像素位于该矩阵的中央,即目标像素就是区域的中心像素。经过处理后,目标像素的值为经过特定算法计算后所得的结果。
主要的局部处理算法有卷积、中值滤波sobel 边缘检测等,其中卷积算法的应用最广泛,大部分的局部处理都采用卷积算法来实现。
卷积可以简单地看成加权求和的过程。卷积时使用的权用一个很小的矩阵来表示,矩阵的大小是奇数,而且与使用的区域的大小相同。这种权矩阵叫做卷积核,区域中的每个像素分别与卷积核中的每个元素相乘,所有乘积之和即为区域中心像素的新值。比如,对于一个3x3的区域P 与卷积核K 卷积后,区域P 的中心像素5p 表示为:
∑==915.i i
i k p p
其中,P=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡98765
432
1p p p p p p p p p ,K=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡987654321k k k k k k k k k
卷积核中各元素叫做卷积系数。卷积核中卷积系数的大小、方向积排列顺序决定了卷积的图像处理效果,如低通滤波:图像平滑与模糊,高通滤波:图像锐化与清晰。通常采用3x3、5x5或7x7的卷积核,所有卷积核的行、列数都是奇数。
实习四 图像几何变换:缩放、旋转、平移、转置
1.图像平移
将图像中所有的点都按照指定的平移量水平、垂直移动。设(,
)为原图像上的一点,图像水平平移量,垂直平移量为,则平移
后点(,)的坐标变为(x1,y1)。
用公式和齐次坐标可以表示为
由此可以计算出平移后每个像素点的新位置,实现平移。
2.图像旋转
在笛卡尔坐标系中原始坐标为,旋转角后,坐标变为(),写成矩阵形式为
设旋转后新图像的左上角为原点,把笛卡尔坐标系中的坐标换到屏幕坐标系,计算原始坐标旋转角后的新坐标(),可先将笛卡尔坐标系原点(0,0)平移到坐标点,根据上式及上式的逆式进行旋转,最后平移回新的坐标原点。
设旋转前中心坐标为,旋转后中心坐标为。.
即
3.图像缩放
设源图中某个像素点坐标为,经缩放后的坐标为(),则有
4.图像转置
图像转置是一种较简单的几何变换,设源图中的某个像素点坐标为,其转置对应新图坐标为(),二者的关系如下
实习五图像边缘提取:中值滤波、边缘检测
中值滤波是一种典型的低通滤波器,它的目的是去除噪声,同时能保护图像边缘。中值滤波一般采用一个含有奇数个点的滑动窗口,将窗口中个点灰度值的中值来代替指定点(一般为窗口中心)的灰度值。对于奇数个元素,中值是取窗口中各元素按由小到大排序后中间的灰度值;对于偶数个元素,一般取排序后中间两个元素灰度值的平均值为中值。
对于阶跃状边缘,在边缘点处一阶导数有极值,因此可以利用这一特性通过计算每个像素的梯度来检测边缘点。对于离散图像来说,常用一阶差分近似表示一阶导数,即
fx’=f(x+1,y)-f(x,y)
fy’= f(x,y+1)-f(x,y)
为简化梯度的计算,常用下面的近似表达式:
grad(x,y)=max(|fx’|,|fy’|),或者grad(x,y)=|fx’|+|fy’|
常用的梯度算子有Roberts梯度算子、Prewitt算子和Sobel算子。对于阶跃状边缘,其二阶导数在边缘点出现零交叉,且边缘点两旁二阶导数取异号。对数字图像的每个像素计算关于x和y方向的二阶偏导数之和。
实习六基于灰度的模板匹配
所谓模板匹配,是根据模板与一幅图像的各部分的相似度判断其是否存在,并求得模板在图像中位置的操作。设模板T 叠放在搜索
图像S 上平移,模板覆盖的搜索区叫做子图像,i,j 为子图像的左上角在S 图像中的坐标,i, j 的取值范围为1
衡量子图像和模板之间的差别用平方误差之和或绝对差之和来表示,即
或者
也可用相关函数作为相似性测度
或者归一化为