代码
#include <iostream>
#include <opencv2/opencv.hpp>
#include <time.h>
#include <opencv2/core.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/videoio.hpp>
#include <opencv2/video.hpp>
using namespace cv;
using namespace std;
//main
int main(int argc, char** argv)
{
//载入原图
Mat image = imread("700levi.jpg");
//创建窗口
namedWindow("原图");
namedWindow("方框滤波[效果图]");
namedWindow("均值滤波[效果图]");
namedWindow("高斯滤波[效果图]");
//显示原图
imshow("原图", image);
//进行均值滤波操作
Mat out1;
boxFilter(image, out1, -1, Size(5, 5), Point(-1, -1), true);
Mat out2;
blur(image, out2, Size(7, 7));
Mat out3;
GaussianBlur(image, out3, Size(3, 3), 0, 0);
//显示效果图
imshow("方框滤波[效果图]", out1);
imshow("均值滤波[效果图]", out2);
imshow("高斯滤波[效果图]", out3);
imwrite("qq.jpg", out3);
waitKey();
}
函数解析
方框滤波-boxFilter函数


均值滤波-blur函数

高斯滤波-GaussianBlur函数

效果

ps:先学会用这几个函数,后面需要了解下底层的原理
这篇博客展示了如何利用OpenCV库进行图像处理,包括方框滤波、均值滤波和高斯滤波。通过`boxFilter`、`blur`和`GaussianBlur`函数,对图像进行平滑操作,生成了滤波后的效果,并保存了高斯滤波的最终结果。这为后续深入理解图像滤波原理打下了基础。
2128

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



