数字图像处理------中值滤波
一 中值滤波概念 中值滤波算法以某像素的领域图像区域中的像素值的排序为基础,将像素领域内灰度的中值代替该像素的值[1]; 如:以3*3的领域为例求中值滤波中像素5的值 图1 1)int pixel[9]中存储像素1,像素2...像素9的值; 2)对数组pixel[9]进行排序操作; 3)像素5的值即为数组pixel[9]的中值pixel[4]。 中值滤波对处理椒盐噪声非常有效。 二 中值滤波代码实现 项目工程: https://github.com/ranjiewwen/Everyday_Practice/tree/master/MedianFilter/MedianFilter/MedianFilter //中值滤波:本算法采用3*3的领域范围 void MyImage::MedianFilterOper() { //0. 准备:获取图片的宽,高和像素信息, int const num = 3 * 3; unsigned char pixel[num] = { 0 }; //保存领域的像素值 int width = m_bmpInfo.biWidth; int height = m_bmpInfo.biHeight; int widthbyte = (width * m_bmpInfo.biBitCount / 8 + 3) / 4 * 4; //保证为4的倍数 //相对于中心点