作者:翟天保Steven
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处
函数原型
void medianBlur( InputArray src, OutputArray dst, int ksize );
参数说明
- InputArray类型的src,输入图像,如Mat类型。
- OutputArray类型的dst,输出图像。
- 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;
}
测试效果


中值滤波是比较简单的一种滤波操作,对滤波窗口内的数据进行排列取中值,可有效去除零散的噪点~
如果文章帮助到你了,可以点个赞让我知道,我会很快乐~加油!
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容