ошибка memcpy от char * к cv :: Mat

Я пытаюсь преобразовать данные с промышленной камеры в cv :: Mat.
Это ошибка, которую я получаю при возврате ошибки сегментации в GDB.

#0  __memcpy_sse2_unaligned () at ../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S:35
#1  0x000000000040cf6f in memcpy (__len=360960, __src=<optimized out>, __dest=<optimized out>)
at /usr/include/x86_64-linux-gnu/bits/string3.h:51
#2  Camera::getImage (this=this@entry=0x6f59c0, mat=...) at src/Camera.cpp:233
#3  0x000000000040d7e7 in Camera::Camera (this=0x6f59c0, dev=<optimized out>) at src/Camera.cpp:40
#4  0x00000000004327d6 in Utility::initCameras (devMgr=..., left=@0x7fffffffdea0: 0x7ffff53fa4f8, right=@0x7fffffffdea8: 0x809ff8e4)
at src/utility.cpp:117
#5  0x0000000000407b1e in main (argc=<optimized out>, argv=<optimized out>) at trgt/obstacle.cpp:150

Так что я могу четко сказать, что с командой memcpy возникли проблемы:

std::memcpy(mat.ptr(),static_cast<char*>(mRequest->imageData.read()), mRequest->imageSize.read());

Теперь я не очень понимаю, почему происходит ошибка.
В другой версии программы, которую я использую, она работает, но изображения выглядят очень плохо.

Может быть, у одного из вас есть представление о том, каким может быть возможный источник ошибок.

0

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]