如何从PyArrayObject获取值?

2024-09-30 18:33:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从列表中获取值。它在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?在


Tags: 方法列表定义尺寸floatstructline1pr2