核半径无关计算复杂度的中值滤波matlab实现
要实现一个核半径无关的排序滤波器其实非常简单,所利用的不过是像素值的离散性和有限性而已。简单地说,就是滤波窗口内的像素值取值范围就是0~255(对于8bit图像而言),取同一个值的这些元素之间是没有差别的,所以根本没有必要真的进行排序,使用一个直方图统计出每种灰度值出现的次数,最后从前往后累加到指定位置(对于中值滤波而言就是大于等于一半元素位置)的个数时停止,此时对应bin的灰度值就是指排序的值。而进行直方图统计又有一个小技巧,那就是利用上相邻窗口之间大量的重叠元素,统计时只考虑改变的部分即可。