cv::boxFilter 和 cv::blur区别

cv::boxFilter 和 cv::blur 都是 OpenCV 库中用于图像平滑的函数,它们都执行均值滤波操作,但它们之间有一些细微的区别。

cv::boxFilter

  • 灵活性cv::boxFilter 提供了更多的灵活性,允许用户指定是否对滤波器进行归一化处理,以及是否需要在边界上进行填充(通过 borderType 参数)。
  • 归一化:默认情况下,cv::boxFilter 会进行归一化,即计算邻域内像素的平均值。但用户可以通过设置 normalize 参数为 false 来关闭归一化,这在某些情况下可能是有用的。
  • 核大小cv::boxFilter 允许核大小为任意正整数,也可以是一个 cv::Size 对象,而且可以是奇数或偶数。

cv::blur

  • 简单性cv::blur 是一个更简单的接口,它自动执行归一化均值滤波,并且没有提供 normalize 参数。
  • 边界处理cv::blur 默认使用 BORDER_DEFAULT 边界类型,这意味着它会在边界上执行反射填充,然后进行滤波。
  • 核大小cv::blur 的核大小必须是正奇数或者通过 cv::Size 对象指定,如果是偶数,它会自动增加1使其成为奇数。

主要区别

  • 归一化cv::boxFilter 允许关闭归一化,而 cv::blur 总是执行归一化均值滤波。
  • 核大小cv::boxFilter 可以接受偶数大小的核,而 cv::blur 在接收到偶数时,会自动将其调整为奇数。
  • 接口复杂度cv::boxFilter 提供了更多的选项和参数,而 cv::blur 提供了一个更简洁的接口,仅用于执行归一化均值滤波。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值