- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
高斯滤波报告
1摘要
各类图像处理系统在图像的采集、获取、传送和转换(如成像、复制扫描、传输以及显示等)过程中,均处在复杂的环境中,光照、电磁多变,所有的图像均不同程度地被可见或不可见的噪声干扰。噪声源包括电子噪声、光子噪声、斑点噪声和量化噪声。如果信噪比低于一定的水平,噪声逐渐变成可见的颗粒形状,导致图像质量的下降。除了视觉上质量下降,噪声同样可能掩盖重要的图像细节,在对采集到的原始图像做进一步的分割处理时,我们发现有一些分布不规律的椒盐噪声,为此采取相应的对策就是对图像进行必要的滤波降噪处理。
高斯滤波器是平滑线性滤波器的一种,线性滤波器很适合于去除高斯噪声。而非线性滤波则很适合用于去除脉冲噪声,中值滤波就是非线性滤波的一种。平滑滤波器就是用滤波掩模确定的邻域内像素的平均灰度值去替代图像的每个像素点的值,这很容易用硬件实现。而高斯滤波器是带有权重的平均值,即加权平均,中心的权重比邻近像素的权重更大,这样就可以克服边界效应。高斯滤波如果采用3×3掩模的具体公式如下: g(x,y)={f(x-1,y-1)+f(x-1,y+1)+f(x+1,y-1)+f(x+1,y+1)+[f(x-1,y)+f(x,y-1)+f(x+1,y)+f(x,y+1)]*2+f(x,y)*4}/16; 其中,f(x,y)为原图像中(x,y)像素点的灰度值,g(x,y)为经过高斯滤波和的值。
2系统软件部分
2.1 编程工具
CCS是一种针对TMS320系列DSP的集成开发环境,在Windows操作系统下,采用图形接口界面,提供有环境配置、源文件编辑、程序调试、跟踪和分析等工具。?CCS有两种工作模式,即?软件仿真器模式:可以脱离DSP芯片,在PC机上模拟DSP的指令集和工作机制,主要用于前期算法实现和调试。?硬件在线编程模式:可以实时运行在DSP芯片上,与硬件开发板相结合在线编程和调试应用程序。
CCS的开发系统主要由以下组件构成:?① TMS320C54x集成代码产生工具;?② CCS集成开发环境;?③ DSP/BIOS实时内核插件及其应用程序接口API;?④ 实时数据交换的RTDX插件以及相应的程序接口API;?⑤ 由TI公司以外的第三方提供的各种应用模块插件。
本程序主要再使用ccs3.3软件仿真功能,模拟DSP的指令集和工作机制实现BMP格式图像的读取以及进行高斯平滑滤波,并进行CCS软件显示处理后的图片。
2.2 系统软件设计
系统软件程序是基于ccs3.3开发平台,采用C语言编写。本程序采用模块化设计,系统软件设计如下:
1.利用matlib生成带有高斯噪声的图片
2. BMP格式图片读取
3. 高斯平滑滤波处理
4. CCS显示图片
2.3 实验结果
1显示配置
2.图片处理结果
3 程序代码
#includestdio.h
#includeIMG_thr_le2min.h
#define IMAGEWIDTH 256
#define IMAGEHEIGHT 256
void ReadImage(unsigned char *pImage,char *cFileName,int nWidth,int nHeight);
void Reverse(int nWidth,int nHeight);
void bmpDataPart(FILE* fpbmp);
void GaussSmooth();
#pragma DATA_SECTION(dbImage,my_sect)
#pragma DATA_SECTION(dbTargetImage,my_sect)
unsigned char dbImage[IMAGEWIDTH*IMAGEHEIGHT];
unsigned char dbTargetImage[IMAGEWIDTH*IMAGEHEIGHT];
unsigned char r[IMAGEHEIGHT][IMAGEWIDTH];
unsigned char g[IMAGEHEIGHT][IMAGEWIDTH];
unsigned char b[IMAGEHEIGHT][IMAGEWIDTH];
void main()
{
short rows, cols;
short threshold_value;
ReadImage(dbImage,D:\\Administrator\\My Pictures\\55.bmp,IMAGEWIDTH,IMAGEHEIGHT);
//Reverse(IMAGEWIDTH,IMAGEHEIGHT);
threshold_value =
文档评论(0)