本文目录一览

1,均值滤波

均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素(以目标象素为中心的周围8个象素,构成一个滤波模板,即去掉目标象素本身)。再用模板中的全体像素的平均值来代替原来像素值。 均值滤波也称为线性滤波,其采用的主要方法为领域平均法。线性滤波的基本原理是用均值代替原图像中的各个像素值,即对待处理的当前像素点(x,y),选择一个模板,该模板由其近邻的若干像素组成,求模板中所有像素的均值,再把该均值赋予当前像素点(x,y),作为处理后图像在该点上的灰度个g(x,y),即个g(x,y)=1/m ∑f(x,y) m为该模板中包含当前像素在内的像素总个数。

均值滤波

2,lc滤波的计算

上图是常用经典算法,巴特沃斯型滤波电路的基本参数,截止频率为1/2π HZ(0.159),特征阻抗1Ω,首先要确定需要几阶,比如二阶,先归一化,再变换截止频率,M=200/0.159 L(new)=L(old)/M, C(new)=C(old)/M,再变换特征阻抗K=50/1, L(new)=L(old)*K, C(new)=C(old)/K,算出来的值便是最终待设计LC滤波的值。可选择 定K型滤波器则 L=R/(2πF)=1.5K/6.28*4K=59.7mH;C=1/(2πRF)=1/1.5K*6.28*4K=26.54nF也可选择巴特沃斯型 L=2Sin(2k-1/2n)π*R/(2πF)=84.4mH C=2Sin(2k-1/2n)π/(2πRF)=37.53nF (其中k,n=2)
我用过一个LC滤波器LC滤波器的特性,在品质因数不是特别低的情况下,以w0为转折频率,对于角频率远小于转折频率的输入信号,滤波器对其幅值的增益为0dB,即不放大也不衰减,滤波后相移为零;对于频率远大于转折频率的输入信号,滤波器按-40dB/十倍频的速率衰减,并且相移180度(基本上反相)。所以,为了获得好的滤波性能,一般需要滤波器的转折频率远大于输出基波频率,同时远小于开关频率 。实验LC滤波装置中,L=2.7mH,C=15μF,转折频率w0=根号LC分之一=4969rad/s,则f0=790Hz,而输出基波频率50Hz,开关频率为10k,所以设计满足要求。

lc滤波的计算

3,卡尔曼滤波公式 是什么啊

卡尔曼滤波公式 X(k)=A X(k-1)+B U(k)+W(k)卡尔曼滤波(Kalman filtering)一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。由于观测数据中包括系统中的噪声和干扰的影响,所以最优估计也可看作是滤波过程。斯坦利·施密特(Stanley Schmidt)首次实现了卡尔曼滤波器。卡尔曼在NASA埃姆斯研究中心访问时,发现他的方法对于解决阿波罗计划的轨道预测很有用,后来阿波罗飞船的导航电脑使用了这种滤波器。 关于这种滤波器的论文由Swerling (1958), Kalman (1960)与 Kalman and Bucy (1961)发表。数据滤波是去除噪声还原真实数据的一种数据处理技术, Kalman滤波在测量方差已知的情况下能够从一系列存在测量噪声的数据中,估计动态系统的状态. 由于, 它便于计算机编程实现, 并能够对现场采集的数据进行实时的更新和处理, Kalman滤波是目前应用最为广泛的滤波方法, 在通信, 导航, 制导与控制等多领域得到了较好的应用.
卡尔曼滤波器是一个“optimal recursive data processing algorithm(最优化自回归数据处理算法)”。对于解决很大部分的问题,他是最优,效率最高甚至是最有用的。他的广泛应用已经超过30年,包括机器人导航,控制,传感器数据融合甚至在军事方面的雷达系统以及导弹追踪等等。近年来更被应用于计算机图像处理,例如头脸识别,图像分割,图像边缘检测等等。

卡尔曼滤波公式 是什么啊

4,VC中值滤波快速算法

unsigned char WINAPI GetMedianNum(unsigned char * bArray, int iFilterH,int iFilterW)/* unsigned char m = mid( mid(bArray[0],bArray[1],bArray[2]), mid(bArray[3],bArray[4],bArray[5]), mid(bArray[6],bArray[7],bArray[8])); return m;*/ // 循环变量 int i; int j; int k; // 中间变量 unsigned char bTemp; int iFilterLen=iFilterH*iFilterW; float average=0;//用于均值加速 //求均值 for (i=0;i<iFilterLen;i++) average+=bArray[i]; } average=average/iFilterLen; unsigned char pixel_mid; pixel_mid=bArray[(iFilterH-1)/2*iFilterW+(iFilterW-1)/2];//滤波窗口中心的取中值前的像素值 if (abs(average-pixel_mid)>10) //均值加速,其中“10”为原中值和均值之差,根据你的实际情况自行设置大小 //if(1) //不用均值加速时选此 //超快速中值法(本质就是伪中值法) //行排列 if (0) for (k = 0; k < iFilterH; k ++) for (j = 0; j < iFilterH-1; j ++) for (i = 0; i < iFilterW-1-j; i++) number++; if (bArray[i+iFilterH*k] > bArray[i+iFilterH*k+1]) bTemp = bArray[i+iFilterH*k]; bArray[i+iFilterH*k] = bArray[i+iFilterH*k+1]; bArray[i+iFilterH*k+1] = bTemp; } } 还有什么疑问,把邮箱发给我。

文章TAG:滤波算法  均值滤波  
下一篇