OpenCV系列笔记(03) 边缘检测-滤波

滤波原图:

1.方框滤波示例代码如下:

Mat source = new Mat(@"d:\lena.png" , ImreadModes.Color);
Mat mat1 = new Mat();

//方框滤波
Cv2.BoxFilter(source, mat1, -1, new OpenCvSharp.Size(, ));
mat1.SaveImage("d:\\方框滤波.jpg");

 输出结果:

2.均值滤波

Mat source = new Mat(@"d:\lena.png" , ImreadModes.Color);
Mat mat1 = new Mat();

//均值滤波
Cv2.Blur(source, mat1, new OpenCvSharp.Size(5,5));
mat1.SaveImage("d:\\均值滤波.jpg");

输出结果:

3.高斯滤波

Mat source = new Mat(@"d:\lena.png" , ImreadModes.Color);
Mat mat1 = new Mat();

//高斯滤波
Cv2.GaussianBlur(source, mat1, new OpenCvSharp.Size(5, 5) , 0, 0);
mat1.SaveImage("d:\\高斯滤波.jpg");

输出结果:

4.中值滤波

Mat source = new Mat(@"d:\lena.png" , ImreadModes.Color);
Mat mat1 = new Mat();

//中值滤波
Cv2.MedianBlur(source, mat1 , 5);
mat1.SaveImage("d:\\中值滤波.jpg");

输出结果:

5.双边滤波

Mat source = new Mat(@"d:\lena.png" , ImreadModes.Color);
Mat mat1 = new Mat();

//双边滤波 
Cv2.BilateralFilter(source, mat1, 20 , 100  , 18 );
mat1.SaveImage("d:\\双边滤波 .jpg");

输出结果:

猜你喜欢

转载自www.cnblogs.com/howtrace/p/11005171.html