上一篇 MaixPy IDE Maix Bit K210人脸识别(内有获取机器码步骤)
使用方法
MaixPy 已经在 image 模块中实现有查找色块方法,需要使用非 minimum 固件版本。
image模块的解释与mininum固件可在MaixPy文档中找到。
识别基本步骤
从摄像头获取图片
import image, sensor
img=sensor.snapshot()
从图片中查找所有色块对象(image.blob)列表, 传入的颜色阈值参数按照 LAB 格式(l_lo,l_hi,a_lo,a_hi,b_lo,b_hi)
green_threshold = (0, 80, -70, -10, -0, 30)
blobs = img.find_blobs([green_threshold])
操作色块对象
根据自己的需求操作色块对象, 例如将色块对象在图像中用矩形框标识出来
tmp=img.draw_rectangle(b[0:4])
例程 找绿色色块
import sensor
import image
import lcd
import time
lcd.init()
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.run(1)
green_threshold = (0, 80, -70, -10, -0, 30)
while True:
img=sensor.snapshot()
blobs = img.find_blobs([green_threshold])
if blobs:
for b in blobs:
tmp=img.draw_rectangle(b[0:4])
tmp=img.draw_cross(b[5], b[6])
c=img.get_pixel(b[5], b[6])
lcd.display(img)
打开MaixPy IDE,将以上代码复制
提前百度一张关于绿色的照片。连上板子,点击运行,可以看到右上角的预览中被识别的部分已经被框选,绿色被识别。
那么我们如何识别别的颜色呢?
确定颜色阈值
在识别基本步骤中,可以看到,代码被分为了三部分。
我们要特别注意第二部分,如何确定目标颜色。在官方开发工具中,按以下步骤打开
选择图像文件并打开,拖动六个滑块,可以实时的看到阈值的结果,我们想要的结果就是,将我们的目标颜色变成白色,其他颜色全变为黑色,下图我们采用的黄色。
上图被框选内容就是我们需要的"颜色"。将数据复制到下图框选范围内,即可完成对目标颜色的改变。
再次点击左下角运行按钮,可以看到,屏幕中黄色被识别。