/*、1.方框滤波:boxFilter函数(注:均值滤波是归一化后的方框滤波)*/
/*函数原型: void boxFilter(InputArray src, OutputArray dst, int ddepth,Size ksize,Point anchor=Point(-1,-1),boolnormalize=true,int boderType=BORDER_DEFAULT) */
/*参数详解:
InputArray src-----源图像
OutputArray dst----目标图像
int ddepth----输出图像深度,输出图像深度,“-1”代表使用原图深度,即src.depth()
Size ksize----内核的大小,写法size(5x5),就表示5x5的内核大小
Point anchor-----表示锚点,默认值Point(-1,-1),坐标为负值,表示取核的中心
boolnormalize-----表示内核是否被其区域归一化,默认值为true
boderType----用于推断图像外部像素的某种边界模式,默认值BORDER_DEFAULT*/
/************ 新建QT控制台程序 *************/
#include <QCoreApplication>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main()
{
Mat srcImage=imread("Valley_logo.jpg");//读入原图
namedWindow("均值滤波[原图]");
namedWindow("均值滤波[效果图]");
imshow("均值滤波[原图]",srcImage);
//进行均值滤波操作
Mat dstImage;
boxFilter(srcImage,dstImage,-1,Size(5,5));
//显示效果图
imshow("均值滤波[效果图]",dstImage);
waitKey(0);
return 0;
}
运行结果如下:
原图 5X5内核 3X3内核