我正在使用pleora sdk从外部摄像机捕获图像,并且能够成功将数据写入磁盘上的tiff图像文件。我的下一步是将数据存储更改为SQLite,而不是磁盘文件。
我有PvBuffer * lBuffer指针工作正常。现在,我需要将该数据转换为可用于写入SQLite的格式。我在Linux上使用Qt,因此QByteArray会非常方便。
这是针对pleora sdk和Qt的一个特定问题。我希望有人对此有经验。
PvRawData * rawData = lBuffer-> GetRawData();
QByteArray ba;
//需要将数据从rawData复制到ba。
谢谢。
答案 0 :(得分:0)
我找到了答案,并希望在其他人有相似之处的情况下发布。我使用reintepret_cast方法。
data = lBuffer->GetDataPointer()
imgSize = lBuffer->GetPayloadSize();
const char *d = reinterpret_cast<char *>(data);
QByteArray ba(d, imgSize);
QSqlQuery q = QSqlQuery( db );
q.prepare("INSERT INTO imgData (image) values (:imageData)");
q.bindValue(":imageData", ba);
if ( !q.exec() )
qDebug() << "Error inserting image into table: " << q.lastError() << endl;
else
qDebug() << "Query executed properly" << endl;