首页 技术 正文
技术 2022年11月15日
0 收藏 672 点赞 2,476 浏览 1481 个字

1.cvSmooth函数

函数 cvSmooth 可使用简单模糊、简单无缩放变换的模糊、中值模糊、高斯模糊、双边滤波的不论什么一种方法平滑图像。每一种方法都有自己的特点以及局限。 没有缩放的图像平滑仅支持单通道图像,而且支持8位到16位的转换(与cvSoble和cvaplace相似)和32位浮点数到32位浮点数的变换格式。

简单模糊和高斯模糊支持
1- 或 3-通道, 8-比特 和 32-比特 浮点图像。

这两种方法能够(in-place)方式处理图像。

中值和双向滤波工作于
1- 或 3-通道, 8-位图像,可是不能以 in-place 方式处理图像。

定义原型

void cvSmooth( const CvArr* src, CvArr* dst,int smoothtype=CV_GAUSSIAN,

                                 int param1, int param2, double param3, double param4 );

src:输入图像.

dst:输出图像.

smoothtype平滑方法:

CV_BLUR_NO_SCALE(简单不带尺度变换的模糊) – -对每一个象素的 param1×param2 领域求和。假设邻域大小是变化的,能够事先利用函数 cvIntegral 计算积分图像。

CV_BLUR (simple blur)——对每一个象素param1×param2邻域求和并做尺度变换 1/(param1×param2)。

CV_GAUSSIAN(gaussian blur)——对图像进行核大小为 param1×param2 的高斯卷积。

CV_MEDIAN(median blur)——对图像进行核大小为param1×param1 的中值滤波 (邻域是方的)。

CV_BILATERAL(双向滤波)——应用双向 3×3 滤波,彩色 sigma=param1。空间 sigma=param2.。

2.实例

IplImage* CaptureImg()
{
IplImage* pImg = NULL;
CvCapture* pCam = NULL;pCam = cvCreateCameraCapture(0);
if(NULL == pCam)
{
fprintf(stderr, "Can't init Camera!\n");
return NULL;
}cvSetCaptureProperty(pCam, CV_CAP_PROP_FRAME_WIDTH, 640);
cvSetCaptureProperty(pCam, CV_CAP_PROP_FRAME_HEIGHT,480);pImg = cvQueryFrame(pCam);
if(NULL == pImg)
{
fprintf(stderr, "Can't get one frame\n");
return NULL;
}cvSaveImage("Capture.jpg", pImg, 0);return pImg;
}//图像处理
IplImage* HandleImg(IplImage* pImg)
{
IplImage* pDst = NULL;if(NULL == pImg)
{
printf("The pImg you need handle is NULL!\n");
return NULL;
}pDst = cvCreateImage(cvGetSize(pImg), IPL_DEPTH_8U, 3);
//平滑处理
cvSmooth(pImg, pDst, CV_GAUSSIAN, 5, 5, 0, 0);
cvSaveImage("Smooth.jpg", pDst, 0);return pDst;
}

效果图:

         

模糊后:

版权声明:本文博客原创文章,博客,未经同意,不得转载。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,105
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,582
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,429
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,200
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,836
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,919