均值滤波
高斯滤波:中心化对称
中值滤波:对3×3矩阵中,再来一个3×3矩阵,对其按顺序排序,取中值付给中间的,下面的150替换为中值124
双边滤波
#include<opencv2\opencv.hpp>
#include<iostream>
using namespace std;
using namespace cv;
int main(int argc, char* argv[]) {
Mat src, dst;
src = imread("D:/CAXA/练习/heidian.jpg");
if (src.empty())
{
return -1;
}
blur(src, dst, Size(15, 15));//均值滤波size参数为正基数
namedWindow("input image", CV_WINDOW_AUTOSIZE);
imshow("input image", src);
imshow("Blur image", dst);
Mat gs;
GaussianBlur(src, gs, Size(15, 15), 11, 11);//高斯滤波
imshow("GaussianBlur image", gs);
Mat median, m3;
medianBlur(src, median, 3);//中值模糊
bilateralFilter(src, m3, 15, 100, 3);//双边模糊
imshow("media image", median);
imshow("bilateralFilter image", m3);
Mat kernal = (Mat_<int>(3, 3) << 0, -1, 0, -1, 5, -1, 0, -1, 0);
Mat m4;
filter2D(m3, m4, -1, kernal, Point(-1, -1), 0);//双边+效果较好
imshow("Result image", m4);
waitKey(0);
return 0;
}