Smooth 函数 平滑处理函数 OpenCV
2012-04-16 19:22
381 查看
OpenCV Smooth 函数
各种方法的图像平滑void cvSmooth( const CvArr* src, CvArr* dst, int smoothtype=CV_GAUSSIAN, int param1=3, int param2=0, double param3=0 );
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的中值 (i.e. 邻域是方的).
CV_BILATERAL (双滤波) - 应用双向 3x3 滤波,彩色 sigma=
param1,空间 sigma=
param2. 关于双向滤波,可参考 http://www.dai.ed.ac.uk/CVonline/LOCAL_COPIES/MANDUCHI1/Bilateral_Filtering.html
param1平滑操作的第一个参数.param2平滑操作的第二个参数.
param2为零对应简单的尺度变换和高斯模糊。param3对应高斯参数的 Gaussian sigma (标准差). 如果为零,这由下面的核尺寸计算:
sigma = (n/2 - 1)*0.3 + 0.8, 其中 n=param1 对应水平核, n=param2 对应垂直核.
对小的卷积核 (3×3 to 7×7) 使用标准 sigma 速度会快。如果
param3不为零,而
param1和
param2为零,则核大小有
sigma 计算 (以保证足够精确的操作).
函数 cvSmooth 可使用上面任何一种方法平滑图像。每一种方法都有自己的特点以及局限。
没有缩放的图像平滑仅支持单通道图像,并且支持8位、16位、32位和32位浮点格式。
简单模糊和高斯模糊支持 1- 或 3-通道, 8-比特 和 32-比特浮点图像。这两种方法可以(in-place)方式处理图像。
中值和双向滤波工作于 1- 或 3-通道, 8-位图像,但是不能以 in-place 方式处理图像.
转载于:http://blog.sina.com.cn/s/blog_61c2cbe90100k6pv.html
相关文章推荐
- opencv2函数学习之blur,GaussianBlur,medianBlur和bilateralFilter:实现图像平滑处理
- OpenCV中常用到的轮廓处理函数汇总
- OpenCV入门:平滑处理 — 高斯模糊
- OpenCV中图像处理函数
- 【OpenCV_09】平滑/模糊图片 Smooth / Blur Images及 彩色图转 灰度图和二值化
- OpenCV入门:简单图像处理实例——平滑滤波
- openCV 视频平滑处理 小程序
- opencv第四课----smooth函数使用(提出几个课后作业,希望完成)
- opencv开源图像处理函数库在S3C2440移植
- Opencv 图像处理——平滑处理
- opencv图像处理常用函数
- opencv图像平滑处理
- opencv 简单、常用的图像处理函数(2)
- OpenCV中的平滑处理
- opencv图像边缘检测使用,先做平滑处理在进行边缘检测
- OpenCV 2.4.3 C++ 平滑处理分析
- OpenCV_图像元素处理常用函数
- OpenCV_常用图像处理函数与功能注释
- 【OpenCV3】平滑处理详解
- OpenCV入门:平滑处理 — 方框滤波