数字图像处理实验报告[邻域平均法和中值滤波法]

数字图像处理实验报告[邻域平均法和中值滤波法]

ID:37930608

大小:22.98 KB

页数:13页

时间:2019-06-03

数字图像处理实验报告[邻域平均法和中值滤波法]_第1页
数字图像处理实验报告[邻域平均法和中值滤波法]_第2页
数字图像处理实验报告[邻域平均法和中值滤波法]_第3页
数字图像处理实验报告[邻域平均法和中值滤波法]_第4页
数字图像处理实验报告[邻域平均法和中值滤波法]_第5页
资源描述:

《数字图像处理实验报告[邻域平均法和中值滤波法]》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、word格式文档数字图像处理实验报告班级:姓名:学号:日期:邻域平均法和中值滤波处理专业整理word格式文档一、实验目的图像变换是数字图像处理中的一种综合变换,如直方图变换、几何变换等。通过本实验,使得学生掌握两种变换的程序实现方法。二、实验任务请设计程序,分别用邻域平均法,其模板为:和中值滤波法对testnoise图像进行去噪处理(中值滤波的模板的大小也设为3×3)。三、实验环境本实验在Windows平台上进行,对内存及cpu主频无特别要求,使用VC或者MINGW(gcc)编译器均可。四、设计思路介绍代码的框架结构、所用的数据结构、各个类的介绍(类的功能、类中方法的功能、类的成员变量的

2、作用)、各方法间的关系写。在此不进行赘述。 五、具体实现实现设计思路中定义的所有的数据类型,对每个操作给出实际算法。对主程序和其他模块也都需要写出实际算法。 代码:<邻域平均法>(3*3) 专业整理word格式文档#include  #include  #include  #include "hdr.h" /*------定义结构指针------*/ struct bmphdr *hdr;  //定义用于直方图变量unsigned char *bitmap,*count,*new_color; /*------main()函数编-

3、-----*/ int main()  {   //定义整数 i,j 用于函数循环时的,nr_pixels为图像中像素的个数int i, j ,nr_pixels,nr_w,nr_h; //定义两个文件指针分别用于提取原图的数据和生成直方图均衡化后的图像FILE *fp, *fpnew; //定义主函数的参数包括:输入的位图文件名和输出的位图文件名,此处内容可以不要,在DOS下执行命令的时候再临时输入也可,为了方便演示,我这里直接把函数的参数确定了。// argc=3; // argv[1]="test.bmp"; // argv[2]="testzf.bmp"; //参数输入出错显示/

4、* if (argc != 3) { 专业整理word格式文档printf("please input the name of input and out bitmap files"); exit(1); }*/  // 获取位图文件相关信息// hdr = get_header(argv[1]); hdr = get_header("testnoise.bmp"); if (!hdr) exit(1); //以二进制可读方式打开输入位图文件 fp = fopen("testnoise.bmp", "rb"); if (!fp) { printf("File open error!

5、n");  exit(1); } // 文件指针指向数据区域fseek(fp, hdr->offset, SEEK_SET); //计算位图像素的个数nr_pixels = hdr->width * hdr->height; nr_w = hdr->width; nr_h = hdr->height; bitmap = malloc(nr_pixels); new_color = malloc(nr_pixels); count = malloc((nr_w+2)*(+nr_h+2)); //读取位图数据到bitmap中fread(bitmap, nr_pixels, 1, fp); 专

6、业整理word格式文档 fclose(fp); //因为图像边缘无法使用邻域平均,所以根据邻近颜色填补图像的周围一圈,存入count[]数组中//中心图像存入count[]  for(i=nr_w+3;i<(nr_w+2)*(+nr_h+2)-nr_w-3;i++) {  j=i/(nr_w+2); if(i%(nr_w+2)!=0&&(i+1)%(nr_w+2)!=0) count[i]=bitmap[i-nr_w-1-2*j]; } //填补第一排for(i=1;i

7、w+1;i++) { count[(nr_w+2)*(nr_h+1)+i]=bitmap[nr_w*(nr_h-1)+i-1];  } //填补左边一排for(i=0;i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。