zoukankan      html  css  js  c++  java
  • 信号处理算法学习笔记一.中值滤波算法

    中值滤波算法

    中值滤波可以过滤尖峰脉冲。目的在于我们对于滤波后的数据更感兴趣。滤波后的数据保留的原图像的变化趋势,同时去除了尖峰脉冲对分析造成的影响。

    中值滤波是用中值取代了原来要处理的数据,采样长度越长,滤波效果越好,但是也会造成原始数据中过多信息的丢失。需要根据实际应用确定。

    按照项目要求定义函数类型即可。
    输入参数说明

    1. int* Array为整数指针。传入存储数据的数组地址
    2. FilterLen 滤波器长度 ,传入数组元素个数
    int Median_filter(int* Array, unsigned char FilterLen)
    {
       unsigned char i,j;
       int temp;
       
       // 用冒泡法对数组进行排序 ,从小到大排序 
       for (j = 0; j < FilterLen - 1; j++)
       {
       	 for(i = 0; i < FilterLen - 1 - j; i++)
       	 {
       	   if(Array[i] > Array[i+1])
       	   {
       	 	  //数据位置互换 
       	 	  temp = Array[i];
       	 	  Array[i] = Array[i+1];
       	 	  Array[i+1] = temp;
    	   }   	 	  	 	
    	 }
       }
          
       //判断奇偶,返回中值
       if((FilterLen & 1) > 0)
       {
          //数组有奇数个元素,返回中间一个元素
          temp =  Array[(FilterLen + 1) / 2];    	
       } 
       else
       {
          //数组有偶数个元素,返回中间两个元素的平均值
          temp = ( Array[FilterLen / 2] + Array[FilterLen / 2 - 1] ) / 2;
       }
       return  temp; 
    }
    

  • 相关阅读:
    python(4):Python应用场景
    python(3):python的优缺点
    MySQL(17):用户登录实例
    MySQL(16):参数化、封装
    MySQL(15):与python交互的增删改查
    MySQL(14):与python交互的类型
    MySQL(13):索引
    c++ --程序编译
    c++ -- 顺序容器操作
    c++ --string操作
  • 原文地址:https://www.cnblogs.com/ckk-blog/p/14034430.html
Copyright © 2011-2022 走看看