• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

求中位数滤波函数

499429803@qq.com 2018-04-12 浏览量:543
求中位数滤波函数
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 中位值滤波法

    /* N值可根据实际情况调整 排序采用冒泡法*/ 

    #define N 11 
    char filter() 
    { 
    	char value_buf[N]; 
    	char count,i,j,temp;
    	for ( count=0;count<N;count++)
    	{ 
    		value_buf[count] = get_ad(); 
    		delay(); 
    	} 
    	for (j=0;j<N-1;j++) 
    	{ 
    		for (i=0;i<N-j;i++) 
    		{ 
    			if ( value_buf>value_buf[i+1] ) 	
    			{ 
    				temp = value_buf; 	
    				value_buf = value_buf[i+1]; 
    				value_buf[i+1] = temp; 
    			} 
    		} 
    	} 
    	return value_buf[(N-1)/2]; 
    }

    • 发布于 2018-04-12
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:5
  • 对一列数据排序,然后取中间的那个索引号就可以了
    • 发布于2018-04-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 所谓中位数,首先需要排序,然后计数到N/2 进行输出,你还需要针对N的奇偶性做成选取那个的策略,奇数还好,直接有中间的,偶数你到底选哪个?!
    • 发布于2018-04-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 先排序,如果是奇数就索引数除2,如果是偶数舍掉第一位,成奇数
    • 发布于2018-04-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 先对一组数据排序,取中间的数据就可以
    • 发布于2018-04-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 就是将数据排序然后二分查找中间的值就可以了。

    • 发布于2018-04-29
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

求中位数滤波函数