OpenCV 垫损坏
OpenCV Mat corruption
我一直在开发一个简单的 video-over-ip 程序,一部分用于项目,一部分用于自学一些使用高级接口的网络基础知识。问题是我可以很好地通过网络从 cv::Mat
发送数据,但是一旦我尝试解码数据,它似乎丢失了很多颜色数据。代码在这个gist里面,里面包含了构建运行项目所需要的所有文件Linux。谁能对此有所启发?
如果您需要更多信息,请告诉我。恐怕你需要一个网络摄像头来测试。
当您使用 memcpy(m.data(), frame.data, frame.rows * frame.cols);
复制数据时,您只复制了总数据的三分之一,因为您的图像是三通道图像。
尝试改成memcpy(m.data(), frame.data, 3 * frame.rows * frame.cols);
(之前分配足够的space)。
我一直在开发一个简单的 video-over-ip 程序,一部分用于项目,一部分用于自学一些使用高级接口的网络基础知识。问题是我可以很好地通过网络从 cv::Mat
发送数据,但是一旦我尝试解码数据,它似乎丢失了很多颜色数据。代码在这个gist里面,里面包含了构建运行项目所需要的所有文件Linux。谁能对此有所启发?
如果您需要更多信息,请告诉我。恐怕你需要一个网络摄像头来测试。
当您使用 memcpy(m.data(), frame.data, frame.rows * frame.cols);
复制数据时,您只复制了总数据的三分之一,因为您的图像是三通道图像。
尝试改成memcpy(m.data(), frame.data, 3 * frame.rows * frame.cols);
(之前分配足够的space)。