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)
{
	//1.载入原图
	Mat image = imread("700levi.jpg");
	//2.创建窗口
	namedWindow("[原图]");
	namedWindow("中值滤波[效果图]");
	namedWindow("双边滤波[效果图]");

	//3.显示原图
	imshow("[原图]", image);
	//4.进行中值操作
	Mat out1;
	medianBlur(image, out1, 7);
	//5.进行双边滤波操作
	Mat out2;
	bilateralFilter(image, out2, 25, 25 * 2, 25 / 2);
	//6.显示效果图
	imshow("中值滤波[效果图]", out1);
	imshow("双边滤波[效果图]", out2);
	waitKey();
}

函数解析

中值滤波-medianBlur函数

 双边滤波-bilateralFilter函数

 效果

猜你喜欢

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