图形图像期末(课程设计).doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
图形图像期末(课程设计)

学院 图形图像处理与应用 题 目 对图像进行均值滤波 院(系)专业级班 学 号 姓 名 指导教师 成 绩 完成时间 2012 年 06 月 均 值 滤 波 均值滤波的原理 均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素(以目标象素为中心的周围8个象素,构成一个滤波模板,即去掉目标象素本身)。再用模板中的全体像素的平均值来代替原来像素值。 均值滤波也称为线性滤波,其采用的主要方法为邻域平均法。线性滤波的基本原理是用均值代替原图像中的各个像素值,即对待处理的当前像素点(x,y),选择一个模板,该模板由其近邻的若干像素组成,求模板中所有像素的均值,再把该均值赋予当前像素点(x,y),作为处理后图像在该点上的灰度个g(x,y),即个g(x,y)=1/m ∑f(x,y) m为该模板中包含当前像素在内的像素总个数。 均值滤波的实现算法 均值滤波将每个像素点的灰度值设置为以该点为中心的邻域窗口内的所有像素灰度值的平均值,以实现像素的平滑,达到图像去噪的目的。设输入图像信号为f(x,y),去噪处理后的输出图像为g(x,y),则有g(x,y)= | f(x,y)- ?u (x,y)| 。 通过上式可以达到消除信号噪声的目的,但对于其中的每一个灰度值来说,都需要按照式求取以该点中心的邻域窗口内所有像素的平均值,对长度为(2n+1)的信号来说,需要进行(2n+1)次加法、一次乘法、一次除法。所以说,均值计算占用了均值滤波处理的大量时间费用。 均值滤波应用 均值滤波就是在一定的时间内对输入信号进行连续的采样然后求出几次采样值的平均值。设x0...xi是采样值,yk是对采样进行平均值滤波的输出值,其关系如下: 在工程应用中,均值滤波对于周期性的干扰有很好的抑制作用,另外,均值滤波对于热噪声产生的干扰也有很好的抑制作用。 n的取值取决n系统的参数,如果系统对输入的灵敏度要求很高,则n的取值应比较小,如果系统的输入变化速度不快,系统对输入的灵敏性要求也不是很高,为了抑制干扰,提高输入的精度,可以将n取得比较大。 均值滤波器 均值滤波器也是平滑线性滤波器,常用于模糊处理和减小噪声,模糊处理 经常用于预处理。例如,在提取大的目标之前除去信号中的一些琐碎细节、桥接直线或曲线的缝隙。通过线性滤波器和非线性滤波器可以减小噪声。 程序设计: 具体代码如下: // MyDIPView.cpp : implementation of the CMyDIPView class // #include stdafx.h #include MyDIP.h #include MyDIPDoc.h #include MyDIPView.h #include math.h #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif /***************************************************** * * 函数名称: * Template: * * 参数: * HDIB hDIB -图像的句柄 * double *tem -指向模板的指针 * int tem_w -模板的宽度 * int tem_h -模板的高度 * double xishu -模板的系数 * * 功能: * 对图像进行模板操作 * * 说明: * 为处理方便起见,模板的宽度和高度都应为奇数 *******************************************************/ HDIB Template(HDIB hDIB,double * tem ,int tem_w,int tem_h,double xishu) { //统计中间值 double sum; //指向图像起始位置的指针 BYTE *lpDIB=(BYTE*)::GlobalLock((HGLOBAL) hDIB); //指向象素起始位置的指针 BYTE *pScrBuff =(BYTE*)::FindDIBBits((char*)l

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档