opencv - 大多数 cv2 元组参数在 python 3.5 (windows 7) 中不起作用

标签 opencv tuples python-3.5

我将一个项目从 python 2.7 切换到 3.5,现在我无法使用大多数需要元组的函数。

举个例子:

rgb = (255,0,0)
cv2.circle(img,(x, y),2,rgb,-1)

将返回“new style getargs format but argument is not a tuple”系统错误。

无论我如何输入表示圆圈颜色的元组,它总是会失败,即使我明确使用“tuple()”也是如此

我意识到这个问题并不新鲜,但可用的解决方案取决于包(https://mail.python.org/pipermail/python-dev/2017-January/147091.html)。

当同一脚本已经在使用 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”的类型或其值的类型有关(请参阅我作为您问题的评论发布的链接)

关于opencv - 大多数 cv2 元组参数在 python 3.5 (windows 7) 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46099395/

相关文章:

python - Pandas 从列表中重命名 df 行

java - 使用 Android (ndk) 在 C++ 中打开和读取文本文件

python - `QImage` 构造函数具有未知关键字 `data`

ios - 如何创建一个包含符合协议(protocol)的对象的元组?

c++ - libstdc++ 拒绝将 volatile 右值分配给 std::ignore 是错误的吗?

python - typing.NamedTuple 和 PyCharm

opengl - 四边形检测和姿态估计

opencv - cvCalcOpticalFlowLK 的头文件

c++ - 按指定的顺序迭代元组的元素

python - 如何在 python 中将列表的元素分配为文件名?