接收返回的识别结果

简介: 【8月更文挑战第4天】接收返回的识别结果。

人工智能线程在发送识别命令后,如果接收到返回的识别结果,需要将结果传输到主线程完成显示及控制。
void MainWindow::GetPythonData(MsgPython msgPython)
{
switch (msgPython.int_PythonInfo2Main) {
case CANNOTLOADPYTHON: //提示未能成功加载Python模块
QMessageBox::warning(NULL, "警告", "未能加载Python模块!", \
QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
break;
case CANNOTLOADMAIN: //提示未能成功加载主函数模块
QMessageBox::warning(NULL, "警告", "未能加载主函数,请检查路径!", \
QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
break;
case CANNOTLOADIMAGEPREDICT: //提示未能成功加载图像识别函数
QMessageBox::warning(NULL, "警告", "未能成功加载图像识别函数!", \
QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
break;
case CANNOTLOADVOICESTART: //提示未能成功加载开始录音函数
QMessageBox::warning(NULL, "警告", "未能成功加载开始录音函数!", \
QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
break;
case CANNOTLOADVOICESHORTPREDICT: //提示未能成功加载简易控制命令识别函数
QMessageBox::warning(NULL, "警告", "未能成功加载简易控制命令识别函数!", \
QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
break;
case CANNOTLOADVOICELONGPREDICT: //提示未能成功加载搬运控制命令识别函数
QMessageBox::warning(NULL, "警告", "未能成功加载搬运控制命令识别函数!", \
QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
break;
case IMAGEPREDICT1: //仓库一(图像不旋转)图像识别成功标志位
//在仓库一的界面上显示结果
Box1DisplayImagePredict(msgPython.str_PythonInfo2Main);
//如果是AR的识别
if(dealARFlag){
//以UDP单波的形式将识别后的结果发送出去
SendUniCast2AR(sendToARPlace + " " + box1OriginalPlace1.right(2) \

                   + " " + box1OriginalPlace2.right(2) + " " + \
                   box1OriginalPlace3.right(2) + " " + box1OriginalPlace4.right(2));
               //将界面上的显示清空
               Box1DisplayImagePredict("1F2F3F4F");
               //清除标志位
               dealARFlag = false;
        }
        if(predictImageBoxAndSort == ASCENDING){
               //识别成功后,往串口发送以升序排序信号
               WriteSerialData(sendDataToSort + "61" + msgPython.str_

PythonInfo2Main);
}else if(predictImageBoxAndSort == DESCENDING){
//识别成功后,往串口发送以降序排序信号
WriteSerialData(sendDataToSort + "62" + msgPython.str_
PythonInfo2Main);
}
break;
//仓库二(图像旋转180°)图像识别成功标志位
case IMAGEPREDICT2:
//在仓库二的界面上显示结果
Box2DisplayImagePredict(msgPython.str_PythonInfo2Main);
break;
//短语音识别结束
case VOICEPREDICTSHORT:
//识别结果显示在左侧的label
if(msgPython.str_PythonInfo2Main != "ab"){
ui->label2_1->setText(" 成功");
WriteSerialData(sendDoAction + msgPython.str_PythonInfo2Main);
}else{
ui->label2_1->setText(" 失败");
}
break;
//长语音识别结束
case VOICEPREDICTLONG:
//识别结果显示在左侧的label
if(msgPython.str_PythonInfo2Main != "ab"){
ui->label22->setText(" 成功");
WriteSerialData(sendGoodsMoveData + msgPython.str

PythonInfo2Main);
}else{
ui->label2_2->setText(" 失败");
}
break;
default:
break;
}
}

相关文章
|
Java 数据库 Maven
根据请求中接收到的主动协商头字段,目标资源没有用户代理可以接受的当前表示
今天使用ssm框架搭建了一个项目,测试一个插入的接口结果返回406,但是数据库插入成功了,报错406是因为返回的结果接口无法解析。
854 0
|
4月前
|
存储 JavaScript Serverless
函数计算产品使用问题之如何获取请求ID并响应给调用者
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
4月前
|
前端开发 Java Spring
设置响应内容类型的几种方法比较
设置响应内容类型的几种方法比较
|
11月前
全局响应返回处理
全局响应返回处理
39 0
|
编译器 C++ Python
C++11之追踪返回类型
C++11之追踪返回类型
86 0
怎么修改请求的参数和响应
怎么修改请求的参数和响应
98 0
WebFilter过滤器,返回指定信息
WebFilter过滤器,返回指定信息
225 0
|
XML JSON 前端开发
设置响应编码
修改我们网页响应出现中文乱码的情况
|
JSON 数据格式 Python
FastAPI(45)- 返回响应数据的五种常见方式
FastAPI(45)- 返回响应数据的五种常见方式
1118 0
FastAPI(45)- 返回响应数据的五种常见方式
如何判断请求是否发送成功以及获取请求中的数据
如何判断请求是否发送成功以及获取请求中的数据
739 0
如何判断请求是否发送成功以及获取请求中的数据