Qt 如何将Mat图像保存到QByteArray?

Qt 如何将Mat图像保存到QByteArray?,qt,opencv,qbytearray,Qt,Opencv,Qbytearray,我需要通过TCP将处理后的图像文件传输到我的计算机。现在我不知道如何将Mat转换为Qbytearray,我希望Qbytearray是一个编码图像文件,这样我就可以在我的web应用程序中轻松保存它。 我试图使用imencode将Mat保存为向量,然后将其转换为Qbytearray,但我失败了。程序刚刚崩溃。谢谢 vector<uchar> tempdata; imencode(".tif",img1,tempdata); QByteArray data(reinterpret_cast

我需要通过TCP将处理后的图像文件传输到我的计算机。现在我不知道如何将Mat转换为Qbytearray,我希望Qbytearray是一个编码图像文件,这样我就可以在我的web应用程序中轻松保存它。 我试图使用imencode将Mat保存为向量,然后将其转换为Qbytearray,但我失败了。程序刚刚崩溃。谢谢

vector<uchar> tempdata;
imencode(".tif",img1,tempdata);
QByteArray data(reinterpret_cast<char*>(tempdata.data(),tempdata.size()));
矢量数据;
imencode(“tif”、img1、tempdata);
QByteArray数据(重新解释强制转换(tempdata.data(),tempdata.size());

错误是:由于接收到来自操作系统的信号,下位机停止。错误发生在最后一行。

查询:传输数据后读取数据的应用程序是否使用Qt?这是一种将Mat转换为QImage的简单方法,很容易转换为QByteArray。我的图像有点大。因此它另存为tif。QImage似乎无法处理“.tif”图像。类似于
QByteArray data=QByteArray::fromRawData(重新解释强制转换(tempdata.data()),tempdata.size())如果我已经解决了这个问题,就像Miki说的,我只是写了错误代码。