修改结果发送方式 图片和结果分开两个不同的方式发送

master
bob.pan 4 years ago
parent e7a4e8e15d
commit a8b48185fc

@ -22,9 +22,9 @@
#include "databasesql.h"
#include "lpCryptokey.h"
#define VERSION_HUB "3.0.3.2"
#define VERSION_HUB "3.0.3.3"
#define VERSION_ALG "3.0.1.4"
#define UPDATE_TIME "2021-12-09"
#define UPDATE_TIME "2021-12-10"
#pragma execution_character_set("utf-8")
#define MODEL_UI_ICON_NONE ":/image/no-img"
@ -1814,17 +1814,21 @@ void lpMainWin::sendWebAlgRlt(const ValueResult& rlt)
sAlgRltObj.insert("center_y", rlt.center.y());
sAlgRltObj.insert("imagePath", rlt.strImagePath);
sAlgRltObj.insert("resultType", rlt.resultType);
TP_PROTOCOL_MESSAGE msg;
msg.body = sAlgRltObj;
tcp_server_ptr_->ISendMessage("*", msg);//发送算法结果
QJsonObject sShowImageObj;
QJsonObject imgDataObj;
imgDataObj["width"] = rlt.pixmap.width();
imgDataObj["height"] = rlt.pixmap.height();
imgDataObj["format"] = rlt.pixmap.format();
sAlgRltObj.insert("image_data", imgDataObj);
TP_PROTOCOL_MESSAGE msg;
msg.body = sAlgRltObj;
sShowImageObj.insert("image_data", imgDataObj);
TP_PROTOCOL_MESSAGE msg_bin;
msg_bin.body = sShowImageObj;
QByteArray imgdata;
imgdata.append((char *)rlt.pixmap.bits(), rlt.pixmap.byteCount());
tcp_server_ptr_->ISendBinaryData("*", msg, imgdata);
tcp_server_ptr_->ISendBinaryData("*", msg_bin, imgdata);//发送结果图片
}
}
else {
@ -1856,34 +1860,6 @@ void lpMainWin::sendWebAlgRlt(const ValueResult& rlt)
tcp_server_ptr_->ISendMessage("*", msg);
}
}
/*
auto runTask = [&](ValueResult res)
{
QJsonObject sAlgRltObj;
sAlgRltObj.insert("cmd", "algRlt");
sAlgRltObj.insert("modeName", res.strModel);
sAlgRltObj.insert("score", res.score);
sAlgRltObj.insert("angle", res.angle);
sAlgRltObj.insert("center_x", res.center.x());
sAlgRltObj.insert("center_y", res.center.y());
sAlgRltObj.insert("imagePath", res.strImagePath);
sAlgRltObj.insert("resultType", res.resultType);
QByteArray imgBuf;
QBuffer buf(&imgBuf);
QPixmap img = res.pixmap.copy();
img.save(&buf);
QString strBase64 = QString(imgBuf.toBase64());
buf.close();
sAlgRltObj.insert("imageData_base64", strBase64);
TP_PROTOCOL_MESSAGE msg;
msg.body = sAlgRltObj;
emit sgSendResultMsg(msg);
};
std::thread t(runTask, rlt);
*/
}
QJsonObject lpMainWin::byte2Json(QByteArray data)

@ -1,9 +0,0 @@
[General]
urlA=ws://localhost:10110
urlB=ws://localhost:10111
appPathA=E:/wheelValve/runner17/Enchanter.exe
appPathB=E:/wheelValve/Release/runner17_B/Enchanter_B.exe
doubleStation=true
portA=10110
portB=10111
serverPort=1000

@ -29,7 +29,7 @@ valueMainUI::valueMainUI(QWidget *parent)
setupTrayIcon();//后台任务栏初始化
setWindowIcon(QIcon(WINDOWICON));
setWindowTitle(tr("识别定位一体检测系统(v1.0.8 21.12.09)"));
setWindowTitle(tr("识别定位一体检测系统(v1.0.9 21.12.10)"));
lpGlobalData::instance();
lpConfig::instance()->loadConfig();
@ -228,13 +228,13 @@ Q_SLOT void valueMainUI::onRecvDataStr_A(const QJsonObject& json)
double cnt_x = json.value("center_x").toDouble();
double cnt_y = json.value("center_y").toDouble();
int resultType = json.value("resultType").toInt(-1);
QString strPath = json.value("imagePath").toString();
/*QString strPath = json.value("imagePath").toString();
QString strBase64 = json.value("imageData_base64").toString();
QByteArray imgbase64 = strBase64.toUtf8();
QImage newImg;
QByteArray imgArr = QByteArray::fromBase64(imgbase64);
newImg.loadFromData(imgArr);
m_ImgViewer_A->setImg(newImg);
m_ImgViewer_A->setImg(newImg);*/
QString sMsg = QString("%1 : %2->Score:%3 Angle:%4 Center:(%5,%6)")
.arg(QDateTime::currentDateTime().toString("hh:mm:ss"))
@ -316,13 +316,13 @@ Q_SLOT void valueMainUI::onRecvDataStr_B(const QJsonObject& json)
double cnt_x = json.value("center_x").toDouble();
double cnt_y = json.value("center_y").toDouble();
int resultType = json.value("resultType").toInt(-1);
QString strPath = json.value("imagePath").toString();
/*QString strPath = json.value("imagePath").toString();
QString strBase64 = json.value("imageData_base64").toString();
QByteArray imgbase64 = strBase64.toUtf8();
QImage newImg;
QByteArray imgArr = QByteArray::fromBase64(imgbase64);
newImg.loadFromData(imgArr);
m_ImgViewer_B->setImg(newImg);
m_ImgViewer_B->setImg(newImg);*/
QString sMsg = QString("%1 : %2->Score:%3 Angle:%4 Center:(%5,%6)")
.arg(QDateTime::currentDateTime().toString("hh:mm:ss"))
@ -949,6 +949,19 @@ Q_SLOT void valueMainUI::on_data_send_completed_A(QSharedPointer<TP_PROTOCOL_MES
Q_SLOT void valueMainUI::on_data_recv_completed_A(QSharedPointer<TP_PROTOCOL_MESSAGE> msg_ptr, QSharedPointer<QByteArray> pData)
{
QJsonObject json = msg_ptr->body;
if (json.contains("image_data"))
{
QJsonObject objImg = json.value("image_data").toObject();
int imgwidth = objImg.value("width").toInt();
int imgheight = objImg.value("height").toInt();
int imgformat = objImg.value("format").toInt();
QImage::Format qfmt = static_cast<QImage::Format>(imgformat);
QImage img((uchar *)pData->constData(), imgwidth, imgheight, qfmt);
QImage fmtImg = img.convertToFormat(QImage::Format_ARGB32);
m_ImgViewer_A->setImg(fmtImg);
}
return;
QString strcmd = json.value("cmd").toString();
if (strcmd == "algRlt")
{
@ -958,25 +971,6 @@ Q_SLOT void valueMainUI::on_data_recv_completed_A(QSharedPointer<TP_PROTOCOL_MES
double cnt_x = json.value("center_x").toDouble();
double cnt_y = json.value("center_y").toDouble();
int resultType = json.value("resultType").toInt(-1);
if (json.contains("image_data"))
{
QJsonObject objImg = json.value("image_data").toObject();
int imgwidth = objImg.value("width").toInt();
int imgheight = objImg.value("height").toInt();
int imgformat = objImg.value("format").toInt();
QImage::Format qfmt = static_cast<QImage::Format>(imgformat);
QImage img((uchar *)pData->constData(), imgwidth, imgheight, qfmt);
QImage fmtImg = img.convertToFormat(QImage::Format_ARGB32);
m_ImgViewer_A->setImg(fmtImg);
}
// QString strBase64 = json.value("imageData_base64").toString();
// QByteArray imgbase64 = strBase64.toUtf8();
// QImage newImg;
// QByteArray imgArr = QByteArray::fromBase64(imgbase64);
// newImg.loadFromData(imgArr);
// m_ImgViewer_A->setImg(newImg);
QString sMsg = QString("%1 : %2->Score:%3 Angle:%4 Center:(%5,%6)")
.arg(QDateTime::currentDateTime().toString("hh:mm:ss"))
.arg(strName).arg(QString::number(score, 'f', 2)).arg(QString::number(angle, 'f', 2)).arg(QString::number(cnt_x, 'f', 2)).arg(QString::number(cnt_y, 'f', 2));
@ -1057,6 +1051,18 @@ Q_SLOT void valueMainUI::on_data_send_completed_B(QSharedPointer<TP_PROTOCOL_MES
Q_SLOT void valueMainUI::on_data_recv_completed_B(QSharedPointer<TP_PROTOCOL_MESSAGE> msg_ptr, QSharedPointer<QByteArray> pData)
{
QJsonObject json = msg_ptr->body;
if (json.contains("image_data"))
{
QJsonObject objImg = json.value("image_data").toObject();
int imgwidth = objImg.value("width").toInt();
int imgheight = objImg.value("height").toInt();
int imgformat = objImg.value("format").toInt();
QImage::Format qfmt = static_cast<QImage::Format>(imgformat);
QImage img((uchar *)pData->constData(), imgwidth, imgheight, qfmt);
QImage fmtImg = img.convertToFormat(QImage::Format_ARGB32);
m_ImgViewer_B->setImg(fmtImg);
}
return;
if (!json.empty()) {
QString strcmd = json.value("cmd").toString();
@ -1069,26 +1075,6 @@ Q_SLOT void valueMainUI::on_data_recv_completed_B(QSharedPointer<TP_PROTOCOL_MES
double cnt_y = json.value("center_y").toDouble();
int resultType = json.value("resultType").toInt(-1);
if (json.contains("image_data"))
{
QJsonObject objImg = json.value("image_data").toObject();
int imgwidth = objImg.value("width").toInt();
int imgheight = objImg.value("height").toInt();
int imgformat = objImg.value("format").toInt();
QImage::Format qfmt = static_cast<QImage::Format>(imgformat);
QImage img((uchar *)pData->constData(), imgwidth, imgheight, qfmt);
QImage fmtImg = img.convertToFormat(QImage::Format_ARGB32);
m_ImgViewer_B->setImg(fmtImg);
}
// QString strPath = json.value("imagePath").toString();
// QString strBase64 = json.value("imageData_base64").toString();
// QByteArray imgbase64 = strBase64.toUtf8();
// QImage newImg;
// QByteArray imgArr = QByteArray::fromBase64(imgbase64);
// newImg.loadFromData(imgArr);
// m_ImgViewer_B->setImg(newImg);
QString sMsg = QString("%1 : %2->Score:%3 Angle:%4 Center:(%5,%6)")
.arg(QDateTime::currentDateTime().toString("hh:mm:ss"))
.arg(strName).arg(QString::number(score, 'f', 2)).arg(QString::number(angle, 'f', 2)).arg(QString::number(cnt_x, 'f', 2)).arg(QString::number(cnt_y, 'f', 2));

Loading…
Cancel
Save