<p><a href="https://docs.opencv.org/3.4.2/dd/d1a/group__imgproc__feature.html#ga47849c3be0d0406ad3ca45db65a25d2d" rel="nofollow noreferrer">^{<cd1>}</a>的文档说明:</p>
<blockquote>
<p><strong>circles</strong> Output vector of found circles. Each vector is encoded as 3 or
4 element floating-point vector (x,y,radius) or (x,y,radius,votes)</p>
</blockquote>
<p>这意味着它是一个圆的向量。因此,要打印每个圆的x,y,半径,可以执行以下操作:</p>
<pre><code>for circle in circles:
print ("(x,y) = (",circle[0],",",circle[1], ") and radius =", circle[2] )
</code></pre>
<p>或者:</p>
^{pr2}$
<p>打印第一个圆。在</p>
<p>此外,对于鼠标位置,可以传递子图像,如:</p>
<pre><code># the position of the click as (x,y)
mousePosition = (10,15)
# the size of the image you want to look when you click (width, height)
swz = (20,20)
#calculate the box top corner so that is no less than 0 and the right bottom side less than image size
imgSize = img.shape
tl = (max(0, mousePosition[0] - (swz [0] / 2)), max(0, mousePosition[1] - (swz [1] / 2)))
tl = (min(tl[0], imgSize[1] - (swz [0] / 2)), min(tl[1], imgSize[0] - (swz [1] / 2)))
tl = (int(tl[0]), int(tl[1]))
circles = cv.HoughCircles(img[tl[1]:swz[1]+tl[1], tl[0]:swz[0]+tl[0]], cv.HOUGH_GRADIENT, 1, 20, param1=50, param2=30, minRadius=0, maxRadius=0 )
</code></pre>
<p>然后画出它们:</p>
<pre><code># make sure it found anything and make them int
circles = None if circles is None else np.uint16(np.around(circles))
cimg = cv.cvtColor(img,cv.COLOR_GRAY2BGR)
for i in circles[0,:]:
# draw the outer circle
cv.circle(cimg,(i[0]+tl[0],i[1]+tl[1]),i[2],(0,255,0),2)
# draw the center of the circle
cv.circle(cimg,(i[0]+tl[0],i[1]+tl[1]),2,(0,0,255),3)
</code></pre>
<p>例如:</p>
<pre><code>mousePosition = (100,170)
swz = (100,100)
</code></pre>
<p>OpenCVlogo作为图像,我得到了这个搜索区域:</p>
<p><a href="https://i.stack.imgur.com/0Nwpd.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/0Nwpd.png" alt="enter image description here"/></a></p>
<p>结果是:</p>
<p><a href="https://i.stack.imgur.com/uBzrS.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/uBzrS.png" alt="enter image description here"/></a></p>