OpenCV-中值滤波cv::medianBlur

作者:翟天保Steven
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处

函数原型

void medianBlur( InputArray src, OutputArray dst, int ksize );

参数说明

  1. InputArray类型的src,输入图像,如Mat类型。
  2. OutputArray类型的dst,输出图像。
  3. int类型的ksize,内核的大小,比如3,5,只能为奇数。

测试代码

#include <iostream>
#include <opencv2/opencv.hpp>

using namespace std;
using namespace cv;

int main()
{
	cv::Mat src = imread("girl.jpg");
	cv::Mat src1 = src.clone();
	for (int i = 0; i < src.rows;i=i+10)
	{
		for (int j = 0; j < src.cols; j=j+10)
		{
			src1.at<Vec3b>(i, j)[0] = saturate_cast<uchar>(0);
			src1.at<Vec3b>(i, j)[1] = saturate_cast<uchar>(0);
			src1.at<Vec3b>(i, j)[2] = saturate_cast<uchar>(0);
		}
	}
	cv::Mat result;
	cv::medianBlur(src, result, 3);
	imshow("original", src);
	imshow("noise", src1);
	imshow("result", result);
	waitKey(0);
	return 0;
}

测试效果

图1 加入噪声
图2 滤波效果图

       中值滤波是比较简单的一种滤波操作,对滤波窗口内的数据进行排列取中值,可有效去除零散的噪点~

       如果文章帮助到你了,可以点个赞让我知道,我会很快乐~加油!

© 版权声明
THE END
喜欢就支持一下吧
点赞19 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容