canny算子求图像边缘,edgebox那部分

 过程:

1.      彩色图像转换为灰度图像
    2.      对图像进行高斯模糊
    3.      计算图像梯度,根据梯度计算图像边缘幅值与角度(这里其实用到了微分边缘检测算子来计算梯度幅值方向)

求x,y两个方向的梯度

求幅值与角度

4.      非最大信号压制处理(边缘细化)

也就是把角度分成4个值

得到角度之后,比较中心像素角度上相邻两个像素,如果中心像素小于其中任意一个,则舍弃该边缘像素点,否则保留。

5.      双阈值边缘连接处理

双阈值选择与边缘连接方法通过假设两个阈值

其中一个为高阈值TH另外一个为低阈值TL则有

a.      对于任意边缘像素低于TL的则丢弃

b.      对于任意边缘像素高于TH的则保留

c.      对于任意边缘像素值在TL与TH之间的,如果能通过边缘连接到一个像素大于

6.      二值化图像输出结果

其实第4步就是通过角度去掉一些点,第5步通过幅值去掉一些点

https://blog.csdn.net/tigerda/article/details/61192943

https://blog.csdn.net/jia20003/article/details/41173767

原文地址:https://www.cnblogs.com/ymjyqsx/p/9527339.html

时间: 2024-08-30 10:43:25

canny算子求图像边缘,edgebox那部分的相关文章

学习 opencv---(11)OpenC 边缘检测:Canny算子,Sobel算子,Laplace算子,Scharr滤波器

本篇文章中,我们将一起学习OpenCV中边缘检测的各种算子和滤波器--Canny算子,Sobel算子,Laplace算子以及Scharr滤波器.文章中包含了五个浅墨为大家准备的详细注释的博文配套源代码.在介绍四块知识点的时候分别一个,以及最后的综合示例中的一个.文章末尾提供配套源代码的下载. **** 给大家分享一个OpenCv中写代码是节约时间的小常识.其实OpenCv中,不用nameWindow,直接imshow就可以显示出窗口.大家看下文的示例代码就可以发现,浅墨在写代码的时候并没有用na

【OpenCV入门教程之十二】OpenCV边缘检测:Canny算子,Sobel算子,Laplace算子,Scharr滤波器合辑

本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/25560901 作者:毛星云(浅墨)    微博:http://weibo.com/u/1723155442 知乎:http://www.zhihu.com/people/mao-xing-yun 邮箱: [email protected] 写作当前博文时配套使用的OpenCV版本: 2.4.9 本篇文章中,我们将一起学习OpenCV中

【opencv入门之九】Opencv边缘检测:Canny算子,Sobel算子,Laplace算子,Scharr滤波器

参考网站: http://blog.csdn.net/poem_qianmo/article/details/25560901 1.边缘检测步骤 1)滤波:边缘检测的算法主要是基于图像强度的一阶和二阶导数,但导数通常对噪声很敏感.( 通常用高斯滤波 ) 2)增强:增强边缘的基础是确定图像各点领域强度的变化值.增强算法可以将图像灰度点领域强度值有显著变化的点凸显出来.( 可以通过计算梯度幅值来确定 ) 3)检测:经过增强的图像,往往领域中有很多点的梯度值比较大,而特定的应用中,这些点并不是我们要找

Canny 算子 c++

.功能简介及其运行 (一).功能:该程序实现了canny算子求图片的边缘,其中主要包括七大部分: 1.对传入的彩色图片二值化 2.对二值化后的图片进行高斯滤波 3.使用sobel算子对滤波之后的图形分别求x,y方向上的梯度 4.计算出梯度幅值 5.对梯度图像做非极大抑制 6.对非极大抑制后的图像做双阈值处理 7.对双阈值处理后的图像进行连接操作(处理阈值中间的点) (二).运行:注意要在release文件夹下运行exe 运行程序后终端会显示所用到的sobel算子矩阵和高斯滤波矩阵,同时会弹出多张

Opencv对图像做边缘检测——canny算子

图像的边缘检测的原理是检测出图像中所有灰度值变化较大的点,而且这些点连接起来就构成了若干线条,这些线条就可以称为图像的边缘. Canny边缘检测算子是John F. Canny于 1986 年开发出来的一个多级边缘检测算法.Canny 边缘检测的数学原理和算法实现这里就不再了,有兴趣的读者可以查阅专业书籍,本文主要介绍如何在OpenCV中对图像进行Canny 边缘检测,下面就来看看这个函数的原型. 一. 主要函数 1.1 cvCanny 函数功能:采用Canny方法对图像进行边缘检测 函数原型:

图像边缘检測小结

边缘是图像中灰度发生急剧变化的区域边界. 图像灰度的变化情况能够用图像灰度分布的梯度来表示,数字图像中求导是利用差分近似微分来进行的,实际上经常使用空域微分算子通过卷积来完毕. 一阶导数算子 1)  Roberts算子 Roberts算子是一种斜向偏差分的梯度计算方法.梯度的大小代表边缘的强度.梯度的方向与边缘的走向垂直.Roberts操作实际上是求旋转 \pm" title="\pm" >45度两个方向上微分值的和. Roberts算子定位精度高,在水平和垂直方向的效

canny 算子python实现

1. Canny介绍 Canny算子与Marr(LoG)边缘检测方法类似,也属于是先平滑后求导数的方法.John Canny研究了最优边缘检测方法所需的特性,给出了评价边缘检测性能优劣的三个指标: 1  好的信噪比,即将非边缘点判定为边缘点的概率要低,将边缘点判为非边缘点的概率要低: 2  高的定位性能,即检测出的边缘点要尽可能在实际边缘的中心: 3  对单一边缘仅有唯一响应,即单个边缘产生多个响应的概率要低,并且虚假响应边缘应该得到最大抑制. 2. Canny检测实现过程 第一步:灰度化  第

图像边缘和轮廓特征的提取方法

Part1:先介绍几个关于图像处理的概念 1 图像锐化 图像锐化(image sharpening)是补偿图像的轮廓,增强图像的边缘及灰度跳变的部分,使图像变得清晰,分为空域处理和频域处理两类.图像锐化是为了突出图像上地物的边缘.轮廓,或某些线性目标要素的特征.这种滤波方法提高了地物边缘与周围像元之间的反差,因此也被称为边缘增强. 2图像平滑 概念 图像平滑是指用于突出图像的宽大区域.低频成分.主干部分或抑制图像噪声和干扰高频成分的图像处理方法,目的是使图像亮度平缓渐变,减小突变梯度,改善图像质

Opencv图像识别从零到精通(21)-----canny算子边缘检测

最后来看看canny算子,这个是被成为最好的算子,因为过程多,有准测,后面会列出来,也是边缘检测的最后一个,所以这里作为结尾,来看看各个边缘检测的效果. 边缘检测结果比较 Roberts算子检测方法对具有陡峭的低噪声的图像处理效果较好,但是利用roberts算子提取边缘的结果是边缘比较粗,因此边缘的定位不是很准确. Sobel算子检测方法对灰度渐变和噪声较多的图像处理效果较好,sobel算子对边缘定位不是很准确,图像的边缘不止一个像素. Prewitt算子检测方法对灰度渐变和噪声较多的图像处理效