例如在下面给出的3×3的中值滤波窗口中

7 6 3

4 2 8

5 8 6

中心点像素的亮度值就变成f(2,2)=Med{7,6,3,4,2,8,5,8,6}=6,原本比周围的像素点暗很多的噪声点就被替换掉了,由此便可以达到抑制噪声的目的。

2.2 实现方法 

我们经常使用的中值滤波器窗口的形状事实上有很多种。本文只考虑方形一种情况的中值滤波,其他中值滤波可以有此情况类似完成。

用D=[f(i,j)] 表示输入的图像, f(i,j)表示在图像的亮度值矩阵中位于点(i,j)处的像素的亮度值。用H (i,j)来表示中心像素点位于(i,j)的大小为n×n的一个移动窗口。则当n=3时,有

H3(i,j)= 

在本系统设计的算法中取n=3,用G=[g(i,j)] 表示中值滤波处理后输出的图像。K(*)表示滤波器,则滤波后点g(i,j)=K(H3(i,j))。

详细的步骤如下:文献综述

1) 将滤波窗口H (i,j)在放在图像D=[f(i,j)] 左上角,窗口中心点f(i,j)与图像中某个像素的位置重合;

2) 记录该中心点对应像素的亮度值f(i,j);

3) 取这个亮度值中心点周围的8个值,按照其大小依次排序后取中值;

4) 把取得的中值赋给窗口中心位置的像素;

5) 将滤波窗口从左到右,从上到下移动,重复步骤2,3,4,直到滤波窗口移动到图像右下角;

6) 将赋值之后的中心点对应像素的像素值提取出来,形成中值滤波处理后的数组。

3 系统设计

3.1 可行性分析 

 Visual C++是微软推出的一款面向对象的程序设计语言,它全面兼容C语言,同时提供了比C语言更严格更安全的语法。它保持了C语言的简洁、高效和接近汇编语言等特点,对C的类型进行了改革和扩充。另外,它还提供了大量可以指导用户编程时实现某些技术和功能的代码。因此开发人员就不必从头设计、创建和管理一个标准Windows应用程序所需的程序,只需要从一个相对较高的起点开始编程,从而节约了大量的时间,也可以使程序的设计和开发变得更加容易。 

作为一个具有强大开发功能又可以面向对象的应用程序开发平台,Visual C++提供了各种函数、指针操作和直接对硬件的操作,可以快速实现图像的各种高性能处理及图像图形的显示。其优势主要在于三个方面:

1. Visual C++生成的汇编语言,可直接在处理器上运行,执行效率高。

2. Visual C++支持对内存的直接分配和释放,弥补的信息量的图像数据处理占用较大内存的困恼。

3. Visual C++中的指针是其独有的一种特殊的数据类型,能够获取和直接操纵地址,实现动态存储分配内存。

3.2 总体设计来,自|优;尔`论^文/网www.youerw.com

1. 先对要进行中值滤波的遥感图像,进行几何校正。

2. 然后用格式转换软件(如画图工具、PCI遥感图像处理软件等)将img格式的图像,转换为bmp格式的位图文件,方便进行像素的提取。

3. 在Visual C++中进行代码编写。

4.调试程序,对预处理后的图像进行中值滤波的处理

上一篇:基于VB+MapX的马陵山镇土地管理系统的设计与开发
下一篇:机器人最优路径模拟退火算法+源程序

基于Apriori算法的电影推荐

PHP+IOS的会议管理系统的设计+ER图

数据挖掘在电子商务中的应用

数据挖掘的主题标绘数据获取技术与实现

基于PageRank算法的网络数据分析

基于神经网络的验证码识别算法

基于网络的通用试题库系...

张洁小说《无字》中的女性意识

麦秸秆还田和沼液灌溉对...

安康汉江网讯

LiMn1-xFexPO4正极材料合成及充放电性能研究

互联网教育”变革路径研究进展【7972字】

老年2型糖尿病患者运动疗...

ASP.net+sqlserver企业设备管理系统设计与开发

新課改下小學语文洧效阅...

网络语言“XX体”研究

我国风险投资的发展现状问题及对策分析