2024-09-28 17:26:59 发布
网友
OpenCV2 for python有两个函数
我想使用[函数1]
但是当我使用这个代码时
cv2.ellipse(ResultImage, Circle, Size, Angle, 0, 360, Color, 2, cv2.CV_AA, 0)
它提高了
TypeError: ellipse() takes at most 5 arguments (10 given)
你能帮我吗?
确保所有椭圆参数都int否则将引发“TypeError:elliple()最多接受5个参数(给定10个)”。有同样的问题,并将参数强制转换为int,修复了它。
请注意,在Python中,您应该先舍入数字,然后使用int(),因为int函数将剪切数字:
x=2.7,int(x)将是2而不是3
我遇到了同样的错误,结果发现我没有将正确的最小参数数(7)传递给方法的startAngle/endAngle形式。在我的例子中,我缺少“角度”参数(椭圆的旋转角度),它位于startAngle和endAngle参数之前。
我猜你的“圆”或“大小”参数是错误的…它们应该是元组, (x,y)表示中心,(宽度,高度)表示轴
cv2.ellipse(ResultImage, (centerX,centerY), (width,height), 0, 0, 180, yellow, 2)
Pythondoesn't support multiple dispatch在默认情况下没有帮助:拥有两个同名但参数不同的函数不是pythonic。所以问题是:如何cv2猜测我们要调用的版本?我找不到任何明确的医生。
cv2
无论如何,在经历了opencv 3.0.0-beta和python3.4.2的相同问题之后,我终于发现在我的例子中,圆圈的一个点是float,尽管我使用8个参数运行官方示例代码,但出于某种原因,cv2默认为5-args函数。使用int修复了该问题,因此错误消息具有相当大的误导性。
float
int
我相信从Python 2转到3可能会在现有代码中带来这种混乱,因为Python 3中的integer divisions return floats。
确保所有椭圆参数都int否则将引发“TypeError:elliple()最多接受5个参数(给定10个)”。有同样的问题,并将参数强制转换为int,修复了它。
请注意,在Python中,您应该先舍入数字,然后使用int(),因为int函数将剪切数字:
x=2.7,int(x)将是2而不是3
我遇到了同样的错误,结果发现我没有将正确的最小参数数(7)传递给方法的startAngle/endAngle形式。在我的例子中,我缺少“角度”参数(椭圆的旋转角度),它位于startAngle和endAngle参数之前。
我猜你的“圆”或“大小”参数是错误的…它们应该是元组, (x,y)表示中心,(宽度,高度)表示轴
Pythondoesn't support multiple dispatch在默认情况下没有帮助:拥有两个同名但参数不同的函数不是pythonic。所以问题是:如何
cv2
猜测我们要调用的版本?我找不到任何明确的医生。无论如何,在经历了opencv 3.0.0-beta和python3.4.2的相同问题之后,我终于发现在我的例子中,圆圈的一个点是
float
,尽管我使用8个参数运行官方示例代码,但出于某种原因,cv2默认为5-args函数。使用int
修复了该问题,因此错误消息具有相当大的误导性。我相信从Python 2转到3可能会在现有代码中带来这种混乱,因为Python 3中的integer divisions return floats。
相关问题 更多 >
编程相关推荐