P19自定义滤波

(一)知识点:

①核心

 

 

 ②自定义均值滤波/非均值滤波

(二)API

①filter2D()

CV_EXPORTS_W void filter2D( InputArray src, OutputArray dst, int ddepth,
                            InputArray kernel, Point anchor=Point(-1,-1),
                            double delta=0, int borderType=BORDER_DEFAULT );

 参数详情(来源于(55条消息) opencv学习(七)之图像卷积运算函数filter2D()_烟雨博客-CSDN博客_filter2d

(55条消息) 【OpenCV 4】自定义滤波器:filter2D()_风语留痕-CSDN博客_filter2d opencv 

(55条消息) filter2D图像卷积_Zender-CSDN博客_filter2d参数 

当 ddepth 输入值为 -1 时,目标图像和原图像深度保持一致。

kernel:卷积核(或者是相关核),一个单通道浮点型矩阵。如果想在图像不同的通道使用不同的 kernel,可以先使用 split() 函数将图像通道事先分开。

anchor:内核的基准点(anchor),其默认值为 (-1,-1) 说明位于 kernel 的中心位置。基准点即 kernel 中与进行处理的像素点重合的点。

delta:在储存目标图像前可选的添加到像素的值,默认值为 0。

borderType:像素向外逼近的方法,默认值是 BORDER_DEFAULT,即对全部边界进行计算。

注意:滤波完成之后需要使用convertScaleAbs函数将结果转换为字节类型。

②ConverScaleABS()

CV_EXPORTS_W void convertScaleAbs(InputArray src, OutputArray dst,
                                  double alpha = 1, double beta = 0);

 解释(来源于(55条消息) opencv中convertScaleAbs函数执行原理_选择大于努力,方向决定努力的价值-CSDN博客_convertscaleabs

(55条消息) 【OpenCV3】cv::convertScaleAbs()使用详解_guduruyu的专栏-CSDN博客_convertscaleabs 

 参数详情:

  1. double alpha = 1.0, // 乘数因子

  2. double beta = 0.0 // 偏移量

总结: 

convertScaleAbs函数是一个位深转化函数,可将任意类型的数据转化为CV_8UC1。具体数据处理方式如下:

(1). 对于src*alpha+beta的结果如果是负值且大于-255,则直接取绝对值;

(2). 对于src*alpha+beta的结果如果大于255,则取255;

(3). 对于src*alpha+beta的结果是负值,且小于-255,则取255;

(4). 对于src*alpha+beta的结果如果在0-255之间,则保持不变;
 

(三)代码演示:

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值