OpenCV之线性滤波: 方框滤波,均值滤波,高斯滤波

代码

#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:先学会用这几个函数,后面需要了解下底层的原理

猜你喜欢

转载自blog.csdn.net/sono_io/article/details/124629749