武汉大学数字图像处理课程综合实习实习报告Word下载.docx
- 文档编号:17306061
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:21
- 大小:397.55KB
武汉大学数字图像处理课程综合实习实习报告Word下载.docx
《武汉大学数字图像处理课程综合实习实习报告Word下载.docx》由会员分享,可在线阅读,更多相关《武汉大学数字图像处理课程综合实习实习报告Word下载.docx(21页珍藏版)》请在冰豆网上搜索。
P5PiK
i1
Pl
P2
P3
ki
k2
k3
P4
P5
P6
k4
k5
k6
其中,P=P7
P8
P9
,K=k7
k8
kg
卷积核中各元素叫做卷积系数。
卷积核中卷积系数的大小、方向积排列顺序决定了卷积的图像处理效果,如低通滤波:
图像平滑与模糊,高通滤波:
图像锐化与清晰。
通常采用3x3、5x5或7x7的卷积核,所有卷积核的行、列数都是奇数。
实习四图像几何变换:
缩放、旋转、平移、转置
1.图像平移
将图像中所有的点都按照指定的平移量水平、垂直移动。
设e,
■)为原图像上的一点,图像水平平移量•,垂直平移量为,则平移后点(:
:
,J的坐标变为(x1,y1)
用公式和齐次坐标可以表示为
由此可以计算出平移后每个像素点的新位置,实现平移
2.图像旋转
在笛卡尔坐标系中原始坐标为-,旋转,角后,坐标变为
尤1,V.
(「」),写成矩阵形式为
cosa
-fintr
设旋转后新图像的左上角为原点,把笛卡尔坐标系中的坐标换到屏幕坐标系,计算原始坐标'
「旋转二角后的新坐标('
>),可先将笛卡尔坐标系原点(0,0)平移到坐标点z吻,根据上式及上式的逆式进行旋转,最后平移回新的坐标原点
pi-1[10
卜H7
£
ina
cosct
设旋转前中心坐标为3息),旋转后中心坐标为险/泊
玄1=xcCQSof—jgsina—cos口+sincr—眄
3勺=xQsincd^—£
i0sina—cosa—
3.图像缩放
设源图中某个像素点坐标为■,经缩放后的坐标为
(
%)
,
则有
户]
ZoomX
Q
严申]
*
=
L1J
C
1
LiJ
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<
i,j<
N-M+1。
衡量子图像和模板之间的差别用平方误差之和或绝对差之和来表示,即
awnsvxwa=oa*xcBanw■IJLJi
D〔iJ)=工》p/wnj_■)]
ir.=1n=1
或者
也可用相关函数作为相似性测度
或者归一化为
实习七基于特征的模板匹配
由于图像往往有较强自相关性,因此,进行模板匹配计算的相似度就在以对象物存在的地方为中心形成平缓的峰。
这样,即使从图像
中对象物的真实位置稍微离开一点,也表现出相当高的相似度。
为了求得对象物的精确位置,总希望相似度分布尽可能尖锐一些。
为了达到这一目的,提出了基于轮廓特征的模板匹配方法。
轮廓
匹配与一般的匹配相比较,表现出更尖锐的相似度的分布。
但其方法与基于灰度的模板匹配相似,只是这里通过对图像轮廓等形状特征进行匹配,从而提高匹配精度。
实习八图像二值化
1.状态法(峰谷法)
如果一幅灰度图像的直方图有双峰和明显的谷,那么选择两峰之间的谷所对应的灰度T作为阈值,按下式进行二值化,即可将目标从图像中分割出来:
=k/fey)<
T
2.判断分析法
I順定櫥収图的获度区间为[0,Hb則选择•鋼值的像素分妁耳、:
两纽.—
召v)<
T橡素数为巧•灰度平均值为叫.方差为曲
]e2>
T像素散为叱*尿度平均值为叫.方差为於<
2)
阳像思慢索蛙為“I+w—灰卓均催为洞■伽严1+%叫)M州+%)*里向方垃为
云■W|屍+wacr;
.組间方羞为硏:
■甲伽_耐尸十叫(旳-rrt)1=i(jWj-ni])1
显然.组内方辇越小.则组内憾素越相假t组闾方差堪大,则纽间的差别越人.岡此.
为堀人辿昕对应的九轅是所求判酹分析法的分割網值.
三、实习过程和步骤
实习一实现RAW->BM格式的转换
1.打开自己实习所建的项目。
2.添加菜单项“RAW—〉BMP
3.为该菜单建立消息处理函数。
4.在函数定义处添加自己的源代码。
5.编译检查语法错误。
若编译通过,运行程序,检查是否正确实现RAV—〉BMP格式的转换。
流程图如下图所示:
TT尹口矿丁叶.办谓内召,料垃插法人内?
?
剧a乜■?
亂文龄人专<■■闿戈广Zg-amLxpmmE.iDEP..>三■址口竺;
M)約优悝■荷电具(苗置胡恬恐人辿种帕|BmiAPD^OHEADER.■£
己y<
st<
rra?
越T初鬥芜比■址T寤日喑间也*RGBQUADr芒职郴兹「
判斷愈懂摇打騎占孚节
航崔由是斗釣55養需
按(®
[tas)+3i)jn・町讣算世證的宝前存側畫
虫,曲巾刼乞丄,舟幻厅有媲書孑比峙融
耀过FFV.、忖ft
通宜从上剧卜、甌&
三'
皆环对肿有"
松JR值“M吋籽*卜充祜分』卜零.袒行为学怪写扎准图左严.
1•打开自己上次实习所建的项目,为该工程添加一个新类,用于实现对BMP格式图像文件进行处理的操作。
2.在新类中加入相应属性和操作。
3.在自己创建的类中添加线性拉伸操作。
4.添加一栏主菜单“图像增强”,再在其下拉菜单中加入一项“线性拉伸”子菜单。
建立消息处理函数。
5.为子菜单“线性拉伸”。
6.在函数定义处添加自己的源代码(通过自己建的类对象来实现)。
7.编译检查语法错误,若编译通过,运行程序,检查设计的灰度线性变换程序是否正确。
其流程图如下图所示:
茯取駆像囱度•蛮建,饋色数以堆捋一存所
片牛节豔盘仃关伯息
奄计服图像帰覽柘尽,卜灰度级{眾茨復范1恥
相据统性变换赴式让算线性査換后的MO
更新圈像
匹疔战禹返MTRLT
实习三图像局部处理:
1.打开上次实习所建的项目。
2.在自己创建的类中添加滤波操作。
3.添加菜单项分别建立“3X3低通滤波”、“3X3高通滤波”
4.为新加的两个菜单项分别建立消息处理函数。
5.在函数体内添加实现3X3低通滤波(或3X3低通滤波)的源代码。
6.编译检查语法错误,若编译通过,运行程序,检查是否确实实现局部处理算法。
1•打开上次实习创建的工程。
2.为该工程添加一个新类,用于实现有关BMP格式图像文件处理的各种操作。
3.在新类中加入相应属性和操作。
4.在菜单中加入“平移/缩放/旋转/转置”菜单项,并为其添加相应消息处理函数。
5.在函数定义处添加自己的源代码(通过调用新建类的对象中相应的操作来实现)。
6.编译检查语法错误,若编译通过,运行程序,检查上述变换是否正确。
其流程图如下图所示:
*fl
F
炳更!
調煙喜慮、宅恵、额企舒・砖行所占字节叢决能■尊丈彷节耳鹫信忌
大心楣辰的同曇否蛊功丫
¥
*
将桂4:
甞毛槪荐”哉看山溝的内存屯
亟冋EA1SE
故置吏・i・j*H«
,jO4>
MStt«
»
J6
ft倉空标和更豊樽犠■坐幹
通垃■歼从上耋几弦找商新圈体稈「避色汁样其乏袴亍.的护悴占i:
ic.理
幡匡世标症■的■
僕总.伍为工处
用B・14用像錠转处理的流程用
也乂变虽・调用DIB.方法摄衍播象氏•宽、厅字节.位数豐
碾据稱放比例订再綁阳像大小.
用3-15
讣惮悼图煙与斷阁像等僅素对网像柔坐标’茂礙祈阳價中施皈斎哦強
起廉翁放处理的流弄圄
•为新图華分配内存
(1)中值滤波
1.打开上次实习所用的项目。
2.在自己创建的类中添加中值滤波操作。
3.添加菜单项“中值滤波”。
4.为新加的菜单项建立消息处理函数。
5.在函数体内添加实现中值滤波的源代码。
6.编译检查语法错误,若编译通过,运行程序,检查是否正确实现中值滤波算法。
(2)边缘检测
2.在自己创建的类中添加各种边缘检测操作。
3.添加菜单项“边缘检测”,再为“边缘检测”菜单添加子菜单项“Roberts边缘检测”、“Prewitt边缘检测”、“Sobel边缘检测””
5.在函数体内添加实现中值滤波的源代码(通过类对象中的操作来实现)。
6.编译检查语法错误,若编译通过,运行程序,观察与分析边缘检测算子检测结果。
其算法与流程与局部处理相似,此处略去。
1.打开上次实习所用的项目
2.在自己创建的类中添加基于灰度的模板匹配操作。
3.添加菜单项“基于灰度的模板匹配”。
6.编译检查语法错误,若编译通过,运行程序,观察基于灰度模板匹配得到的结果是否与模板一致。
2.在自己创建的类中添加基于特征的模板匹配操作。
3.添加菜单项“基于特征的模板匹配”。
6.编译检查语法错误,若编译通过,运行程序,观察基于特征模板匹配得到的结果是否与模板一致。
其流程与基于灰度的模板匹配流程相似,但在计算模板与重叠影像的相关系数之前,先要将模板和位图都进行边缘提取。
实习八图像二值化
1.打开上次实习所用的项目。
2.在自己创建的类中添加各种图像分割算法操作。
3.添加菜单项“状态法(峰谷法)/判断分析法”。
5.在函数体内添加实现中值滤波的源代码(通过类对象中的操作来实现)。
6.编译检查语法错误,若编译通过,运行程序,观察判断两种方法的分割效果,对结果进行分析和比较。
0XC-OO1
四、实习结果分析与评价
文件(Fi痍車E}亘盲M还疗匿嗥搐式转换冒墟左强几何更匱擁分割模版匹匱也(W)帮臥H)
D曲日|X「:
F昌?
打开一张图像后,显示的菜单项如下图所示:
文恃旧壹看(V)帮瞅H)
D也翳亀1场
运行程序时,显示的菜单项如下图所示:
(1)实现RAW->
点击“格式转换”菜单项的子菜单项“RawtoBmp”,出现以下
对话框:
RawToBmp
此对话框优点在于能够根据给定的Raw格式自动算出图像的宽和高,但两个组框的功能尚未实现,且转换后的图像相对于原图像是倒的。
。
先打开一幅灰度图像,选择“图像增强”中的“线性变换”子菜单,可以出现如下对话框:
(2)灰度线性变换
输入范围后可调整图像的灰度范围
(3)图像局部处理:
高通滤波,低通滤波和中值滤波
选择“图像增强”菜单中的“局部处理”子菜单,会弹出几个子菜单,有3*3高通滤波,3*3低通滤波,中值滤波,选择后直接对图像进行处理。
3*3高通滤波:
3*3低通滤波:
中值滤波:
(4)图像几何变换:
平移、缩放、旋转选择菜单项,会弹出对应的对话框,平移:
缩放:
旋转:
(5)图像边缘检测:
Roberts算子,Prewitt算子,Sobel算子
边缘检测的算子则可以将图像轮廓的边缘提取出来。
如下图所
示:
Roberts算子:
Prewitt算子:
Sobel算子:
1,
浏览
■
I丫JW:
.-
选择了模板文件后,开始匹配,其结果如下图所示:
(6)基于灰度的模板匹配
先打开一幅8位位图,选择对应的菜单项后,会弹出如下对话框:
基于茯虔的鳞匹配
模版文件路径=
该方法的缺点是运算速度太慢。
(7)基于特征的模板匹配
该程序的过程和基于灰度的模板匹配基本一样,其结果如下图:
(8)图像二值化
下图所示分别为状态法和判断分析法的结果:
其中,状态法比较简单,但不适合于两峰值相差较大、有宽且平的谷底的图像。
五、实习总结与体会
通过这次数字图像处理实习,我受益匪浅。
它不仅让我对数字图像处理这门课程有了更深刻的理解,加深和巩固了所学的知识,还让我的VC+编程的水平得以提高。
在这次实习中,我发现了许多自身的不足。
首先,我对数字图像处理这门课程中的一些知识及原理并未真正掌握,即“知其然却不知其所以然”。
其次,通过这次实习也让我深刻意识到自己的编程能力还亟待提高。
由于自身编程水平的不足,刚开始实习时,感到有些手足无措。
但是在老师和同学的指点及自己的不断尝试下,渐渐掌握了一些方法。
鉴于自己出现的这些情况并非特例,我觉得以后在这门实习之
前,老师可以集中讲一下必要的VC+及MFC的相关知识,相信会对大家有所帮助。
此外,由于这门实习对学习数字图像处理这门课程本身也很有帮助,可以将其中的一些编程作为作业留给大家,这样能够更好地帮助大家理解和掌握这门课程。
成绩评定
项目
得分
文字正确、语句通顺,内容充实、详略得当(10分)
原理叙述清楚(10分)
算法设计正确(20分)
过程清楚、步骤详细(20分)
对实验结果分析恰当、能分析算法的优点和不足,并叙述正确(20分)
成果验收答辩讲叙清楚、回答问题正确(20分)
发现有拷贝、雷同、抄袭(视情况扣大于30分)
总成绩
教师签名
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 武汉大学 数字图像 处理 课程 综合 实习 报告