• 大小: 4KB
    文件类型: .py
    金币: 2
    下载: 0 次
    发布日期: 2024-01-30
  • 语言: Python
  • 标签: openmv  

资源简介

openmv一次性识别红黄蓝三种颜色,通过调整阈值适应不同环境。

资源截图

代码片段和文件信息

import sensor image time pyblcd
from pyb import UART
from pyb import LED
red_threshold = (3481978873) # red_thresholds 红色阈值
green_threshold  = (2550-4040560) # green_thresholds 绿色阈值
blue_threshold  = (42 72 -60 16 -26 -67)# blue_thresholds 蓝色阈值

sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.skip_frames(time = 3000)
sensor.set_auto_gain(False) # must be turned off for color tracking
sensor.set_auto_whitebal(False) # must be turned off for color tracking
#sensor.set_vflip(True)#垂直翻转
#sensor.set_hmirror(True)#水平翻转
r_led = LED(1)
b_led = LED(3)
clock = time.clock()
uart = UART(3 115200) #打开串口
uart.init(115200 bits=8 parity=None stop=1) #位宽度参数bits=8,奇偶校验参数parity=None停止位参数stop=1
# 只有比“pixel_threshold”多的像素和多于“area_threshold”的区域才被
# 下面的“find_blobs”返回。 如果更改相机分辨率,
# 请更改“pixels_threshold”和“area_threshold”。 “merge = True”合并图像中所有重叠的色块。
r=0 #红色
g=0 #绿色
b=0 #蓝色
k=0
c=1
d=0
while(True):
    clock.tick()
#    c = uart.readchar()-48 #48是什么?从单片机传过来的数据?


    #二维码识别测试
    if c==2:
        img = sensor.snapshot()
        img.lens_corr(1.8) #矫正
        for code in img.find_qrcodes():
            img.draw_rectangle(code.rect())
            #img.draw_rectangle(code.rect())
            if code.payload() == “123“ :
                uart.write(‘a‘)
                r_led.on()
                c = 0
            if code.payload() == “132“ :
                uart.write(‘b‘)
                r_led.on()
                c = 0
            if code.payload() == “213“ :
                uart.write(‘c‘)
                r_led.on()
                c = 0
            if code.payload() == “231“ :
                uart.write(‘d‘)
                r_led.on()
                c = 0
            if code.payload() == “312“ :
                uart.write(‘e‘)
                r_led.on()
                c = 0
            if code.payload() == “321“ :
                uart.write(‘f‘)
                r_led.on()
                c = 0
            print(code.payload())
        lcd.display(img)






    i

评论

共有 条评论