这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 活动中心 » 板卡试用 » 【SIPEEDM1DOCKSUITEVALBRD试用】颜色识别

共1条 1/1 1 跳转至

【SIPEEDM1DOCKSUITEVALBRD试用】颜色识别

工程师
2026-02-27 11:40:25     打赏

本次主要是想完成一个车牌识别的小项目,先来看看颜色识别,可以用来区分绿牌和蓝牌

使用LAB模式进行颜色分类

在Lab颜色空间中,每个颜色用L、a、b三个数字表示,各个分量的含义是这样的:

- L*代表明度,取值0~100

- a*代表从绿色到红色的分量 ,取值-128~127

- b*代表从蓝色到黄色的分量,取值-128~127

image.png

import sensor,lcd,time

#摄像头初始化
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.set_vflip(1) #摄像头后置模式

#lcd初始化
lcd.init()

clock=time.clock()

# 颜色识别阈值 (L Min, L Max, A Min, A Max, B Min, B Max) LAB模型
# 下面的阈值元组是用来识别 红、绿、蓝三种颜色,当然你也可以调整让识别变得更好。
thresholds = [(30, 100, 15, 127, 15, 127), # 红色阈值
              (30, 100, -64, -8, -32, 32), # 绿色阈值
              (0, 30, 0, 64, -128, -20)] # 蓝色阈值

while True:

    clock.tick()

    img=sensor.snapshot()

    blobs = img.find_blobs([thresholds[0]]) # 0,1,2分别表示红,绿,蓝色。
    if blobs:
        for b in blobs:
            tmp=img.draw_rectangle(b[0:4])
            tmp=img.draw_cross(b[5], b[6])

    lcd.display(img)     #LCD显示图片
    print(clock.fps())   #打印FPS

看看识别效果ScreenShot_2026-02-27_113037_434.png

可以看到正确标记了红笔的笔身和笔尖




关键词: SIPEEDM1DOCKSUITEVALBRD         

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]