• 大小: 3.41KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2024-05-09
  • 语言: Python
  • 标签: XP  py  AI  颜色  识别  

资源简介

学MaixPy之机器视觉,在MaixPy IDE开发环境,用Maix Dock K210开发板,实现动态识别色块,包括红、蓝、绿、黄四个色。

资源截图

代码片段和文件信息

#MicroPython动手做(08)——零基础学MaixPy之识别颜色
#实验程序:find red blob 动态识别红色块
import sensorimagelcdtime
from fpioa_manager import *
from Maix import GPIO
#import _thread
from machine import Timer

# 注册芯片的外设和引脚的对应关系
fm.register(board_info.LED_R fm.fpioa.GPIO1)   # RED
fm.register(board_info.LED_G fm.fpioa.GPIO2)   # GREEN
fm.register(board_info.LED_B fm.fpioa.GPIO3)   # BLUE

# 定义 GPIO 对象
led_r=GPIO(GPIO.GPIO1GPIO.OUT)
led_g=GPIO(GPIO.GPIO2GPIO.OUT)
led_b=GPIO(GPIO.GPIO3GPIO.OUT)
led_r.value(1)
led_g.value(1)
led_b.value(1)

lcd.init(freq=15000000)
sensor.reset()
sensor.set_pixformat(sensor.RGB565) #format: 帧格式 推荐设置为RGB565格式
sensor.set_framesize(sensor.QVGA) #framesize: 帧大小 推荐设置为QVGA格式
sensor.set_auto_gain(0)  #1 表示开启自动增益 0 表示关闭自动增益 如果需要追踪颜色,需要关闭自动增益
sensor.set_vflip(1) #镜头正常反转180°
sensor.run(1) #1 表示开始抓取图像 0 表示停止抓取图像
lcd.set_backlight(0)

red_threshold  =  (60 68  50  62  28  42)    #(55 70 42 65 52 8)
green_threshold=  (85 95 -80 -49  55  70)    #(0 88 -42 -6 -9 13)
blue_threshold =  (79 85 -24 -11 -27 -15)    #(0 80 -128 35 -128 -18)
yellow_threshold =(69 80   5  21  55  73)       # (88 95 0 -44 93 48)
printfinish_Y = 0
printfinish_R = 0
printfinish_G = 0
printfinish_B = 0

while True:
    img=sensor.snapshot() #使用摄像头拍摄一张照片
    blobs_R = img.find_blobs([red_threshold])
    blobs_G = img.find_blobs([green_threshold])
    blobs_B = img.find_blobs([blue_threshold])
    blobs_Y = img.find_blobs([yellow_threshold])
    if blobs_R:
        img.draw_string(60 100 “color is : Red!“ scale=2)
        if printf

评论

共有 条评论