#include<opencv2/opencv.hpp>
#include<iostream>
using namespace cv;
int main(int argc, char** argv)
{
Mat src, dst;
src = imread("1.jpg");
if (!src.data)
{
printf("无\n");
return -1;
}
char input_title[] = "input image";
char output_title[] = "blur image";
namedWindow(input_title, WINDOW_FREERATIO);
namedWindow(output_title, WINDOW_FREERATIO);
imshow(input_title, src);
blur(src, dst, Size(5, 5), Point(-1, -1));//均值模糊
imshow(output_title, dst);
Mat gblur;
GaussianBlur(src, gblur, Size(15, 15), 11, 11);//高斯模糊
// Size必须为正值且奇数
namedWindow("gaussianblur", WINDOW_FREERATIO);
imshow("gaussianblur", gblur);
waitKey(0);
return 0;
}
效果图
双边滤波和中值滤波
#include<opencv2/opencv.hpp>
#include<iostream>
using namespace cv;
int main(int argc, char** argv)
{
Mat src, dst;
src = imread("1.jpg");
if (!src.data)
{
printf("无\n");
return -1;
}
namedWindow("input image", WINDOW_FREERATIO);
imshow("input image", src);
//medianBlur(src, dst, 3); //中值滤波(去噪点)
bilateralFilter(src, dst, 15, 150, 3);//双边滤波
namedWindow("median Filter Result", WINDOW_FREERATIO);
imshow("median Filter Result", dst);
waitKey(0);
return 0;
}