版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机视觉与颜色追踪人工智能开源硬件与python编程实践情境导入在无人智能驾驶系统中,红绿灯识别是一项基本技术。利用无人车的前置摄像系统,对实时捕捉到的图像帧进行图像处理和分析,发现前方的交通指示装置,然后对交通装置区域里的颜色块进行检测,实现红绿灯的识别,引导无人车的运动。颜色的识别与追踪不仅应用于智慧交通、机器人等智慧装备之中,在工业、农业及日常生活中都有广泛应用。任务与目标了解图像颜色识别技术的基本原理、相关算法和应用框架;掌握运用人工智能开源硬件设计颜色识别系统的方法,提升Python编程方法;应用人工智能开源硬件和Python相关算法模块设计颜色跟踪功能;针对生活应用场景,进一步开展创意设计,设计具有实用价值的颜色跟踪应用系统。知识拓展:颜色空间模型光的颜色由不同波长的电磁波所决定。人的眼睛内有几种辨别颜色的锥形感光细胞,分别对黄绿色、绿色和蓝紫色(或称紫罗兰色)的光最敏感(波长分别为564、534和420纳米)。表征颜色的模型的不止一种,主要可以通过RGB、HSV、LAB、CMYK等色域模型将可见光的颜色描述出来。知识拓展:RGB模型在模型的三维直角坐标系中,x、y、z轴相当于红、绿、蓝三通道,原点vec3(0.0,0.0,0.0)代表黑色,顶点vec3(1.0,1.0,1.0)代表白色,原点到顶点的中轴线x=y=z代表灰度线。RGB模型适用于计算机表示,将RGB以不同的比例混合后,人的眼睛可以形成与其它各种频率的可见光等效的色觉。知识拓展:HSV模型HSV模型(Hue色相、Saturation饱和度、Value/Brightness亮度)比较适合人类习惯;模型中H即光谱颜色所在的位置,用角度来表示,红、绿、蓝分别相隔120°,互补色(CMY)分别相差180°。纯度S范围在[0,1],表示所选颜色的纯度和该颜色最大的纯度之间的比率,当S=0时,代表灰度。V表示色彩的明亮程度,范围[0,1],与光强度无直接关系。知识拓展:Lab模型Lab模型又称亮度-对比度模型,是由亮度(Luminosity)和有关色彩的a、b三个要素组成。a表示从洋红色到绿色的范围,b表示由黄色到蓝色的范围;L取值范围是[0,100],当L=50时,相当于50%的黑。a、b的值域都是[-128,127];Lab模型具有不依赖设备的优点,如果想在数字图像处理中保留宽阔的色域和丰富的色彩,最好选择Lab模型。基于Lab色彩空间的图像分割Lab颜色空间中,L:亮度层,a:颜色在红绿轴的分量,b:颜色在蓝黄轴的分量。通过计算每个像素点和六种颜色平均值的欧氏距离,这六种距离中最小的距离既为该像素点的颜色;LAB阈值分割法有两个关键步骤:第一,确定进行正确分割的阈值;第二,将图像的所有像素与阈值进行比较,以进行区域划分,达到目标与背景分离的目的。设计与实践颜色追踪摄像头参数设置时钟控制设计颜色追踪编程红绿蓝三颜色追踪调试、验证及完善颜色追踪摄像头参数设置#设置摄像头工作参数sensor.reset() #初始化摄像头组件;sensor.set_pixformat(sensor.RGB565)#设置为彩色;sensor.set_framesize(sensor.QVGA)#设置图像的大小;sensor.skip_frames() #在更改设置后,跳过若干帧,等待摄像头组件的稳定;#自动增益/白平衡sensor.set_auto_gain() #自动增益开启或者关闭。在使用颜色追踪算法时,需要关闭自动增益。sensor.set_auto_whitebal() #自动白平衡开启或者关闭。在使用颜色追踪算法时,需要关闭此功能。2023/1/30时钟控制设计time.ticks()返回以毫秒计的通电后的运行时间。time.sleep(ms)休眠ms毫秒数。classtime.clock返回一个时钟物件。clock.tick()开始追踪运行时间。clock.fps()停止追踪运行时间,并返回当前FPS(每秒帧数)。在调用该函数前一定要先调用tick()方法;clock.avg()停止追踪运行时间,并返回以毫秒计的当前平均运行时间。在调用该函数前始终首先调用tickclock.reset()重置时钟物件。2023/1/30颜色追踪编程方法image.find_blobs()方法,用于查找图像中所有色块,并返回一个所搜索到的色块物件的列表。thresholds元组列表中每个元组需要有六个参数值(l_lo,l_hi,a_lo,a_hi,b_lo,b_hi),分别是LAB颜色模型的L、A和B三个参数的最小值和最大值。roi参数用来设置颜色识别的视野区域,roi是一个元组,roi=(x,y,w,h),代表从左上顶点(x,y)开始的宽为w高为h的矩形区域,roi默认设置为整个图像视野。2023/1/30颜色追踪的实现设置好摄像头视频采集工作参数,将待追踪颜色的LAB阈值传入find_blobs函数中,即可在指定的图像区域内启动颜色追踪过程:red_threshold_01=(41,60,44,84,-10,63)#设置红色的阈值,括号里面的数值分别是LAB的最大值和最小值(minL,maxL,minA,while(True):clock.tick()#跟踪两次snapshots()间消耗的时间(milliseconds);img=sensor.snapshot() #捕获图像帧;blobs=img.find_blobs([red_threshold_01],area_threshold=150)#搜索指定颜色色块;ifblobs:#如果找到了目标颜色print(blobs)forbinblobs:#迭代找到的目标颜色区域img.draw_rectangle(b[0:4])#用矩形标记出目标颜色区域img.draw_cross(b[5],b[6])#在cx,cy坐标处画上十字标记拓展:实现红绿蓝三种颜色追踪thresholds=[(41,60,44,84,-10,63),#红色阈值(53,72,-59,-15,-3,52),#绿色阈值(48,71,-25,-5,-53,-26)]#蓝色阈值#可同时设置<=16种颜色阈值while(True):clock.tick()img=sensor.snapshot()#捕捉一帧图像,保存到image对象中;forblobinimg.find_blobs(thresholds,pixels_threshold=200,area_threshold=200):#如果所检出色块的像素数或像素面积大于阈值200则会被确认,返回给blob对象;img.draw_rectangle(blob.rect())#画矩形img.draw_cross(blob.cx(),blob.cy())#画十字2023/1/30调试及验证2023/1/30分析与思考利用find_blobs函数可以实现某种特定颜色的识别和追踪,实际生活中会有同时追踪几种颜色的需求。请思考,要进行多种颜色的同时追踪,Python程序应该如何设计?在颜色追踪应用中,你有没有遇到过环境光照变化对识别追踪结果的影响?光照的影响严重到什么程度?请找到一种对策,并设计解决方案。实际应用中,同一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 砖头废料购买合同
- 汽车维护保养合同
- 国有土地房屋交易合同协议范本
- 沙石购销合同示例定制
- 商务委托印刷合同协议样本
- 房产营销策划项目合作合同
- 校园草坪采购合同
- 活动摄像服务合同
- 食品添加剂购买合同
- 品牌年度服务合同保险理赔
- 福建省2025届普通高中学业水平合格考试仿真模拟政治试题(一)
- 专题17 生于忧患死于安乐(含答案与解析)-备战2024年中考语文之文言文对比阅读(全国版)
- 2024-2030年中国即时配送行业未来发展与前景应用领域规模研究报告
- 6个关键点!二十届三中全会解读课件
- 2024-2030年中国重症监护监护系统行业市场发展趋势与前景展望战略分析报告
- 湖南美术出版社六年级上册《书法练习指导》表格教案
- 部编版语文二年级上册《语文园地三我喜欢的玩具》(教案)
- 俱乐部陪玩方案
- 中国成人心肌炎临床诊断与治疗指南2024解读
- 电路分析基础(浙江大学)智慧树知到期末考试答案章节答案2024年浙江大学
- 建模师工作合同
评论
0/150
提交评论