当我将图像数据发送到c功能时,出现错误
ctypes.ArgumentError: argument 2: <class 'TypeError'>: expected LP_c_ubyte instance instead of memoryview
我知道存在类型错误。
这是c ++函数的定义:
int cv_face_detect (
...
const unsigned char *image,
...
)
并且使用c ++,我注意到c ++使用cv包发送图像数据
using namespace cv;
Mat m_image_mat;
m_image_mat = imread ( full_file_name );
cv_face_detect(..., m_image_mat.data, ...);
在python中,我设置了argtypes,并使用vc2发送图像数据
cv_face_detect.argtypes = (..., POINTER(c_ubyte), ...)
img = cv2.imread('1.jpg')
cv_face_detect(..., img.data, ...)
然后,出现了错误
我不知道如何将memoryview转换为const unsigned char *数据,我可以将图像数据发送到c函数
感谢