1.调通所有与服务器HTTP连接的接口 2.更新图语License从服务器查询和U盘获取后上报,前板可直接使用产测工具写入License 3.优化接收到前板的H264解码后出现视频卡的问题 4.更新从前板取图后旋转 5.增加ffmpeg解码的视频分辨率获取

This commit is contained in:
2024-08-29 11:49:55 +08:00
parent 07ab6b9608
commit e0c1e37191
21 changed files with 456 additions and 1882 deletions

View File

@@ -72,51 +72,47 @@ QImage convertYUV420ToQImage(const QByteArray& yuv420Data, int width, int height
return image;
}
// 显示图片的函数
void showPic(QLabel* leftLens_m_imageLabel, QLabel* rightLens_m_imageLabel, const QString& client, const QByteArray& valData)
{
int lens_n = static_cast<unsigned char>(valData[3]);
int width = (static_cast<unsigned char>(valData[5]) << 8) | static_cast<unsigned char>(valData[4]);
int height = (static_cast<unsigned char>(valData[7]) << 8) | static_cast<unsigned char>(valData[6]);
int format = static_cast<unsigned char>(valData[8]);
int lens_n = static_cast<unsigned char>(valData[0]);
int width = (static_cast<unsigned char>(valData[2]) << 8) | static_cast<unsigned char>(valData[1]);
int height = (static_cast<unsigned char>(valData[4]) << 8) | static_cast<unsigned char>(valData[3]);
int format = static_cast<unsigned char>(valData[5]);
qDebug() << "lens_n = " << lens_n;
qDebug() << "format = " << format;
qDebug() << "width = " << width;
qDebug() << "height = " << height;
QByteArray yuvData = valData.mid(9);
QByteArray yuvData = valData.mid(6);
qDebug() << "yuvData size = " << yuvData.size();
QImage image;
if (format == YUV422) {
QImage image = convertYUV422ToQImage(yuvData, width, height);
QImage scaledImage = image.scaled(leftLens_m_imageLabel->size(), Qt::KeepAspectRatio);
if (lens_n == 0) {
leftLens_m_imageLabel->setPixmap(QPixmap::fromImage(scaledImage));
rightLens_m_imageLabel->setPixmap(QPixmap::fromImage(scaledImage));
}
else if (lens_n == 1) {
rightLens_m_imageLabel->setPixmap(QPixmap::fromImage(scaledImage));
}
else {
qWarning() << "Unsupported image lens!";
}
image = convertYUV422ToQImage(yuvData, width, height);
}
else if (format == YUV420) {
QImage image = convertYUV420ToQImage(yuvData, width, height);
QImage scaledImage = image.scaled(leftLens_m_imageLabel->size(), Qt::KeepAspectRatio);
if (lens_n == 0) {
leftLens_m_imageLabel->setPixmap(QPixmap::fromImage(scaledImage));
}
else if (lens_n == 1) {
rightLens_m_imageLabel->setPixmap(QPixmap::fromImage(scaledImage));
}
else {
qWarning() << "Unsupported image lens!";
}
image = convertYUV420ToQImage(yuvData, width, height);
}
else {
qWarning() << "Unsupported image format!";
return;
}
// 旋转图像90度
QTransform transform;
transform.rotate(90); // 可以调整旋转角度
QImage rotatedImage = image.transformed(transform);
QImage scaledImage = rotatedImage.scaled(leftLens_m_imageLabel->size(), Qt::KeepAspectRatio);
if (lens_n == 0) {
leftLens_m_imageLabel->setPixmap(QPixmap::fromImage(scaledImage));
//rightLens_m_imageLabel->setPixmap(QPixmap::fromImage(scaledImage));
}
else if (lens_n == 1) {
rightLens_m_imageLabel->setPixmap(QPixmap::fromImage(scaledImage));
}
else {
qWarning() << "Unsupported image lens!";
}
}