平滑处理 — 中值滤波
相关函数:
C++: void GaussianBlur(InputArray src, OutputArray dst, Size ksize, double sigmaX, double sigmaY=0, int borderType=BORDER_DEFAULT)
参数解析:
- src – 支持1、3、4通道图片输入,当ksize为3或者5时,图片的深度只能是CV_8U,,CV_16U,或者 CV_32F,对于其他大孔径尺寸只支持深度为CV_8U。
- dst – 输出图片,和输入图片相同大小和深度。
- ksize – 线性直径大小,只能是一个大于1的奇数,例如:3, 5, 7 ...
相关实例:
#include<opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>
#include"opencv2/imgproc/imgproc.hpp"
#include <stdio.h>
using namespace cv;
/*
中值滤波: void GaussianBlur(InputArray src, OutputArray dst, Size ksize, double sigmaX, double sigmaY=0, int borderType=BORDER_DEFAULT)
参数解析:
src – 支持1、3、4通道图片输入,当ksize为3或者5时,图片的深度只能是CV_8U,,CV_16U,或者 CV_32F,对于其他大孔径尺寸只支持深度为CV_8U。
dst – 输出图片,和输入图片相同大小和深度。
ksize – 线性直径大小,只能是一个大于1的奇数,例如:3, 5, 7 ...
**/
int main() {
cvNamedWindow("中值滤波原图", 0);
cvNamedWindow("中值滤波效果图",0);
Mat imageSrc = imread("寒冰射手.jpg");
imshow("中值滤波原图", imageSrc);
Mat imageChange;
//中值滤波处理
medianBlur(imageSrc, imageChange, 7);
//显示效果图
imshow("中值滤波效果图", imageChange);
waitKey(6000 * 100);
}