OpenCV之cvSmooth函数平滑滤波

        1、cvSmooth函数用法

             定义原型

<span style="font-size:12px;">  void cvSmooth( const CvArr* src, CvArr* dst,int smoothtype=CV_GAUSSIAN,int param1, int param2, double param3, double param4 );</span>
    src:输入图像.
    dst:输出图像.
    smoothtype平滑方法:

CV_BLUR_NO_SCALE(简单不带尺度变换的模糊)-对每个象素的 param1×param2 领域求和。如果邻域大小是变化的,可以事先利用函数 cvIntegral 计算积分图像. 但是该选项没有计算平均值的操作,所以比  CV_BLUR  的运算快,但是容易溢出,因此输入输出图像必须有不同的数值精度,才能保证不会溢出。 不缩放比例的simple blur 支持8位的图像输入,但是结果必须是   IPL_DEPTH_16S(CV_16S)   或者   IPL_DEPTH_32S(CV_32S)    简单无缩放的滤波不适合  IN_PLACE  方式:因为输入与输出类型必须不同。


CV_BLUR (simple blur)- -对每个象素param1×param2邻域求和并做尺度变换 1/(param1×param2)。
CV_GAUSSIAN(gaussian blur) - -对图像进行核大小为 param1×param2 的高斯卷积。
CV_MEDIAN(median blur) - -对图像进行核大小为param1×param1 的中值滤波 (邻域是方的)。
CV_BILATERAL(双向滤波) - -应用双向 3x3 滤波,彩色 sigma=param1,空间 sigma=param2.。

    关于双向滤波,可参考http://www.dai.ed.ac.uk/CVonline/LOCAL_COPIES/MANDUCHI1/Bilateral_Filtering.html
      param1  平滑操作的第一个参数.
      param2  平滑操作的第二个参数. 对于简单/非尺度变换的高斯模糊的情况,如果param2的值为零,则表示其被设定为param1。
      param3

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值