zoukankan      html  css  js  c++  java
  • OpenCV2:高中篇 图像锐化技术-边缘检测算子

    一.简介

    从一张图像中,把轮廓提取出来

    边缘检测算子:Sobel  Laplace Roberts  Prewitt Canny 及 Marr-Hildreth

    任何边缘检测算法都不可能在未经处理的原始数据上很好地处理,所以第一步是对原始数据与高斯平滑模板作卷积

    二.边缘提取

    1.Canny

    Canny边缘检测的基本思想是:首先对图像选择一定的Gauss(高斯)滤波器进行平滑滤波,然后采用非极值抑制技术进行处理得到边缘图像

    Canny算子法实现的方式为:图像先用2D高斯滤波模板进行卷积以消除噪声,再对滤波后图像中的每个像素计算其梯度的大小和方向

    (1)降噪

    (2)寻找梯度

    (3)跟踪边缘

    Canny算法分为4个步骤:

    (1)滤波平滑噪声

    任何边缘检测算法都不可能在未经处理的原始数据上工作,第一步是对原始数据与高斯mask作卷积,得到的图像与原始图像有些轻微模糊,用高斯滤波器来处理高斯平滑的图像

    (2)利用已有的一阶偏导算子计算梯度

    Canny算法的基本思想是寻找一副图像中灰度强度变化最强的位置,变化最强即梯度位置,平滑后的图像中每个像素点可以由Sobel算子(一种卷积运算)来获得

    (3)非极大值抑制

    这一步是将模糊(blurred)的边界变得清晰(sharp),保留了每个像素点上的梯度强度大的极大值,而删掉其他值

    (4)双阈值法抑制假边缘,连接真边缘

    强边界用白色表示,弱边界用灰色表示,通过这样来去除噪声点

    CV_EXPORTS_W void Canny(InputArray image,

                                                      OutputArray edges,

                                                       double threshold1, double threshold2,

                                                       int apertureSize=3,

                                                       bool L2gradient=false)

    • image,edges

        输入和输出图像

    • threshold1,threshold2

        底阈值和高阈值,值越大,找到的边缘越少

    • apertureSize

        表示应用Sobel算子的孔径大小,默认值为3

    • L2gradient

        表示一个计算图像梯度幅值的表示,默认值为false

    cv::Mat im;
    cv::Mat result
    cv::Canny(im, result, 50, 150);
    

    2.Sobel(索贝尔边缘算子)

    3.Laplace(拉普拉斯边缘算子)

    4.Roberts(罗伯茨边缘算子)

    Roberts 算子是一种利用局部差分算子寻找边缘的算子

    Roberts 算子在边缘检测的效果中由于没有经过图像平滑处理的,因此图像噪声一般得不到很好的抑制,也因此影响到计算定位时容易丢失一部分的边缘。但是Roberts 算子的定位精度较高,对具有陡峭的低噪声图像响应较好

  • 相关阅读:
    任意不规则形状的图片剪裁 .
    C#图片处理示例(裁剪,缩放,清晰度,水印)
    C#对图片文件的压缩、裁剪操作初探
    CSS和SVG中的剪切——clip-path属性和<clipPath>元素
    Java中继承thread类与实现Runnable接口的区别
    Android学习系列(7)--App轮询服务器消息
    Android学习系列(15)--App列表之游标ListView(索引ListView)
    Android学习系列(20)--App数据格式之解析Json
    Android学习系列(22)--App主界面比较
    Android学习系列(23)--App主界面实现
  • 原文地址:https://www.cnblogs.com/k5bg/p/11088115.html
Copyright © 2011-2022 走看看