接收返回的识别结果

简介: 【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;
}
}

相关文章
|
存储 缓存 数据库
Django框架学习(四)
Django框架学习(四)
|
编译器 Linux C语言
自定义类型:结构体(2)
自定义类型:结构体(2)
103 1
|
JSON 算法 Java
SpringBoot集成JWT实现token验证
JWT官网: https://jwt.io/JWT(Java版)的github地址:https://github.com/jwtk/jjwt 什么是JWT Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).定义了一种简洁的,自包含的方法用于通信双方之间以JSON对象的形式安全的传递信息。
4124 0
|
机器学习/深度学习 人工智能 自然语言处理
如何驱动全面的客户交互升级 | 学习笔记
快速学习如何驱动全面的客户交互升级
249 0
如何驱动全面的客户交互升级 | 学习笔记
|
存储 监控 对象存储
操作审计最佳实践-跨账号日志收集
此文档为您介绍,当您有多个阿里云账号需要统一审计时,如何将多个账号的操作日志收集到一个账号的对象存储(OSS)或日志服务(SLS)中。
操作审计最佳实践-跨账号日志收集
|
.NET 数据库 开发框架
|
Java
Java类集--Collections
<h1>Collections常用方法及常量:</h1> <div> <img src="http://img.blog.csdn.net/20131202084140796" alt=""><br> </div> <div>验证:空集合的操作</div> <div> <img src="http://img.blog.csdn.net/20131202093846109" alt=
1287 0