将C ++ opencv移植到Python - 数组出了问题

时间:2014-10-08 19:05:32

标签: python c++ arrays opencv

这绝对是一个简单的问题,但我有一个心理障碍,不能把两个和两个放在一起。

我想转换一下:

cv::Point2f p[4];

到python等价物。现在我正在使用:

q = [(0,0)]*4

这是对的吗?还是我需要模仿结构?

这似乎与兼容存储点的通常惯例有关,但是我遇到了这个错误"新的样式getargs格式但参数不是元组"

2 个答案:

答案 0 :(得分:1)

似乎new style getargs format but argument is not a tuple是在库期望元组时传递数字或其他对象时发生的错误。所以我打赌你在其他地方有一个与这个结构无关的错误。

答案 1 :(得分:0)

好的愚蠢回答,如果有人在没有调试的情况下在没有调试的情况下查找这个,那么点数据将嵌套在q的每个数组元素中

q = [(0,0)]*4
q[0] = corners[0]
q[0][0] is needed to reference data pulled from here

创建点:( q[0][0][0] , q[0][0][1] )

编辑:这是一个糟糕的形式,我发现以下是更清洁

q = corners[[idx0, idx1, idx2, ...]] # for q of size 1xN where N = length(corners)