ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

【CanMV K210】视觉识别 颜色阈值分割与色块检测实验

【CanMV K210】视觉识别 颜色阈值分割与色块检测实验 在智能硬件和 AI 视觉项目中,颜色识别是非常经典的入门实验。很多看起来复杂的视觉应用,例如物料分拣、颜色标记追踪、机器人巡检、色块定位、教学演示和视觉反馈,本质上都可以从“摄像头采集画面,程序判断颜色区域,再把识别结果显示出来”这个流程开始理解。本实验使用 CanMV K210 摄像头采集图像,通过 LAB 颜色阈值识别红色、绿色和蓝色色块。程序会在 LCD 屏幕上实时显示摄像头画面,并对识别到的色块绘制矩形框、中心十字和颜色名称,同时在画面左上角显示 FPS 和识别数量。串口端会按照固定帧间隔打印识别结果,避免持续刷屏影响调试观察。实验运行后,LCD 上可以直接看到摄像头画面、颜色识别框、中心点标记和运行状态信息。下面的效果图可以先建立整体印象,后续代码中的find_blobs()、draw_rectangle()、draw_cross()和lcd.display()都会围绕这个显示效果展开。学习目标说明理解视觉识别流程掌握摄像头采集、颜色阈值判断、结果绘制和 LCD 显示之间的关系掌握 LAB 阈值识别使用 LAB 颜色范围识别红、绿、蓝三种色块理解色块对象认识blob中的矩形、中心点、颜色编码和坐标信息学会结果可视化在图像上绘制识别框、中心十字、颜色名称、FPS 和识别数量建立视觉扩展思路为后续颜色分拣、色块追踪、云台控制和 AI 视觉实验打基础文章目录理论基础硬件设施软件代码扩展应用总结理论基础颜色识别实验的核心是把摄像头画面中的颜色区域转换成程序可以处理的数据。摄像头负责采集真实画面,程序根据预设颜色阈值查找目标区域,找到目标后再把识别结果绘制到图像上,最后通过 LCD 显示出来。这个过程不是单纯显示摄像头画面,而是在采集和显示之间增加了“图像分析”和“结果标注”。本实验使用 LAB 颜色阈值进行识别。相比直接使用 RGB 判断颜色,LAB 空间更适合做颜色分割实验,因为它可以把亮度和颜色分量分开描述。代码中的阈值格式为(L Min, L Max, A Min, A Max, B Min, B Max),分别限制亮度、红绿方向和蓝黄方向的取值范围。只要图像中某个区域的颜色落在对应阈值范围内,find_blobs()就可能把它识别为目标色块。红、绿、蓝三种颜色被统一放在COLOR_CONFIGS中管理。每种颜色都有名称、编码、阈值和绘制颜色。红色编码为1,绿色编码为2,蓝色编码为4,这些数值采用二进制位设计,便于在合并色块时判断一个blob是否包含多个颜色。比如某个识别结果同时包含红色和绿色编码时,程序就可以通过按位与运算解析出混合结果。下面这张流程图从视觉数据链路理解本实验。摄像头采集真实画面,程序根据 LAB 阈值查找色块,再把检测结果绘制到图像上,最后交给 LCD 显示。串口输出只作为辅助调试手段,不参与图像显示链路。
返回列表