首页 > 技术文章 > opencv3.2.0图像处理之方框滤波boxFilter API函数

wwwwtt 2017-12-18 20:24 原文

/*、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内核

推荐阅读