我一直致力于一个简单的ip-video-ip程序,部分用于项目,部分用于自学一些使用高级接口的网络基础知识。麻烦的是我可以通过网络从cv::Mat
发送数据,但是一旦我尝试解码数据,它似乎就会丢失很多颜色数据。代码在此Pako中,其中包含在Linux下构建和运行项目所需的所有文件。任何人都可以对此有所启发吗?
如果您需要更多信息,请与我们联系。你很需要一个网络摄像头进行测试。
答案 0 :(得分:2)
使用memcpy(m.data(), frame.data, frame.rows * frame.cols);
复制数据时,由于您的图片是3通道数据,因此您只复制了总数据的三分之一。
尝试将其更改为memcpy(m.data(), frame.data, 3 * frame.rows * frame.cols);
(并在之前分配足够的空间)。