convert numpy array to cython pointer
cython, numpy, python
Solution
thanks for your comments. solved by:
cdef np.ndarray[np.uint32_t, ndim=3, mode = 'c'] np_buff = np.ascontiguousarray(im, dtype = np.uint32)
cdef unsigned int* im_buff = <unsigned int*> np_buff.data
Problem
I have a numpy array which came from a `cv2.imread` and so has `dtype = np.uint8` and `ndim = 3`. I want to convert it to a Cython `unsigned int*` for use with an external cpp library. I am trying `cdef unsigned int* buff = <unsigned int*>im.data` however I get the error `Python objects cannot be cast to pointers of primitive types` What am I doing wrong? Thanks