擅长:python、mysql、java
<p>Python<a href="https://stackoverflow.com/a/5079643/777285">doesn't support multiple dispatch</a>在默认情况下没有帮助:拥有两个同名但参数不同的函数不是pythonic。所以问题是:如何<code>cv2</code>猜测我们要调用的版本?我找不到任何明确的医生。</p>
<p>无论如何,在经历了opencv 3.0.0-beta和python3.4.2的相同问题之后,我终于发现在我的例子中,圆圈的一个点是<code>float</code>,尽管我使用8个参数运行官方示例代码,但出于某种原因,cv2默认为5-args函数。使用<code>int</code>修复了该问题,因此错误消息具有相当大的误导性。</p>
<p>我相信从Python 2转到3可能会在现有代码中带来这种混乱,因为Python 3中的<a href="https://stackoverflow.com/questions/1282945/python-integer-division-yields-float">integer divisions return floats</a>。</p>