opencv学习笔记八:空间滤波

主函数如下:

#include
#include
using namespace cv;
using namespace std;
int main(int arc, char** argv)
{   
	Mat src,dst;
	src = imread("1.jpg");
	if (!src.data) {
		cout << "could not load image" << endl;
	}

	blur(src, dst, Size(5, 5), Point(-1, -1));//均值滤波	
        GaussianBlur(src, dst, Size(5, 5), 3, 3);//高斯滤波
	medianBlur(src, dst, 5);//中值滤波	
	bilateralFilter(src, dst, 5, 100, 3);//双边滤波

	Mat kernel = (Mat_(3,3) << 0, -1, 0, -1, 5, -1, 0, -1, 0);
	Mat result;
	filter2D(dst, result, dst.depth(), kernel, Point(-1, -1));//提高对比度

	namedWindow("src",CV_WINDOW_AUTOSIZE);
	imshow("input", src);
	imshow("output", dst);
	waitKey(0);
	return 0;
}

【1】均值滤波:用一个模板去原图像中滑动窗口,将窗口内对应图像所有像素的平均值作为模板中心这点的像素值,均值模板如下:

你可能感兴趣的:(opencv,均值滤波,高斯滤波,双边滤波,中值滤波)