jinglixixi 发表于 2024-10-7 12:17

【K230嵌入式AI开发板测评】+色彩识别及计数统计体验篇

<p>在我们的日常生活中,色彩随时伴随在我们的身边,而且对我们来说识别色彩是件很简单的事情。然而关于色彩的知识真的是怎么简单吗,其实单就色彩的定义来讲就是件非常复杂的问题,并有多种色彩模式在使用,如RGB模式、CMYK模式、Lab模式、HSB模式等。</p>

<p>&nbsp;</p>

<p>简单讲,RGB模式是一种基于自然界中3种基色光的混合原理,将红(Red)、绿(Green)和蓝(Blue)3种基色按照从0(黑)到255(白色)的亮度值在每个色阶中的分配来指定色彩的方式,也被称为色光加色法。</p>

<p>&nbsp;</p>

<p>而CMYK颜色模式则是一种印刷模式,其中四个字母分别指青(Cyan)、洋红(Magenta)、黄(Yellow)、黑(Black),也被称为色光减色法。</p>

<p>&nbsp;</p>

<p>所谓的Lab模式其原型则是由CIE协会在1931年制定的一种衡量颜色的标准,此模式解决了由于不同的显示器和打印设备所造成的颜色赋值差异问题。Lab颜色是以一个亮度分量L及两个颜色分量a和b来表示颜色的。</p>

<p>&nbsp;</p>

<p>这里之所以给出这些概念,是因为它与后续介绍的内容相关。</p>

<p>&nbsp;</p>

<p>为进行色彩识别,CanMV集成了RGB565颜色块识别函数find_blobs,其主要是基于LAB颜色模型。</p>

<p>&nbsp;</p>

<p>当我们将待识别的内容拍摄成图片后,使用find_blobs函数即可进行识别处理。</p>

<p>1. 单色识别</p>

<p>&nbsp;</p>

<p>进行单色识别的场景是将一张待识别的测试图片放在在电脑上并将其打开,这样做的好处在于图片上的色彩较为鲜明,易于摄像头来摄制以及提高后续识别的精准度。</p>

<p>&nbsp;</p>

<p>具体的识别流程为:</p>

<p> &nbsp;</p>

<p>&nbsp;</p>

<p>以识别单一的红色为目标,其识别场景及结果如图1 所示,说明识别精准和高效。</p>

<p> &nbsp;</p>

<p>图1 识别场景及结果</p>

<p>&nbsp;</p>

<p>2. 多色识别</p>

<p>&nbsp;</p>

<p>若指定多种色彩来识别,则可达到一次完成多种色彩被识别的目的。</p>

<p>&nbsp;</p>

<p>识别多种色彩的处理流程为:</p>

<p> &nbsp;</p>

<p>&nbsp;</p>

<p>以识别图中红绿蓝3种色为例,其识别场景及结果如图2 所示,说明识别精准有效。</p>

<p> &nbsp;</p>

<p>图2 识别场景及结果</p>

<p>&nbsp;</p>

<p>3. 识别统计</p>

<p>处理可以识别图中的色块颜色外,还可在此基础上实现色块统计的功能。</p>

<p>&nbsp;</p>

<p>具体的处理过程是:</p>

<p>&nbsp;</p>

<p>1)先用摄像头拍摄一幅有完整识别物体的图片,然后通过帧缓冲区窗口的禁用按键加以禁能,此时摄像头即停止传送拍摄数据进入缓冲区。</p>

<p>&nbsp;</p>

<p>2)在&ldquo;工具&rdquo;菜单中选取&ldquo;机器视觉&rdquo;下的&ldquo;阈值编辑器&rdquo;,见图3所示。在弹出的对话框中,选取帧缓冲区。</p>

<p>&nbsp;</p>

<p> &nbsp;</p>

<p>图3 选取阈值设置</p>

<p>&nbsp;</p>

<p> &nbsp;</p>

<p>图4 选取帧缓冲区</p>

<p>&nbsp;</p>

<p>3)通过调整LAB的阈值,使原有的彩色图像变成完整的黑白图像,见图5所示。</p>

<p> &nbsp;</p>

<p>图5 设置阈值</p>

<p>&nbsp;</p>

<p>4)在设置完阈值后,解除&ldquo;禁用&rdquo;功能,以继续恢复摄像头的摄制来拍摄待统计的图像,见图6所示。</p>

<p> &nbsp;</p>

<p>图6 摄制统计图像</p>

<p>&nbsp;</p>

<p>5)在完成统计的情况下,其统计结果如图7所示。此时若进入阈值设置界面,会见到图8所示的效果。</p>

<p> &nbsp;</p>

<p>图7 完成统计</p>

<p>&nbsp;</p>

<p> &nbsp;</p>

<p>图8 完成统计</p>

<p>&nbsp;</p>

<p>至此,关于色彩识别的测试就完成了。在此,不得不说一下自己先期预设的目标色差分析。它的实现基础是建立在读取图中色块的RGB色彩值,在转换为相应的LAB色彩值以进行2种色彩间的色差比较和分析。然而在CanMV集成的色彩识别函数尚未找到对应的函数功能,这样便失去了实现该功能的设计基础,暂且只能无能为力了。</p>

<p>&nbsp;</p>

zxcvbnm751120 发表于 2024-10-8 09:23

jinglixixi 发表于 2024-10-8 10:48

zxcvbnm751120 发表于 2024-10-8 09:23
学习中的需求资料,谢谢分享,内容真实洋细很好不错。

<p>感谢支持和鼓励!!!</p>

jinglixixi 发表于 2024-10-14 13:27

<p>识别色彩视频演示:</p>

<p>6d77367cca14a96c82671c090d3bec71<br />
&nbsp;</p>

<p>统计物体视频演示:</p>

<p>a86b6cd859b607f95976a8d7d967177a<br />
&nbsp;</p>
页: [1]
查看完整版本: 【K230嵌入式AI开发板测评】+色彩识别及计数统计体验篇