高斯滤波报告_第1页
高斯滤波报告_第2页
高斯滤波报告_第3页
高斯滤波报告_第4页
高斯滤波报告_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1摘要各类图像处理系统在图像的采集、获取、传送和转换(如成像、复制扫描、传输以及显示等)过程中,均处在复杂的环境中,光照、电磁多变,所有的图像均不同程度地被可见或不可见的噪声干扰。噪声源包括电子噪声、光子噪声、斑点噪声和量化噪声。如果信噪比低于一定的水平,噪声逐渐变成可见的颗粒形状,导致图像质量的下降。除了视觉上质量下降,噪声同样可能掩盖重要的图像细节,在对采集到的原始图像做进一步的分割处理时,我们发现有一些分布不规律的椒盐噪声,为此采取相应的对策就是对图像进行必要的滤波降噪处理。高斯滤波器是平滑线性滤波器的一种,线性滤波器很适合于去除高斯噪声。而非线性滤波则很适合用于去除脉冲噪声,中值滤波就

2、是非线性滤波的一种。平滑滤波器就是用滤波掩模确定的邻域内像素的平均灰度值去替代图像的每个像素点的值,这很容易用硬件实现。而高斯滤波器是带有权重的平均值,即加权平均,中心的权重比邻近像素的权重更大,这样就可以克服边界效应。高斯滤波如果采用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

3、是一种针对TMS320系列DSP的集成开发环境,在Windows操作系统下,采用图形接口界面,提供有环境配置、源文件编辑、程序调试、跟踪和分析等工具。 CCS有两种工作模式,即 软件仿真器模式:可以脱离DSP芯片,在PC机上模拟DSP的指令集和工作机制,主要用于前期算法实现和调试。 硬件在线编程模式:可以实时运行在DSP芯片上,与硬件开发板相结合在线编程和调试应用程序。CCS的开发系统主要由以下组件构成:  TMS320C54x集成代码产生工具;  CCS集成开发环境;  DSP/BIOS实时内核插件及其应用程序接口API; 

4、; 实时数据交换的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 程序代码 #include<stdio.h>#i

5、nclude"IMG_thr_le2min.h"#define IMAGEWIDTH 256#define IMAGEHEIGHT 256void 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 D

6、ATA_SECTION(dbTargetImage,"my_sect")unsigned char dbImageIMAGEWIDTH*IMAGEHEIGHT;unsigned char dbTargetImageIMAGEWIDTH*IMAGEHEIGHT;unsigned char rIMAGEHEIGHTIMAGEWIDTH;unsigned char gIMAGEHEIGHTIMAGEWIDTH;unsigned char bIMAGEHEIGHTIMAGEWIDTH;void main() short rows, cols; short threshold_val

7、ue; ReadImage(dbImage,"D:AdministratorMy Pictures55.bmp",IMAGEWIDTH,IMAGEHEIGHT); /Reverse(IMAGEWIDTH,IMAGEHEIGHT); threshold_value = 100; cols = IMAGEWIDTH; rows = IMAGEHEIGHT; IMG_thr_le2min(dbImage, dbTargetImage, cols, rows, threshold_value); while (1); void ReadImage(unsigned char *pI

8、mage,char *cFileName,int nWidth,int nHeight) FILE *fp; if ( fp=fopen(cFileName,"rb" ) ) bmpDataPart(fp); GaussSmooth(); fclose(fp); void bmpDataPart(FILE* fpbmp) int i, j=0;int stride;unsigned char* pix=NULL;fseek(fpbmp, 0L, SEEK_SET);stride=(24*IMAGEWIDTH+31)/8;stride=stride/4*4;pix=(unsi

9、gned char *)malloc(stride); for(j=0;j<IMAGEHEIGHT;j+)fread(pix, 1, stride, fpbmp); for(i=0;i<IMAGEWIDTH;i+) rIMAGEHEIGHT-1-ji =pixi*3+2; gIMAGEHEIGHT-1-ji =pixi*3+1; bIMAGEHEIGHT-1-ji =pixi*3; /*平滑处理(高斯模板)*/ void GaussSmooth()int i,j;float btemp,gtemp,rtemp;int intbtemp,intgtemp,intrtemp;for(i

10、=1;i<IMAGEHEIGHT-1;i+) for(j=1;j<IMAGEWIDTH-1;j+) btemp = (bi-1j-1 + 2*bi-1j + bi-1j+1 + 2*bij-1 + 4*bij+ 2*bij+1 + bi+1j-1 + 2*bi+1j + bi+1j+1); gtemp = (gi-1j-1 + 2*gi-1j + gi-1j+1 + 2*gij-1 + 4*gij+ 2*gij+1 + gi+1j-1 + 2*gi+1j + gi+1j+1); rtemp = (ri-1j-1 + 2*ri-1j + ri-1j+1 + 2*rij-1 + 4*rij+ 2*rij+1 + ri+1j-1 + 2*ri+1j + ri+1j+1); intbtemp = (int)(btemp/16 + 0.5); intgtemp = (int)(gtemp/16 + 0.5); intrtemp = (int)(rtemp/16 + 0.5); if(intbtemp<0) intbtemp = 0; if(intbtemp>255) intbtemp = 255; if(intgtemp<

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论