19.Laplance算子

1. 主要内容

  • laplance算子理论——二阶导数获得图像边缘
  • API讲解

2. laplance算子理论

(1) 基本理论

解释:在二阶导数的时候,最大变化处的值为0即边缘值是0,通过二阶导数计算,依据理论我们可以计算图像的二阶导数来提取边缘。

(2) laplance算子

不会计算二阶导数?使用拉普拉斯算子(Laplance operator)
在这里插入图片描述
opencv提供了相应的API————cv::Laplance

3. 处理流程

高斯模糊——去噪声GaussianBlur() 
转换为灰度图像cvtColor() 
拉普拉斯————二阶导数计算Lapacian() 
取绝对值convertScalarAbs() 
显示结果

Laplacian( )函数其实主要是利用sobel算子的运算。它通过加上sobel算子运算出的图像x方向和y方向上的导数,来得到我们载入图像的拉普拉斯变换结果。

4. API讲解

Laplacian(
    //InputArray类型的image,输入图像,即源图像,填Mat类的对象即可,且需为单通道8位图像。
    InputArray  src,
    //OutputArray类型的edges,输出的边缘图,需要和源图片有一样的尺寸和通道数。
    OutputArray dst,
    int depth,//int类型的ddept,目标图像的深度。
    int ksize,//int类型的ksize,用于计算二阶导数的滤波器的孔径尺寸,大小必须为正奇数,且有默认值1。
    double scale = 1,//double类型的scale,计算拉普拉斯值的时候可选的比例因子,有默认值1。
    double delta = 0.0,//double类型的delta,表示在结果存入目标图(第二个参数dst)之前可选的delta值,有默认值0。
    int borderType = 4// int类型的borderType,边界模式,默认值为BORDER_DEFAULT。
)

如果事后认为图像的对比不是很强烈,可以使用threshold()函数进行图像的二值化来提高图像的轮廓,当然也可以使用其他的方法。
提示:如果需要执行一个新的操作,最好不要总是将执行后的结果重新覆盖在原图像上,在你还不清楚图像的具体操作时,这样的操作是危险的。


此处对opencv的一点认知:
opencv是一个函数库,其中包含了各种大大小小的API供我们使用,为我们的程序设计提供很大的便利性,但是并不是图像处理就是要随便调用API就完事,需要自己对opencv这套函数库有一套自己的认识,通过各式各样的搭配组合才能获得最大的收获,得到想要的结果。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值