OpenCV2编程手册笔记之 6.3中值滤波器

    低通滤波器是一种线性滤波器,而今天要说的是一种非线性滤波器——中值滤波器

    中值滤波器在去除椒盐噪声的时候尤其有用,我们使用创建过的一个椒盐图像作为例子

    opencv中的medianBlur函数可以简单的帮我们完成这个操作

  void medianBlur( InputArray src, OutputArray dst, int ksize );
    这里ksize为核矩阵,这个矩阵是一个方阵,ksize代表了它的长和宽(ksize必须为奇数)

    medianBlur的原理是生成一个ksize*ksize方阵,并且对图像进行遍历,在ksize^2的面积上,函数将这片面积上的中值赋值给矩阵中心

    这样,我们就去除了椒盐噪声,因为椒盐噪声都是255,是最大值

    源代码:


  int main()
  {
	cv::Mat image = cv::imread("F:\\Image\\boldt2.jpg");
	cv::Mat result;
	cv::medianBlur(image, result, 3);
	cv::imshow("Cleaned Image", result);
	cv::waitKey(0);
        return 0;
  }


你可能感兴趣的:(OpenCV2,计算机视觉编程手册,学习笔记)