更新与前板的使用串口连接
This commit is contained in:
@@ -220,3 +220,73 @@ void DataHandler::showPic(QSize labelSize, int lens_n,
|
||||
qDebug() << "JPG image saved to" << rotatedImageFileName;
|
||||
}
|
||||
|
||||
void SerialDataHandler::showPic(QSize labelSize, int lens_n,
|
||||
int width, int height, int format, const QByteArray* valData)
|
||||
{
|
||||
qDebug() << "lens_n = " << lens_n;
|
||||
qDebug() << "format = " << format;
|
||||
qDebug() << "width = " << width;
|
||||
qDebug() << "height = " << height;
|
||||
qDebug() << "yuvData size = " << valData->size();
|
||||
|
||||
QImage image;
|
||||
if (format == YUV422) {
|
||||
image = convertYUV422ToQImage(*valData, width, height);
|
||||
}
|
||||
else if (format == YUV420) {
|
||||
image = convertYUV420ToQImage(*valData, width, height);
|
||||
}
|
||||
else {
|
||||
qWarning() << "Unsupported image format! Please use YUV422 or YUV420 format";
|
||||
return;
|
||||
}
|
||||
|
||||
QTransform transform;
|
||||
transform.rotate(90); // 可以调整旋转角度
|
||||
QImage rotatedImage = image.transformed(transform);
|
||||
QImage scaledImage = rotatedImage.scaled(labelSize, Qt::KeepAspectRatio);
|
||||
QPixmap pixmap = QPixmap::fromImage(scaledImage);
|
||||
if (lens_n == 0) {
|
||||
//leftLens_m_imageLabel->setPixmap(QPixmap::fromImage(scaledImage));
|
||||
emit updateLeftLensImage(pixmap);
|
||||
}
|
||||
else if (lens_n == 1) {
|
||||
//rightLens_m_imageLabel->setPixmap(QPixmap::fromImage(scaledImage));
|
||||
emit updateRightLensImage(pixmap);
|
||||
}
|
||||
else {
|
||||
qWarning() << "Unsupported image lens!";
|
||||
}
|
||||
|
||||
// 生成保存图片的目录
|
||||
QString saveDirPath = QDir::currentPath() + "/frontBoardImage";
|
||||
QDir saveDir(saveDirPath);
|
||||
if (!saveDir.exists()) {
|
||||
saveDir.mkpath(saveDirPath);
|
||||
}
|
||||
QString currentTime = QDateTime::currentDateTime().toString("yyyyMMdd_HHmmss");
|
||||
QByteArray rotatedYuvData;
|
||||
if (format == YUV422) {
|
||||
rotatedYuvData = convertQImageToYUV422(rotatedImage);
|
||||
}
|
||||
else if (format == YUV420) {
|
||||
rotatedYuvData = convertQImageToYUV420(rotatedImage);
|
||||
}
|
||||
QString yuvFileName = saveDirPath + "/" + currentTime + ".yuv";
|
||||
QFile yuvFile(yuvFileName);
|
||||
if (yuvFile.open(QIODevice::WriteOnly)) {
|
||||
yuvFile.write(rotatedYuvData);
|
||||
yuvFile.close();
|
||||
qDebug() << "YUV image saved to" << yuvFileName;
|
||||
}
|
||||
else {
|
||||
qWarning() << "Failed to save rotated YUV image to" << yuvFileName;
|
||||
}
|
||||
|
||||
// 额外:可以保存旋转后的图像为JPG或PNG格式
|
||||
QString rotatedImageFileName = saveDirPath + "/" + currentTime + ".jpg";
|
||||
rotatedImage.save(rotatedImageFileName, "JPG");
|
||||
qDebug() << "JPG image saved to" << rotatedImageFileName;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <QDebug>
|
||||
|
||||
#include "../RecvDataHandler/RecvDataHandler.h"
|
||||
#include "../RecvDataHandler/SerialRecvDataHandler.h"
|
||||
|
||||
#define YUV420 1
|
||||
#define YUV422 2
|
||||
|
||||
Reference in New Issue
Block a user