OpenCV入门:平滑处理 — 高斯模糊

平滑处理 — 高斯模糊

相关函数:

C++: void GaussianBlur(InputArray src, OutputArray dst, Size ksize, double sigmaX, double sigmaY=0, int borderType=BORDER_DEFAULT)

参数解析:

  • src – 输入图片,可以使是任意通道数,该函数对通道是独立处理的,但是深度只能是CV_8UCV_16UCV_16SCV_32F or CV_64F.
  • dst – 输出图片,和输入图片相同大小和深度。
  • ksize – 高斯内核大小。ksize.widthksize.height允许不相同但他们必须是正奇数。或者等于0,由参数sigma的乘机决定。
  • sigmaX – 高斯内核在X方向的标准偏差。
  • sigmaY – 高斯内核在Y方向的标准偏差。如果sigmaY为0,他将和sigmaX的值相同,如果他们都为0,那么他们由ksize.widthksize.height计算得出。
  • borderType – 用于判断图像边界的模式。
  • 为了结果的正确性着想,最好是把第三个参数Size,第四个参数sigmaX和第五个参数sigmaY全部指定到。

相关实例:

#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 – 输入图片,可以使是任意通道数,该函数对通道是独立处理的,但是深度只能是CV_8U, CV_16U, CV_16S, CV_32F or CV_64F.
dst – 输出图片,和输入图片相同大小和深度。
ksize – 高斯内核大小。ksize.width和ksize.height允许不相同但他们必须是正奇数。或者等于0,由参数sigma的乘机决定。
sigmaX – 高斯内核在X方向的标准偏差。
sigmaY – 高斯内核在Y方向的标准偏差。如果sigmaY为0,他将和sigmaX的值相同,如果他们都为0,那么他们由ksize.width和ksize.height计算得出。
borderType – 用于判断图像边界的模式。

*为了结果的正确性着想,最好是把第三个参数Size,第四个参数sigmaX和第五个参数sigmaY全部指定到。
**/

int main() {
	cvNamedWindow("高斯模糊原图", 0);
	cvNamedWindow("高斯模糊效果图",0);

	Mat imageSrc = imread("game.jpg");
	imshow("高斯模糊原图", imageSrc);
	Mat imageChange;

	//高斯模糊处理
	GaussianBlur(imageSrc, imageChange, Size(7, 7), 0, 0);
	//显示效果图  
	imshow("高斯模糊效果图", imageChange);

	waitKey(6000 * 100);
}

效果图:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值