完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
不同颜色有对应的光谱主要分布,不同的对应分布阀值区间段对应不同的颜色,这样就对应识别啦。
或者说经过摄像头采集的图形中,对应一个区域的颜色(物体颜色),其各自RGB分量的数值分布不同,就对应了不同的颜色,通过设置分别的阀值,就可以识别出颜色来。 比如 OpenMV Cam 的python语言库中 具体的主要相关函数为image.find_blobs,其说明如下 image.find_blobs(thresholds[ invert=False[ roi[ x_stride=2[ y_stride=1[ area_threshold=10[ pixels_threshold=10[ merge=False[ margin=0[ threshold_cb=None[ merge_cb=None]]]]]]]]]])查找图像中所有色块,并返回一个包括每个色块的色块对象的列表。请观察 image.blob 对象以获取更多信息。 thresholds 必须是元组列表。 [(lo hi) (lo hi) ... (lo hi)] 定义你想追踪的颜色范围。对于灰度图像,每个元组需要包含两个值 - 最小灰度值和最大灰度值。 仅考虑落在这些阈值之间的像素区域。对于RGB565图像,每个元组需要有六个值(l_lo,l_hi,a_lo,a_hi,b_lo,b_hi) - 分别是LAB L,A和B通道的最小值和最大值。为方便使用,此功能将自动修复交换的最小值和最大值。此外,如果元组大于六个值,则忽略其余值。相反,如果元组太短,则假定其余阈值处于最大范围。 注解 获取所跟踪对象的阈值,只需在IDE帧缓冲区中选择(单击并拖动)跟踪对象。直方图会相应地更新到所在区域。然后只需写下颜色分布在每个直方图通道中起始与下降位置。这些将是 thresholds 的低值和高值。由于上下四分位数据相差微小,故手动确定阈值为佳。 您还可以通过进入OpenMV IDE中的 工具 ->机器视觉 ->阈值编辑器 并从GUI窗口中拖动滑块来确定颜色阈值。 invert 反转阈值操作,像素在已知颜色范围之外进行匹配,而非在已知颜色范围内。 roi 是感兴趣区域的矩形元组(x,y,w,h)。如果未指定,ROI即整个图像的图像矩形。操作范围仅限于 roi 区域内的像素。 x_stride 是查找某色块时需要跳过的x像素的数量。找到色块后,直线填充算法将精确像素。若已知色块较大,可增加 x_stride 来提高查找色块的速度。 y_stride 是查找某色块时需要跳过的y像素的数量。找到色块后,直线填充算法将精确像素。若已知色块较大,可增加 y_stride 来提高查找色块的速度。 若一个色块的边界框区域小于 area_threshold ,则会被过滤掉。 若一个色块的像素数小于 pixel_threshold ,则会被过滤掉。 merge 若为True,则合并所有没有被过滤掉的色块,这些色块的边界矩形互相交错重叠。 margin 可在相交测试中用来增大或减小色块边界矩形的大小。例如:边缘为1、相互间边界矩形为1的色块将被合并。 合并色块使颜色代码追踪得以实现。每个色块对象有一个代码值 code ,该值为一个位向量。例如:若您在 中输入两个颜色阈值,则第一个阈值代码为1,第二个代码为2(第三个代码为4,第四个代码为8,以此类推)。合并色块对所有的code使用逻辑或运算,以便您知道产生它们的颜色。这使得您可以追踪两个颜色,若您用两种颜色得到一个色块对象,则可能是一种颜色代码。 若您使用严格的颜色范围,无法完全追踪目标对象的所有像素,您可能需要合并色块。 最后,若您想要合并色块,但不想两种不同阈值颜色的色块被合并,只需分别两次调用 image.find_blobs ,不同阈值色块就不会被合并。 threshold_cb 可设置为用以调用阈值筛选后的每个色块的函数,以便将其从将要合并的色块列表中过滤出来。回调函数将收到一个参数:要被筛选的色块对象。然后回调函数需返回True以保留色块或返回False以过滤色块。 merge_cb 可设置为用以调用两个即将合并的色块的函数,以禁止或准许合并。回调函数将收到两个参数—两个将被合并的色块对象。回调函数须返回True以合并色块,或返回False以防止色块合并。 不支持压缩图像和bayer图像。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
205 浏览 0 评论
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
1253 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
848 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
853 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
1073 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12009 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 16:22 , Processed in 0.941953 second(s), Total 69, Slave 53 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号