[C++-sig] using PyArray to pass pointer

tino tinauser at libero.it
Wed Jun 2 18:09:28 CEST 2010


Hallo,
I'm pretty new with both Python and C
I have a C application that run a python script.The python script then uses some
C functions written in the code that embedd the script itself.
I want to pass array from the C code (where an API is giving pointer to data I
want to plot in Python) and Python (a GUI).

What I've done so far  is to allocate before calling the Pyhon script a PyArray
with PyArray_SimpleNew. Since the data are unsigned char, the command is:
my_second_array = (PyArrayObject *)PyArray_SimpleNew(2,dim,NPY_UBYTE);
When I call the Python script,I sent my_second_array.On a timer, my_second_array
is used as a parameter for a C written function: the idea is to assign the
pointer of a frame to my_second_array.data.

PyArrayObject *Pymatout_img=NULL;
PyArg_ParseTuple(args, "O", &Pymatout_img);//Pymatout_img is the matrix that was
created in C during the initialization with PyArray_SimpleNew
Pymatout_img->data= cam_frame->data;

The problem is that the compiler (I'm using visual C 2008) says that cannot
convert *char to *unsigned char...

Can someone explains me what i'm doing wrong?




More information about the Cplusplus-sig mailing list