opencv-023-中值模糊

知识点

中值滤波本质上是统计排序滤波器的一种,中值滤波对图像特定噪声类型(椒盐噪声)会取得比较好的去噪效果,也是常见的图像去噪声与增强的方法之一。中值滤波也是窗口在图像上移动,其覆盖的对应ROI区域下,所有像素值排序,取中值作为中心像素点的输出值。

API

代码(c++,python)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <opencv2/opencv.hpp>

using namespace std;
using namespace cv;

int main() {
Mat src = imread("../images/sp_noise.png");
if (src.empty()) {
cout << "could not load image.." << endl;
}
imshow("input", src);

Mat dst;
medianBlur(src, dst, 5);
imshow("medianBlur", dst);

waitKey(0);
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
import cv2 as cv
import numpy as np


src = cv.imread("D:/sp_noise.png")
cv.namedWindow("input", cv.WINDOW_AUTOSIZE)
cv.imshow("input", src)

dst = cv.medianBlur(src, 5)
cv.imshow("blur ksize=5", dst)

cv.waitKey(0)
cv.destroyAllWindows()

结果

代码地址

github