一、编程环境:
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;
}
五、运行效果:
注意滤波后图像右上角的文字被消融了许多。