美文网首页
OpenCV之Hough圆环变换

OpenCV之Hough圆环变换

作者: 大龙10 | 来源:发表于2023-07-10 07:09 被阅读0次

一、原理

  圆形的一般性方程表示为(x-a)²+(y-b)²=r²。那么就有三个自由度圆心坐标a,b,和半径r。这就意味着一个圆需要三个参数来确定。
  OpenCV 中提供的 cv.HoughCircle() 函数里面可以设定半径r的取值范围,相当于有一个先验设定,在每一个r来说,在二维空间内寻找a和b就可以了,能够减少计算量。

二、函数

cv2.HoughCircles(image, method, dp, minDist, circles=None, param1=None, param2=None, minRadius=None, maxRadius=None)

  • image
    8位、单通道灰度图像
  • method
    定义检测图像中圆的方法。目前唯一实现的方法是cv2.HOUGH_GRADIENT。
  • dp 累加器图像的分辨率。累加器分辨率与图像分辨率的反比。
    dp获取越大,累加器数组越小。
  • minDist
    两个不同圆之间的最小距离。
  • param1
    用于Canny的边缘阀值上限,下限被置为上限的一半。
  • param2
    cv2.HOUGH_GRADIENT方法的累加器阈值。
  • minRadius 最小圆半径
  • maxRadius 最大圆半径

三、代码

import cv2
import numpy as np
img = cv2.imread('d:\\contours.png',0)
print(img.shape)
img = cv2.medianBlur(img,5)
cimg = cv2.cvtColor(img,cv2.COLOR_GRAY2BGR)
circles = cv2.HoughCircles(img,cv2.HOUGH_GRADIENT,1,10,param1=10,param2=50,minRadius=10,maxRadius=200)
circles = np.uint16(np.around(circles))
print(circles )
for i in circles[0,:]:
    # 画圆
    cv2.circle(cimg,(i[0],i[1]),i[2],(0,255,255),2)
    # 画圆心点
    cv2.circle(cimg,(i[0],i[1]),2,(0,0,255),3)
cv2.imshow('detected circles',cimg)
cv2.waitKey(0)
cv2.destroyAllWindows()

四、资料

编程学习网
https://www.ngui.cc/el/3245276.html?action=onClick

相关文章

  • 椭圆检测

    Hough变换检测椭圆 附带matlab与opencv代码 QT+opencv学习笔记(5)——霍夫直线检测、圆检...

  • OpenCV之Hough变换检测猫眼

    Hough变换 Hough变换是图像处理中的一种特征提取技术,它通过一种投票算法检测具有特定形状的物体。霍夫变换于...

  • Hough 变换

    Hough变换是一种在图像中寻找直线,圆及其它简单形状的方法。当我们对图像进行边缘检测之后,可用Hough变换识...

  • Hough变换

    最近在看图像处理的东西,为了检测直线,可以用的一个神奇的东西---Hough变换。 一条直线可以用如下的方程来表示...

  • 霍夫变换

    霍夫变换——直线   Hough Line Transform用来做直线检测,前提是已经做了边缘检测。  霍夫变换...

  • OpenCV 之ios 仿射变换

    OpenCV 之ios 仿射变换 目标 在这个教程中你将学习到如何: 使用OpenCV函数 warpAffine ...

  • OpenCV 之ios 霍夫线变换

    OpenCV 之ios 霍夫线变换 目标 在这个部分您将学习到: 使用OpenCV的以下函数 HoughLines...

  • OpenCV 之ios 霍夫圆变换

    OpenCV 之ios 霍夫圆变换 目标 在这个教程中你将学习如何: 使用OpenCV函数 HoughCircle...

  • hough变换检测的matlab程序

    Matlab实现Hough变换检测图像中的直线 https://blog.csdn.net/u010839382/...

  • OpenCV 之ios 更多形态学变换

    OpenCV 之ios 更多形态学变换 目标 本文档尝试解答如下问题: 如何使用OpenCV函数 morpholo...

网友评论

      本文标题:OpenCV之Hough圆环变换

      本文链接:https://www.haomeiwen.com/subject/chcdudtx.html