【N+】千里马Plus项目式课程 - 04 红灯停绿灯行
本帖最后由 Nplus实验室 于 2023-5-22 10:15 编辑【N+】千里马Plus项目式课程04 红灯停绿灯行- N+桃李科教上一篇:【N+】千里马Plus项目式课程 - 03 识色运动
下一篇:【N+】千里马Plus项目式课程 - 05 视觉巡线1
教学目标1.学习摄像头的颜色识别功能;2.实现红灯停绿灯行功能。
教学准备千里马、地图、数据线、识别卡片
教学过程导入 → 认识AI模块 → 颜色识别 → 项目程序 → 总结
1.导入(1)课程回顾:如果颜色传感器识别有较大误差,应该怎么调节?函数为什么要传参,这样有什么好处?
(2)导入:红灯停、绿灯行,是我们生活中已成规矩的事。不管是行人还是车辆,都必须遵循的规则。
如何让千里马在行驶过程中做到红灯停、绿灯行?本节课开始我们将结合千里马的AI功能,丰富千里马智慧交通的内容。
https://v.qq.com/x/page/c3509ae6raz.html
2.颜色识别上节课学习颜色传感器,它可以用来检测颜色的RGB值和HSV值,本节课我们学习的颜色识别,使用摄像头来捕捉的颜色色块。颜色识别可用于颜色的检测和追踪,一般用于与机器人交互,或者流水线分拣等场景中。
2.1学习与检测2.1.1 编程语句颜色学习需要用的编程语句如下:
切换模式,颜色、二维码、人脸、20类(物体识别)
学习屏幕方框中的物体、颜色等等
清楚学习过的数据,重新开始学习
2.1.2 学习颜色数据1.使用程序将模式切换到“颜色”模式,并定义按下掌控板的A键开始学习,按下B键则清除学习的数据。如下图所示:
2.手动调节摄像头角度,然后将摄像头对准需要学习的色块,按下A键进行学习,学习成功后出现ID号,如ID0、ID1等,则代表学习成功,如果需要学习其他颜色,将方框对准其他颜色块,按下A键开始第二次学习,按下B键取消学习成果。
3.将方框对准其他颜色块,按下A键开始第二次学习;
4.学习了多种颜色后,屏幕上会根据应颜色显示该颜色的 ID,边框的大小随颜色块的面积一起变化,边框会自动跟踪色块。千里马显示的颜色 ID 号与学习颜色的先后顺序是一致的,也就是:ID 会按顺序依次标注为“ID0”,“ID1”,“ID2”......以此类推。不同颜色对应的边框颜色也不同。在我们平时使用颜色识别中,同一个模块的颜色属性中色相和饱和度是固定不变的,但是受到环境亮度的影响明亮度会产生一些变化,所以在使用颜色识别功能时一定要保证学习识别时的环境亮度和实际工作时的环境亮度尽量保持一致,否则会产生误差。
2.2识别颜色2.2.1 编程语句颜色识别需要用的编程语句如下:
判断是否存在学习数据
获取已学习的ID0、ID1、ID2......数据,ID0是第一个学习的对象,ID2是第二个学习的对象,以此类推
判断当前数据的ID号
设置识别范围,减少错误识别的概率,用于颜色识别、视觉巡线
调节摄像头的亮度
设置获取相同颜色色块的数量,1个或者多个,同时设置亮度阈值。
2.2.2识别颜色目标:千里马学习两种颜色,识别到第一种颜色,扬声器发出“Do”的音,识别到第二种颜色,发出“La”的音。1.扬声器播放的程序语句如下:
播放指定音符、节拍,可与列表结合使用
停止播放音乐
恢复播放,与“停止播放音乐”结合使用。
自定义音乐,播放某个音调
播放音符列表,适用于多个音符的播放
连续音调,也就是重复播放
2.扬声器的播放,除了使用“千里马”模块中的语句,也可以使用“音乐”模块中的语句,只需将引脚改为P8即可。
3.程序流程图如下:先判断是否存在数据,再判断获取的ID号。
4.逻辑判断程序如下。
5.加上循环、学习数据等,完整程序如下。
3.项目程序目标:千里马在循迹行驶过程中,摄像头如果识别到红色停止,识别到绿色继续巡线。1.千里马学习红色与绿色卡片。
2.定义巡线的函数。
3.学习卡片的顺序要与程序对应上,若红色为ID0,绿色为ID1。千里马在循迹行驶,行驶过程,如果获取ID0,千里马停下等待,直到千里马获取ID1时,巡线行驶。
4.程序刷入之后,学习卡片数据,然后将千里马放到地图上进行测试,在行驶过程中拿出卡片测试。
5.在测试过程中可以发现:获取数据的框太大,容易识别到周围的颜色,此时可以设置识别区域的大小。
6.若千里马只识别中间区域的位置,“X”、“Y”是方框左上角的X、Y坐标,“W”为方框的宽度,“H”为方框的高度。
7.设置区域加入程序中,完整程序如下。
4.总结1.摄像头的颜色识别与底部颜色传感器有什么不同与相同之处?2.颜色识别过程中需要注意什么?有什么因素会影响颜色识别?边框大小与什么有关?
5.课后作业1.颜色识别还可以怎么用呢?是否可以用来追踪物体?如果可以用来追踪,思考一下程序应该怎么写?
千里马Plus购买链接:N+千里马Plus
本课PPT、视频及案例代码下载:
链接: https://pan.baidu.com/s/1BAvYfT6PFutkIDBHGBYJnQ
提取码: 8888
页:
[1]