#include "opencv2/core/core.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
#include <iostream>
int main(){
cv::Mat srcImage = cv::imread("3.jpg",0);
if(srcImage.empty())
return-1;
cv::imshow("srcImage",srcImage);
cv::Mat resBlurMat, resMedMat, resGauMat, resBilMat;
// 均值滤波
blur(srcImage, resBlurMat, cv::Size(5, 5), cv::Point(-1,-1));
// 中值滤波
medianBlur (srcImage, resMedMat, 5);
// 高斯滤波
GaussianBlur(srcImage,resGauMat,cv::Size(3,3),0,0);
// 双边滤波
bilateralFilter(srcImage,resBilMat,7,20.0,5.0);
cv::imshow("resBlurMat", resBlurMat);
cv::imshow("resMedMat", resMedMat);
cv::imshow("resGauMat", resGauMat);
cv::imshow("resBilMat", resBilMat);
cv::waitKey(0);
}
void cv::blur( InputArray src, OutputArray dst,
Size ksize, Point anchor, int borderType )
{
// 调用盒滤波器
boxFilter( src, dst, -1, ksize, anchor, true, borderType );
}
转载:http://blog.youkuaiyun.com/zhuwei1988