【雕爷学编程】MicroPython动手做(08)——零基础学MaixPy之识别颜色 (2)

2、颜色空间转换:将RGB转换为HSV模型,于是可以通过不同颜色的HSV的阈值不同来识别出该种颜色。Opencv中使用cvtcolor()可实现。一般彩色图像都是RGB颜色空间,而HSV色彩空间模型是一种在人们生活中甚至更常用的颜色系统,在电视遥控器上、在画画的调色板中、在看电视时调整亮度时都很常见,因为它更符合人们描述颜色的方式——是什么颜色、颜色有多深、颜色有多亮。需要注意的是,在opencv中,H、S、V值范围分别是[0,180),[0,255),[0,255),而非实际模型[0,360],[0,1],[0,1]。

3、直方图均衡化:由于光线的影响,手机读取的每一帧图片可能存在太亮或者太暗的问题,直方图均衡化可以将每个区间的像素点分布更均衡,使图像的层次感更强。Opencv中可以用equalizeHist()函数实现。直方图均衡化就是将原始的直方图拉伸,使之均匀分布在全部灰度范围内,从而增强图像的对比度。直方图均衡化的中心思想是把原始图像的的灰度直方图从比较集中的某个区域变成在全部灰度范围内的均匀分布

4、二值化:将图像上的像素点的灰度值设置为0或255,这样将使整个图像呈现出明显的黑白效果。对灰度图像进行二值化处理,可以突出一定范围的信息。它是将像素点颜色值在所设定区间内(如a-b)的设定为255,在范围外的设为0.但是对于ab和的不同取值,二值化的效果会有很大的不同。

5、开操作:用来去除图像中的噪点,即干扰信息。Opencv中可以使用getStructuringElement()函数来进行相应设置。开操作是基于图像的膨胀和腐蚀而言的,膨胀就是对图像高亮部分进行“领域扩张”,效果图拥有比原图更大的高亮区域;腐蚀是原图中的高亮区域被蚕食,效果图拥有比原图更小的高亮区域。而开操作是对图像先腐蚀再膨胀,用来消除小物体。其数学原理是定义一个卷积核B,将其与目标图像进行卷积,就可以达到相应效果。不同形状和大小的核会出现不同的效果。

6、闭操作 :进行开操作之后可能会有一些断开的区域,闭操作可以将这些未联通的区域进行封闭,使图像更完整。闭操作是开操作的相反,先膨胀再腐蚀,用于排除小型黑洞,其原理与开操作相同。

 

手头正好有个魔方,有五种颜色,就拿它当识别颜色的实验道具了。

【雕爷学编程】MicroPython动手做(08)——零基础学MaixPy之识别颜色

打开MaixPy IDE,选择工具——机器视觉——阕值编辑器

【雕爷学编程】MicroPython动手做(08)——零基础学MaixPy之识别颜色

打开源图像位置,选择帧缓冲区

【雕爷学编程】MicroPython动手做(08)——零基础学MaixPy之识别颜色

调整LAB阕值,主要是在二进制图像栏,白色像素是被跟踪的像素

【雕爷学编程】MicroPython动手做(08)——零基础学MaixPy之识别颜色

彻底搞懂Lab 颜色空间

名称
在开始之前,先明确一下Lab颜色空间(Lab color space)的名字:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwsfdg.html