本次主要是想完成一个车牌识别的小项目,先来看看颜色识别,可以用来区分绿牌和蓝牌
使用LAB模式进行颜色分类
在Lab颜色空间中,每个颜色用L、a、b三个数字表示,各个分量的含义是这样的:
- L*代表明度,取值0~100
- a*代表从绿色到红色的分量 ,取值-128~127
- b*代表从蓝色到黄色的分量,取值-128~127

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
看看识别效果
可以看到正确标记了红笔的笔身和笔尖
我要赚赏金
