1、1 数字图像处理课程设计数字图像处理课程设计 最大值、最小值滤波最大值、最小值滤波图像图像增强增强 实验目的实验目的:熟悉了解、学习 C、C+语言; 学习 VC+在图像处理中的应用; 深入了解图像的增强处理; 深入了解用最大值滤波、最小值滤波增强处理图像的基本知识; 掌握图像处理的基本方法掌握最大值、 最小值滤波的程序编写及其它图像增强处 理的程序编写的了解。 实验仪器:实验仪器: TestVC 软件,计算机,photoshop 软件。 实验原理:实验原理: 图像增强就是采用某些技术把质量低的图像进行计算机处理, 有选择地加 强或抑制图像中的某些信息, 改善图像质量, 提高人或机器对图像的分析
2、与判 读能力。 图像的增强处理方法一共有两种,分别是空间域方法和频域方法。空间域方 法主要是运用空间滤波对图像增强进行处理,所谓滤波,就是过滤掉图像中的一 些“成分”,对数字图像的直接滤波就是空间滤波(相对于频率域滤波) 。空间 滤波主要包括平均滤波、中值滤波、最大值滤波、最小值滤波等。空间滤波是通 过空间滤波器实现。空间滤波器就是在一个邻域(如包围该像素的一个小矩形区 域)里,对该邻域包围的像素的进行操作。空间滤波器包括线性滤波器如:线性 操作,如加、减、乘运算;非线性滤波器如:非线性操作。空间滤波器又叫模板, 类似于矩阵,大小有 3*3 模板、5*5 模板、9*9 模板等。 如:9*9 模
3、板: 空间滤波对图像的增强处理主要是通过模板运算实现的, 按照指定的模板进 行运算。 如右图,是对模板运算的 的图示解释。 111 111 111 9 1 )1 , 1()0, 1()1, 1( )1 ,0()0,0()1,0( )1 , 1()0, 1()1, 1( ),( www www www tsw P1 33 邻域 输入图像 (行,列) * P5的新值 加权和计算: H 1 P1 P2P3 P4P5P6 P7P8P9 33 卷积核 H 1 H 4 H 7 H 2 H 5 H 8 H 3 H 6 H 9 H 2 P2 H 3 P3 H 4 P4 H 5 P5 H 6 P6 H 7 P7
4、 H 8 P8 H 9 P9 2 模版运算实现的主要步骤: 1、将模板在图中遍历,并将模板中心与图中某个像素位置重合; 2、将模板上的各个系数与模板下的各对应像素的灰度值相乘; 3、将所有乘积相加; 4、将上述运算结果赋给模板中心位置的像素。 最大值滤波、最小值滤波的原理:设输出的图像为 g(x,y), 最大值滤波 最小值滤波 实验内容:实验内容: 1,在百度图库中寻找一张图片: 2,在 Photoshop 中,将图片改为宽 300 像素,高 300 像素的图片,模式保存为 RGB,8 位/通道,格式为 bmp,保存在 D 盘中,命名为:myimge; 3,打开 TestVC.dsw 工程文件
5、,再打开 mytest.cpp 文件,在指定位置输入程序 4,编译,调试,运行。 实验结果:实验结果: 一、利用 for 循环编写代码; 1.1 最大值滤波 for 循环主要代码: void CTestVCView:test(BYTE inimage300300,BYTE outimage300300) int i,j,max; for(i=1;imax) max=inimagei-1j-1; if (inimagei-1j+1max) max=inimagei-1j+1; if(inimageij-1max) max=inimageij-1; if(inimageij+1max) max=inimageij+1; if(inimagei+1j-1max) max=inimagei+1j-1; if(inimagei+1jmax) max=inimagei+1j; if(inimagei+1j+1max) max=inimagei+1j+1; 7 outimageij=max; 1.2 编码截图: 8 1.3 实验输入图像(左) 输出图像(右) 2.1 最小值滤波的主要编码; void CTestVCView:test(BYTE inimage300300,BYTE outimage300300) int i,j,min; for(i=1;i300;i+) for(j=1