我试图从列表中获取值。它在Python中定义为:
Line1 = [[[146.0, 560.0], [337.0, 478.0]],
[[204.0, 612.0], [397.0, 536.0]],
[[166.0, 437.0], [350.0, 434.0]],
[[166.0, 552.0], [350.0, 546.0]],
[[146.0, 560.0], [337.0, 478.0]],
[[204.0, 612.0], [397.0, 536.0]],
[[166.0, 437.0], [350.0, 434.0]],
[[166.0, 552.0], [350.0, 546.0]]]
解析为PyArrayObject的方法是:
^{pr2}$到目前为止,一切似乎都没问题,尺寸也没问题。但当我尝试:
struct pPoint {
float x;
float y;
};
...
struct pPoint p1a, p1b;
...
p1a.x = *((float * )PyArray_GETPTR3(lineA, 0, 0, 0));
p1a.y = *((float * )PyArray_GETPTR3(lineA, 0, 0, 1));
p1b.x = *((float * )PyArray_GETPTR3(lineA, 0, 1, 0));
p1b.y = *((float * )PyArray_GETPTR3(lineA, 0, 1, 1));
...
所有值都为零。在
从PyObjArray获取值的最佳和最简单的方法是什么?为什么是0.0?在
我遇到了同样的问题。当我打印出这个值时,它总是0.0。尝试将C中的所有“float”更改为“double”。Python中的float类型是C中的double类型。您还声明其类型为PyArray_double。在
相关问题 更多 >
编程相关推荐