openCV学习笔记九:图像滤波

首先介绍一下图像滤波的概念:
https://baike.baidu.com/item/图像滤波/11042217
滤波的两种方式:
一、线性滤波
1.方框滤波:boxFilter()函数
2.均值滤波:blur()函数
3.高斯滤波:GaussianBlur()函数
二、非线性滤波
1.中值滤波:medianBlur()函数
2.双边滤波:bilateralFilter()函数
实例代码如下:

#include
#include
#include
#include

using namespace std;
using namespace cv;

int main(int argc, char** argv)
{
Mat srcImg = imread(“1.JPG”, CV_LOAD_IMAGE_COLOR);
Mat dstImg;
Size size0 = Size(5, 5);
boxFilter(srcImg, dstImg, -1, Size(5, 5), Point(-1, -1), true); //方框滤波器 bool normalize参数设置为true时等同于均值滤波
//blur(srcImg, dstImg, size0); //均值滤波
//GaussianBlur(srcImg, dstImg, size0, 1);//高斯滤波
//medianBlur(srcImg, dstImg, 5);//中值滤波
//bilateralFilter(srcImg, dstImg, 5, 10.0, 2.0);//双边滤波
imshow(“src”, srcImg);
imshow(“dst”, dstImg);
waitKey(0);
}
openCV学习笔记九:图像滤波_第1张图片
运行结果如下:

openCV学习笔记九:图像滤波_第2张图片

你可能感兴趣的:(OpenCV学习笔记)