OpenCV入门:平滑处理 — 均值处理

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/WSDS_MZM/article/details/78938232

平滑处理 - 均值处理(模糊处理)

相关函数:

C++: void blur(InputArray src, OutputArraydst, Size ksize, Point anchor=Point(-1,-1), int borderType=BORDER_DEFAULT )  


参数解析:
  • src – 输入图片,可以使是任意通道数,该函数对通道是独立处理的,但是深度只能是CV_8UCV_16UCV_16SCV_32F or CV_64F。
  • dst – 输出图片,和输入图片相同大小和类型。
  • ksize – 模糊内核大小,一般这样写Size( w,h )来表示内核的大小( 其中,w 为像素宽度, h为像素高度)。Size(3,3)就表示3x3的核大小,Size(5,5)就表示5x5的核大小。
  • anchor – 锚点,默认值是(-1,-1),也就是锚点在内核的中心。
  • borderType – 用于判断图像边界的模式。有默认值BORDER_DEFAULT,我们一般不去管它。

相关实例:

#include<opencv2/core/core.hpp>  
#include<opencv2/highgui/highgui.hpp>  
#include"opencv2/imgproc/imgproc.hpp"  
#include <stdio.h>  

using namespace cv;

/*
均值处理:void blur(InputArray src, OutputArraydst, Size ksize, Point anchor=Point(-1,-1), int borderType=BORDER_DEFAULT );
src – 输入图片,可以使是任意通道数,该函数对通道是独立处理的,但是深度只能是CV_8U, CV_16U, CV_16S, CV_32F or CV_64F。
dst – 输出图片,和输入图片相同大小和类型。
ksize – 模糊内核大小,一般这样写Size(w, h)来表示内核的大小(其中,w 为像素宽度, h为像素高度)。Size(3, 3)就表示3x3的核大小,Size(5, 5)就表示5x5的核大小。
anchor – 锚点,默认值是(-1, -1),也就是锚点在内核的中心。
borderType – 用于判断图像边界的模式。有默认值BORDER_DEFAULT,我们一般不去管它。
**/

int main() {
	cvNamedWindow("均值滤波原图", 0);
	cvNamedWindow("均值滤波效果图",0);

	Mat imageSrc = imread("game.jpg");
	imshow("均值滤波原图", imageSrc);
	Mat imageChange;

	//平滑处理
	blur(imageSrc, imageChange, Size(7, 7));
	//显示效果图  
	imshow("均值滤波效果图", imageChange);

	waitKey(6000 * 100);
}


效果图:



猜你喜欢

转载自blog.csdn.net/WSDS_MZM/article/details/78938232