#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;
}
本文介绍了使用OpenCV库进行图像处理的基本操作,包括读取图片、应用均值模糊、高斯模糊和双边滤波,展示了从基本输入到模糊效果的转换过程。通过实例演示了如何提高图像清晰度和去除噪声。

被折叠的 条评论
为什么被折叠?



