擅长:python、mysql、java
<p>不可能提供坐标作为<code>cv2.HoughCircles</code>的输入,以找到以该位置为中心的圆。相反,您可以处理返回的数组并提取包含坐标的圆。在</p>
<p>如您所见,<code>circles[0]</code>的结果给出了x坐标、y坐标和半径的所有三个参数。要提取单个参数,只需指定:</p>
<p><code>circles[0][0]</code>将返回x坐标;<br/>
<code>circles[0][1]</code>将返回y坐标;并且<br/>
<code>circles[0][2]</code>将返回半径。在</p>
<p>您可以在Python中的一行中存储所有这些内容:</p>
<pre><code>x, y, r = circles[0]
</code></pre>
<p>实际上和写作是一样的</p>
^{pr2}$
<p>然后使用<code>cv2.HoughCircles</code>中的x和y坐标并单击鼠标,您可以检查哪些圆与想要的结果匹配。在</p>
<p>可以使用圆的一般中心半径方程来完成此操作</p>
<pre><code>(x – h)^2 + (y – k)^2 = r^2
</code></pre>
<p>中心在点(h,k)处。在</p>
<p>因此,如果<code>(x – h)^2 + (y – k)^2 - r^2 > 0</code>,则该点在圆之外;如果<code>(x – h)^2 + (y – k)^2 - r^2 < 0</code>,则该点在圆内(如果<code>(x – h)^2 + (y – k)^2 - r^2 = 0</code>,则该点在圆上)。在</p>