Я попытался получить изображение с камеры. Но файл .dll return intptr в c#. Я позвонил в функцию в Python и Get []. < /P>
in .dll: < /p>
DVPCamera.dvpGetFrame(uint, DVPCameraType.dvpFrame, System.IntPtr, uint)
< /code>
Позвоните в Python: < /p>
CamData = Cam.dvpGetFrame(CameraIndex, RefFrame, RefIntPtr,40000)
print(CamData)
< /code>
camdata is: () < /p>
python не может сделать массив с помощью < /p>
Я попробовал: < /p>
net_hndl = GCHandle.Alloc(CamData[2], GCHandleType.Pinned)
net_ptr = net_hndl.AddrOfPinnedObject().ToInt64()
bufType = ctypes.c_ubyte * (frame.iHeight * frame.iWidth * shape)
cbuf = bufType.from_address(net_ptr)
mat = np.frombuffer(cbuf, bits)# dtype=cbuf._type_)
mat = mat.reshape(frame.iHeight, frame.iWidth, shape)
< /code>
Ядро будет умереть.
Как я могу получить картинку? < /p>
Подробнее здесь: https://stackoverflow.com/questions/796 ... emory-view