雕爷学编程【雕爷学编程】MicroPython动手做(08)——零基础学MaixPy之识别颜色( 四 )
Lab模式既不依赖光线 , 也不依赖于颜料 , 它是CIE组织确定的一个理论上包括了人眼可以看见的所有色彩的色彩模式 。 Lab模式弥补了RGB和CMYK两种色彩模式的不足 。 同RGB颜色空间相比 , Lab是一种不常用的色彩空间 。 它是在1931年国际照明委员会(CIE)制定的颜色度量国际标准的基础上建立起来的 。 1976年 , 经修改后被正式命名为CIELab 。 它是一种设备无关的颜色系统 , 也是一种基于生理特征的颜色系统 。 这也就意味着 , 它是用数字化的方法来描述人的视觉感应 。 Lab颜色空间中的L分量用于表示像素的亮度 , 取值范围是[0,100],表示从纯黑到纯白;a表示从红色到绿色的范围 , 取值范围是[127,-128];b表示从黄色到蓝色的范围 , 取值范围是[127,-128] 。 下图所示为Lab颜色空间的图示;
Lab颜色空间比计算机显示器甚至比人类视觉的色域都要大, 表示为Lab的位图比RGB或CMYK位图获得同样的精度需要要求更多的像素数据 。 Lab模式所定义的色彩最多 , 且与光线及设备无关并且处理速度与RGB模式同样快 , 比CMYK模式快很多 。 因此 , 可以放心大胆的在图象编辑中使用Lab模 式 。 而且 , Lab模式在转换成CMYK模式时色彩没有丢失或被替换 。 因此 , 最佳避免色彩损失的方法是:应用Lab模式编辑图象 , 再转换为CMYK模式打印 输出 。
#MicroPython动手做(08)——零基础学MaixPy之识别颜色
#实验程序之一:find red blob 动态识别红色块
尝试选择最佳的颜色跟踪阙值 , 通过滑动条来调节阈值 , 在二进制图像上红色块高亮(显示白色) 。
实测得出的LAB值为:55, 70, 42, 65, 52, 8
本文插图
#MicroPython动手做(08)——零基础学MaixPy之识别颜色
#实验程序之一:find red blob 动态识别红色块
本文插图
本文插图
做实验的魔方 , 有5种颜色
本文插图
运行后可看到框圈和+号 , 已能准确识别
本文插图
阴天里窗户前的实验场景
本文插图
#MicroPython动手做(08)——零基础学MaixPy之识别颜色
#实验程序之二:find green blob 动态识别绿色块
获取绿色的LAB阙值为 0, 88, -42, -6, -9, 13
本文插图
本文插图
本文插图
#MicroPython动手做(08)——零基础学MaixPy之识别颜色
#实验程序之三:find orange blob 动态识别橙色块
获取橙色的LAB阙值为 0, 80, 66, -20, 80, 50(与红色有交集)
本文插图
本文插图
推荐阅读
- 驱动之家Linux之父Linus Torvalds:我早就不编程了、工作就是说不
- 驱动之家 Torvalds:我早就不编程了、工作就是说不,Linux之父Linus
- Linux|Linux之父Linus Torvalds:我早就不编程了、工作就是说不
- 课工场郑州翔天信鸽|JavaScript最常用,java是主流,JetBrains公布编程语言排名
- 课工场郑州翔天信鸽 JavaScript最常用,java是主流,JetBrains公布编程语言排名
- 『程序员』程序员多次劝说邻居,不要让孩子去学编程,结果蒙了
- 「编程」后台编程语言互相争执,为何前端公认JavaScript?
- 编程猫受邀人民网参与讨论,共创智慧教育新生态
- java 编程思想:感动哭了!《Java 编程思想》最新中文版开源!(附源码)
- 鲸媒体|Jr计划拓展全球市场,印度少儿编程公司WhiteHat
