zoukankan      html  css  js  c++  java
  • 机器视觉——sobel算子边缘检测

      Sobel算法主要用于边缘检测,在技术上它是以离散型的差分算子,用来运算图像亮度函数的梯度的近似值, Sobel算子是典型的基于一阶导数的边缘检测算子,由于该算子中引入了类似局部平均的运算,因此对噪声具有平滑作用,能很好的消除噪声的影响。Sobel算子对于象素的位置的影响做了加权,与Prewitt算子、Roberts算子相比因此效果更好。 

      这次我们使用sobel算子边缘检测的方法来获取图像的边缘,任务图片如下:

       首先使用imshow()读取图片:

     

       接着使用Sobel()函数获取图片x,y轴上的边缘信息:

       其中CV_16S是为防止系统进行sobel运算后出现负值或大于255的值导致图片出现截断现象,而将图像数据类型改为16位有符号的数据类型。convertScaleAbs()函数是将其转换回原来的8位无符号数的形式将图片输出。经过sobel处理后得到如下两张图:

      x轴边缘

       y轴边缘

       接着使用addWeighted()函数将两张图组合起来,组合后的图片即是我们需要的图片边缘图像:

     

       最后一步,将图像反相,得到清晰的图片边缘图像:

     

       以上就是open CV使用Sobel算子边缘检测提取图片边缘的完整步骤。

  • 相关阅读:
    118. Pascal's Triangle
    697. Degree of an Array
    1013. Partition Array Into Three Parts With Equal Sum
    167. Two Sum II
    ol7 禁用mysql 自启动
    pgsql常用命令
    清空history 命令记录
    pgsql启动报错
    在rhel 7.4中安装glibc-devel-2.17-196.el7.i686包的过程详录
    postgresql-9.2 install
  • 原文地址:https://www.cnblogs.com/zhangmingfeng/p/12439505.html
Copyright © 2011-2022 走看看