| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> Opencv(C++)笔记--霍夫变换检测直线、霍夫变换检测圆 -> 正文阅读 |
|
[人工智能]Opencv(C++)笔记--霍夫变换检测直线、霍夫变换检测圆 |
目录 1--原理? ? ? ? 霍夫变换检测直线的核心思想是:在笛卡尔坐标系下,一条直线(两个点(x1, y1)和(x2, y2)确定一条直线)可以变换为霍夫空间中的一个点(r, θ),由霍夫空间的一个点表示笛卡尔坐标系的一条直线; ????????对于图像中的直线而言,其由许多个像素点组成;而笛卡尔坐标系中的像素点可以映射为霍夫空间中的一条直线(因为一个像素点可以组成无数条直线,每一条直线对应霍夫空间的一个点),即霍夫空间的一条直线,对应笛卡尔坐标系的一个点; ? ? ? ? 对于霍夫空间中的每一条直线,其存在交点,霍夫空间的多条直线相交于一个交点,这个交点对应于笛卡尔坐标系下的一条直线,通过在霍夫空间中检测交点的个数及确定交点的坐标(r, θ),可以检测笛卡尔坐标系下的直线。 2--Opencv API3--实例代码? ? ? ? ?进行霍夫变换直线检测时,通常配合 Canny边缘检测算法 进行,先对图片进行边缘检测,再进行直线检测;
4--霍夫变换检测圆① 原理建议参考视频讲解2; ② Opencv API 参数说明: cv::InputArray image:表示输入图像; cv::OutputArray circles:圆的参数,包含圆心坐标和圆的半径; int method:采用的检测方法,默认使用霍夫梯度法; double dp:累加器分辨率与图像分辨率的反比。dp=1表示累加器具有与输入图像相同的分辨率。 double minDist:标新两个圆心之间的最小距离; double param1 = (100.0):表示边缘检测对应的参数。对于霍夫梯度法而言,表示为传递给canny边缘检测算子的高阈值,而低阈值则为高阈值的一半; double param2 = (100.0):表示检测方法对应的参数。对于霍夫梯度法而言,表示在检测阶段圆心的累加器阈值。参数值越小就越可以检测出更多不存在的圆;反之,检测出的圆一般都很完美; int minRadius = 0:表示半径的最小值; int maxRadius = 0:表示半径的最大值; ③ 代码实例
? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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 16:33:08- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |