| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> Canny算子与霍夫变换检测圆与直线 -> 正文阅读 |
|
[人工智能]Canny算子与霍夫变换检测圆与直线 |
目录
canny算子是计算机视觉最常用的一种算子,是目前一种非常流行的算法,是John Canny在1986年提出的。它是一个多阶段的算法,即由多个步骤构成。虽然Canny算法年代久远,但可以说它是边缘检测的一种标准算法,而且仍在研究中广泛使用。霍夫变换是一种在图像中寻找直线、圆形以及其他简单形状的方法。霍夫变换采用类似于投票的方式来获取当前图像内的形状集合,该变换由Paul Hough(霍夫)于1962年首次提出。本文将介绍canny算子与霍夫变换检测圆与直线,附完整可运行代码,希望可以带来帮助。
canny算子可以分为以下几步:
先看下lena经canny算子的效果图: ?高斯滤波其实就是将所指像素用周围的像素的某种均值代替(即卷积核),卷积核尺寸越大,去噪能力越强,因此噪声越少,但图片越模糊,canny检测算法抗噪声能力越强,但模糊的副作用也会导致定位精度不高。高斯的卷积核大小推荐:一般情况下,尺寸5 * 5,3 * 3也行。
霍夫直线检测利用图像与霍夫空间中点与线的对偶性,将图像空间中待检测的离散像素点集通过参数方程映射为霍夫空间中极坐标上的曲线集,并将曲线的交点作为通过n个离散点的直线方程参数映射到图像空间中的直线。即点(图像空间)-线(霍夫空间)-交点(霍夫空间)-线(图像空间)。将找直线问题转换为找交点问题,同时考虑到笛卡尔坐标系存在垂直线无法检测的问题,因而利用极坐标去表示,转换为曲线交点检测。
霍夫变换基于opencv的实现
车道识别视频 看看代码运行的效果:我在电脑里插入一段视频,和前面的原理类似,捕获每一帧,如果在这一帧里检测到直线就标出来,没检测的话在对话框里给出反馈:没检测到直线。这样在调整参数时,更加直观。
Hough Transform(霍夫变换)是早期的一种以投票方案进行图形拟合的算法。所谓拟合就是要将图像中的一些边缘用数学方式来描述,可以使人们更好的操作使用图像提供的信息。相比较最小二乘法、鲁棒估计以及RANSAC方法,霍夫变换的优点在于可以进行多目标的拟合。本次在此讨论研究霍夫圆的拟合原理。 霍夫圆算法的实现一共可分为两个步骤:
详细了解可以看这篇文章:霍夫变换检测圆
霍夫变换检测圆 ? 同样我们直接看视频:在我的手里是一个圆形的物体,我调用本地摄像头,对图片检测。可以看到,检测效果很好,绿色的标记一直跟着我的手在运动;并且左下角不断输出着圆心的坐标。 好啦,今天的分享就到这里啦!有什么问题或者发现错误的地方都可以在评论区或者私信联系我哦! 文章最后附canny算子可视调参数的工具链接:https://pan.baidu.com/s/1jIWS1zif8ddi-1LPIjrEaw?pwd=xpj0? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 20:30:19- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |