均值滤波器的平滑效果:
滤波器尺寸小,会保留更多细节,平滑模糊效果差一些;
滤波器尺寸大,一次处理的图像区域也大,丢失细节更多,模糊效果好一些。
#include "opencv2/opencv.hpp"
#include "opencv2/imgproc.hpp"
#include "opencv2/highgui.hpp"
using namespace cv;
using namespace std;
int main() {
Mat img = imread("lena.jpg");
imshow("original", img);
Mat res;
//核尺寸
blur(img, res, Size(3, 3));
imshow("result", res);
waitKey(0);
return 0;
}
中值滤波:
#include "opencv2/opencv.hpp"
#include "opencv2/imgproc.hpp"
#include "opencv2/highgui.hpp"
using namespace cv;
using namespace std;
int main() {
Mat img = imread("lena.jpg");
imshow("original", img);
Mat res,res2;
//核尺寸
medianBlur(img, res, 3);
imshow("MedianResult", res);
blur(img, res2, Size(3, 3));
imshow("MeanResult", res2);
waitKey(0);
return 0;
}
高斯滤波
#include "opencv2/opencv.hpp"
#include "opencv2/imgproc.hpp"
#include "opencv2/highgui.hpp"
using namespace cv;
using namespace std;
int main() {
Mat img = imread("lena.jpg");
imshow("original", img);
Mat res,res2;
//核尺寸
medianBlur(img, res, 3);
imshow("MedianResult", res);
//滤波器尺寸5*5,标准差sigma在xy方向上为3,3
GaussianBlur(img, res2, cv::Size(5, 5), 3, 3);
imshow("GaussianResult", res2);
waitKey(0);
return 0;
}