达尔文OP2代码解读(二)视觉处理模式
来源:互联网 发布:淘宝现金流量表 编辑:程序博客网 时间:2024/06/05 12:46
/* * VisionMode.cpp * * Created on: 2017. 11. 20. * Author: kay * Add some comments */#include <stdio.h>#include <unistd.h>#include "VisionMode.h"#include "Action.h"#include "ColorFinder.h"#include "LinuxActionScript.h"namespace Robot{ /*主函数main.cpp中的用法int detected_color = 0; detected_color |= (red_pos.X == -1)? 0 : VisionMode::RED;//1 detected_color |= (yellow_pos.X == -1)? 0 : VisionMode::YELLOW;//2 detected_color |= (blue_pos.X == -1)? 0 : VisionMode::BLUE;//4 if(Action::GetInstance()->IsRunning() == 0) VisionMode::Play(detected_color);*/void VisionMode::Play(int color)//color为参数,通过数字调用相应的执行函数{ static int old_color = 0, color_count = 0; if(old_color != color || color == 0) { old_color = color; color_count = 0; } else color_count++; if(color_count < 15) return;//超时检测 15次都是同样的颜色(有颜色|没颜色),则退出函数。//RED=1 YELLOW=2 BLUE=4 switch(color) { case (RED)://1 Action::GetInstance()->Start(4); LinuxActionScript::PlayMP3("../../../Data/mp3/Thank you.mp3"); break; case (YELLOW)://2 Action::GetInstance()->Start(41); LinuxActionScript::PlayMP3("../../../Data/mp3/Introduction.mp3"); break; case (BLUE)://4 Action::GetInstance()->Start(24); LinuxActionScript::PlayMP3("../../../Data/mp3/Wow.mp3"); break; case (RED|YELLOW)://3 Action::GetInstance()->Start(38); LinuxActionScript::PlayMP3("../../../Data/mp3/Bye bye.mp3"); break; case (RED|BLUE)://5 Action::GetInstance()->Start(54); LinuxActionScript::PlayMP3("../../../Data/mp3/Clap please.mp3"); break; case (BLUE|YELLOW)://6 Action::GetInstance()->Start(15); LinuxActionScript::PlayMP3("../../../Data/mp3/Sit down.mp3"); while(Action::GetInstance()->IsRunning()) usleep(8*1000); Action::GetInstance()->Start(1); LinuxActionScript::PlayMP3("../../../Data/mp3/Stand up.mp3"); break; case (RED|YELLOW|BLUE)://7 Action::GetInstance()->Start(27); LinuxActionScript::PlayMP3("../../../Data/mp3/Oops.mp3"); break; } color_count = 0;}}
1.函数用途:颜色检测。通过检测到不同的函数,可以做相应的动作,和调用相应的语音。
2..颜色组成:红、蓝、黄。(三种颜色的组合)。7种组合(什么都没有检测到不算)
3.超时检测:超过15次检测到是相同的颜色(没有检测到也算),退出检测。
4.动作说明:可通过代码英文进行判断。
阅读全文
0 0
- 达尔文OP2代码解读(二)视觉处理模式
- 达尔文op2官方代码解读(三)之信号处理
- 达尔文OP2解读(四)物理按键模式选择
- 达尔文OP2官方demo解读(一)
- 达尔文OP2音频播放
- 达尔文OP2链接WIFI配置(自动连接)
- 《代码大全》解读(二)
- Python视觉处理(二)线检测
- live555代码解读之二:DESCRIBE请求消息处理过程
- live555代码解读之二:DESCRIBE请求消息处理过程
- live555代码解读之二:DESCRIBE请求消息处理过程
- live555代码解读之二:DESCRIBE请求消息处理过程
- 视觉处理的相关代码
- 时空上下文视觉跟踪(STC)算法的解读与代码复现
- 时空上下文视觉跟踪(STC)算法的解读与代码复现
- 时空上下文视觉跟踪(STC)算法的解读与代码复现
- 时空上下文视觉跟踪(STC)算法的解读与代码复现
- 时空上下文视觉跟踪(STC)算法的解读与代码复现
- 图像平滑处理对比
- 浅谈微服务架构
- MFC——SetTimer函数的用法
- 云星数据---Apache Flink实战系列(精品版)】:Flink流处理API详解与编程实战005-Flink基于流的window操作003
- 移远EC20 4G模块Linux驱动移植和测试
- 达尔文OP2代码解读(二)视觉处理模式
- cocos-lua学习笔记(九)动作
- 格局-互联网重构零售
- 正则应用之字符串处理
- XGBoost简介---竞赛利器
- Dora,this is a new day
- 图像滤波处理对比
- Java将图片压缩至指定大小
- Java异常处理