Opencv 大多数cv2元组参数不';不能在python 3.5(windows 7)中工作

Opencv 大多数cv2元组参数不';不能在python 3.5(windows 7)中工作,opencv,tuples,python-3.5,Opencv,Tuples,Python 3.5,我将一个项目从Python2.7切换到3.5,现在我不能使用大多数需要元组的函数 例如: rgb = (255,0,0) cv2.circle(img,(x, y),2,rgb,-1) 将返回“新样式getargs格式,但参数不是元组”系统错误 无论我如何输入表示圆圈颜色的元组,它总是会失败,即使我显式地使用“tuple() 我意识到这个问题并不新鲜,但可用的解决方案依赖于包() 我只想在图像上添加点,而不必在同一个脚本已经在使用opencv时引入另一个库 编辑:它在抱怨x,y。这在2.7而不

我将一个项目从Python2.7切换到3.5,现在我不能使用大多数需要元组的函数

例如:

rgb = (255,0,0)
cv2.circle(img,(x, y),2,rgb,-1)
将返回“新样式getargs格式,但参数不是元组”系统错误

无论我如何输入表示圆圈颜色的元组,它总是会失败,即使我显式地使用“tuple()

我意识到这个问题并不新鲜,但可用的解决方案依赖于包()

我只想在图像上添加点,而不必在同一个脚本已经在使用opencv时引入另一个库


编辑:它在抱怨x,y。这在2.7而不是3.5中起作用的原因尚不清楚,但具体来说,将值声明为tuple()解决了Python 3.5中的问题,如下所示:

import numpy as np
import cv2


img = np.zeros((100, 100))  # Black image
rgb = (255, 0, 0)
cv2.circle(img, (50, 50), 2, rgb, -1)  # Plot centered on (50, 50)
你能在你的系统上试试这个,看看错误是否仍然存在吗

(使用Windows 10、Anaconda3、OpenCV 3.1.0)


如果这样做有效,您的问题可能与变量“img”的类型或其值的类型有关(请参阅我作为您问题的注释发布的链接)

根据您的问题,也可能与枕头有关……您是对的,被拒绝的元组是我的x,y,而不是rgb。非常感谢。