【OpenCV 4】图像中值滤波

一、编程环境:

OpenCV  4.1.0
IDE Visual Studio 2017 Enterprise (15.9.13)
操作系统 Windows 10 x64 中文专业版 (1903)

二、图像中值滤波:

中值滤波本质上是统计排序滤波器的一种,中值滤波对图像特定噪声类型(椒盐噪声)会取得比较好的去噪效果,也是常见的图像去噪声与增强的方法之一。

中值滤波同样是窗口在图像上移动,其覆盖的对应ROI区域下,所有像素值排序,取中值作为中心像素点的输出值。

三、程序说明:

  • OpenCV 中值滤波函数:medianBlur()
void medianBlur( InputArray    src, 
                 OutputArray   dst, 
                 int           ksize   //必是大于1的奇数值
               );

四、程序代码:

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

using namespace cv;
using namespace std;

int main(int argc, char** argv) {
	Mat src = imread("../images/test.jpg");
	if (src.empty()) {
		printf("不能加载图像!\n");
		return -1;
	}
	namedWindow("1--原图", WINDOW_AUTOSIZE);
	imshow("1--原图", src);

	Mat dst;
	//图像中值滤波
	medianBlur(src, dst, 5);
	imshow("2--medianblur(ksize=5)", dst);

	waitKey(0);
	return 0;
}

五、运行效果:

注意滤波后图像右上角的文字被消融了许多。

猜你喜欢

转载自blog.csdn.net/kingkee/article/details/93614399