OpenCV高斯差分技术实现图像边缘检测

本文介绍了如何利用OpenCV的高斯差分技术进行图像边缘检测。首先将图像转换为灰度图,然后应用不同半径的高斯模糊,通过两幅模糊图像相减获取边缘信息。虽然这种方法计算快速,但效果因图像而异,可能在某些场景下表现不佳。此外,文章还提到使用RxJava进行线程切换以避免UI阻塞。
摘要由CSDN通过智能技术生成

效果图

===

边缘检测结果

原图

源码

==

KqwOpenCVFeaturesDemo

边缘是图像中像素亮度变化明显的点。

高斯差分算法步骤

========

  1. 将图像转为灰度图像

    
    // 原图置灰
    
    Imgproc.cvtColor(src, grayMat, Imgproc.COLOR_BGR2GRAY);
    
    
  2. 用两个不同的模糊半径对灰度图像执行高斯模糊(取得两幅高斯模糊图像)

    
    // 以两个不同的模糊半径对图像做模糊处理
    
    Imgproc.GaussianBlur(grayMat, blur1, new Size(15, 15), 5);
    
    Imgproc.GaussianBlur(grayMat, blur2, new Size(21, 21), 5);
    
    
  3. 将两幅高斯模糊图像做减法,得到一幅包含边缘点的结果图像

    
    // 将两幅模糊后的图像相减
    
    Mat diff = new Mat();
    
    Core.absdiff(blur1, blur2, diff);
    
    

该方法只对图像做了高斯模糊&#x

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值