擅长:python、mysql、java
<p>正如@jeru luke在评论中所说,您应该在调用<code>cv2.HoughCircles()</code>之前添加{<cd1>}:</p>
<pre><code>def get_circle(img, minR, maxR, p1, p2):
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # < - Here
circles = cv2.HoughCircles(img, cv2.HOUGH_GRADIENT,1,20, param1=p1,param2=p2,minRadius=minR,maxRadius=maxR)
circles = np.uint16(np.around(circles))
</code></pre>
<p><strong><code>COLOR_BGR2GRAY</code></strong>和非<strong><code>COLOR_GRAY2BGR</code></strong></p>
<p><strong>更新:</strong></p>
<p>在第二次调用<code>get_circle</code>之前添加<code>nimg = cv2.cvtColor(nimg, cv2.COLOR_GRAY2BGR)</code>:</p>
<p><strong>更新2</strong></p>
^{pr2}$
<p>结果:</p>
<p><a href="https://i.stack.imgur.com/a7xUS.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/a7xUS.png" alt="enter image description here"/></a></p>