| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> OpenCV关于HoughCircle函数以及Circle函数的使用 -> 正文阅读 |
|
[人工智能]OpenCV关于HoughCircle函数以及Circle函数的使用 |
HoughCircle函数能够在一个图片上找到多个圆,十分容易使用,并且HoughCircle对噪声点不怎么敏感。OpenCV内的HoughCircles对基础的Hough变换找圆做了一定的优化来提高速度,它不再是在参数空间画出一个完整的圆来进行投票,而只是计算轮廓点处的梯度向量,然后根据搜索的半径r在该梯度方向距离轮廓点距离r的两边各投一点,最后根据投票结果图确定圆心位置。 ? HoughCircle函数在opencv4.5.2的定义:
不过一般情况下我们都是这样使用:
注意:在数据之前必须要加入“参数=”,不然会出现各种错误,不是无返回值就是直接报错 参数解释: image:为输入图像,要求必须是灰度图像; method:为使用霍夫变换圆检测的算法,Opencv只实现了2-1霍夫变换,它的参数是CV_HOUGH_GRADIENT;(一直都是如此) dp:为第一阶段所使用的霍夫空间的分辨率,dp=1时表示霍夫空间与输入图像空间的大小 一致,dp=2时霍夫空间是输入图像空间的一半,以此类推; minDist:为圆心之间的最小距离,如果检测到的两个圆心之间距离小于该值,则认为它们是同一个圆心; circles:为输出圆向量,每个向量包括三个浮点型的元素——圆心横坐标,圆心纵坐标和圆半径(三维数组); 注意:a , b, c = circle.shape(圆存在)(shape返回数组维数的个数的参数) 参数a代表着二维数组的个数,参数b代表着圆的数量,参数c代表着半径. param1:有默认值100,它是method设置的检测方法的对应的参数,对当前唯一的方法霍夫梯度法cv2.HOUGH_GRADIENT,它表示传递给canny边缘检测算子的高阈值,而低阈值为高阈值的一半 param2:有默认值100,它是method设置的检测方法的对应的参数,对当前唯一的方法霍夫梯度法cv2.HOUGH_GRADIENT,它表示在检测阶段圆心的累加器阈值,它越小,就越可以检测到更多根本不存在的圆,而它越大的话,能通过检测的圆就更加接近完美的圆形了。 minRadius:有默认值0,圆半径的最小值 maxRadius:有默认值0,圆半径的最大值 我在一张图上画出圆的圆心和圆周,因此要用到circle函数,代码如下:
? 画圆Circle函数的使用
? img:为源图像指针 center:为画圆的圆心坐标 radius:为圆的半径 color:为设定圆的颜色,规则根据B(蓝)G(绿)R(红) thickness:如果是正数,表示组成圆的线条的粗细程度。否则,表示圆是否被填充 lineType:线条的类型。默认是8 shift:圆心坐标点和半径值的小数点位数(虽然官方文章上是这样写的,但是实际使用时却改变了圆的位置) 注意: 1、传入参数中,center将表示为(列,行),而不是我们习惯上认为的(行,列),如果没有注意到这一点的话,绘制出来的图像中点的位置将不正确 2、在使用HoughCircles函数获得圆的三维数组后,还需要使用 circles = np.uint16(np.around(circles))转化,如果没有这一点就会出现以下错误:
然上述参数有着改变坐标点和半径值的小数点的参数,但是在实际使用时却无法实现,所以只能求得整型数据的圆心,存在一定误差。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/17 23:42:55- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |