opencv学习笔记(四)高斯滤波

本文是OpenCV学习笔记的第四部分,主要介绍高斯滤波。通过`cvGetSize()`获取图像尺寸,使用`cvCreateImage()`创建新图像,然后应用`cvSmooth()`进行图像平滑,包括高斯模糊。高斯滤波适用于消除高斯噪声,但会磨平图像边缘。文中还提及了中值滤波和双边滤波作为对比。
摘要由CSDN通过智能技术生成

上代码:

#include "highgui.h"
#include "cv.h"


void example2_4( IplImage* image )
{
IplImage* out = cvCreateImage(cvGetSize(image),IPL_DEPTH_8U,3);
cvSmooth( image, out, CV_GAUSSIAN, 3, 3 );
cvShowImage( "Example4-out", out );
cvReleaseImage( &out );
cvWaitKey(0);
cvDestroyWindow( "Example4-in" );
cvDestroyWindow( "Example-out" );
}


int main(int argc, char ** argv)
{
IplImage* img=cvLoadImage("a.jpg");
cvNamedWindow("Example4",CV_WINDOW_AUTOSIZE);
cvShowImage("Example4",img);
example2_4(img);
cvWaitKey(0);
cvReleaseImage(&img);
cvDestroyWindow("Example4");
}

4.1 cvGetSize()

定义:

CvSize cvGetSize( const CvArr* arr )

作用:

cvGetSize()作用是得到二维的数组的尺寸,以CvSize结构返回。

cvGetSize()是专为矩阵和图像设计的,这两种对象的维数总是2。其尺寸可以以CvSize结构的形式返回,例如当创建一个新的大小相同的矩阵或图像时,使用此函数就很方便。

4.1.1 CvSize

OpenCV提供了多种基本数据类型。其中有一种是CvSize类型&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值