먼저 파이썬 프로그래머가 아니므로 내 어리석은 실수를 용서하십시오.부스트 : 포인터로 포인터를 매개 변수로 전달하는 파이썬
C++에서는 이미지를 동적으로 만들고 크기를 반환하는 MyClass의 공용 메서드가 있습니다.
int MyClass::getImg(uchar *uimg[])
{
int size = variable_size;
*_uimg = new uchar[size];
memcpy(*_uimg, imageOrigin->data(), size);
uimg = _uimg;
return size;
}
그리고 부스트 : 파이썬 :
def getImg():
img = c_char_p()
size = mymodule.MyClass.getImg(byref(img))
나는이 오류 받고 있어요 :
Boost.Python.ArgumentError: Python argument types in
MyClass.getImg(MyClass, CArgObject, CArgObject)
did not match C++ signature:
getImg(class MyClass {lvalue}, unsigned char * *)
을
BOOST_PYTHON_MODULE(mymodule)
{
class_<MyClass>("MyClass")
.def("getImg", &MyClass::getImg)
;
}
및 파이썬에서 사용하려고 할 때
파이썬에서 나는 또한 선언하려고 시도했다
img = POINTER(c_ubyte)()
그러나 그 중 하나도 도움이되지 않았습니다.
나는 몇 시간 동안 인터넷 검색을하고 난 좋은 해결책이 떠오르지 않았다.
파이썬에서 그 이미지에 액세스 할 필요가 있습니다. 어떻게해야합니까?