• 大小: 0M
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-06
  • 语言: 其他
  • 标签: 其他  

资源简介

main.zip

资源截图

代码片段和文件信息

‘‘‘
有用的视觉算法都试一试
‘‘‘
import sensor image time
from pyb import LED
from pyb import Pin
from pyb import UART
import sys

#######外设初始化区#######
uart = UART(3 115200)
uart.init(115200 bits=8 parity=None stop=1)  # 串口初始化
pin3 = Pin(‘P3‘ Pin.IN Pin.PULL_UP)           # P3作为IO口,低电平作为开始读色环的依据
pin6 = Pin(‘P6‘Pin.INPin.PULL_DOWN)           # P6串口发送给单片机
led_green = LED(1)                              # 绿灯
led_blue = LED(2)                               # 蓝灯

#######摄像头初始化区#######
sensor.reset()
sensor.set_pixformat(sensor.RGB565)             # 彩色
sensor.set_framesize(sensor.QVGA)                 # 分辨率
sensor.skip_frames(time = 600)
sensor.set_auto_whitebal(False)
sensor.set_auto_gain(False)# 白平衡值恒为(-5-6-4)
clock = time.clock()                            # 系统时钟

#######曝光值定义区#######
expo_circle=2000            # 色环曝光值 暗一点有利于识别
#######标志位变量定义区#######
i = 1                       # 全局,控制阶段数012追踪颜色 3发送颜色顺序 4二维码识别与发送 5无 6色环
circles = 0                 # 色环阶段,第几个圆圈
red_timesgreen_timesblue_times = 000 #色环阶段,记录红绿蓝的次数
level = 0                   # 色环阶段是高电平还是低电平
#######顺序变量定义区#######
circle_order = 0            # 色环颜色的顺序
#######大小变量定义区#######
blob_size = 300             # 寻找色块的最小值 find_blobs 函数的 pixel_threshold 和 area_threshold
pixel_size = 10                   # 寻找色环的最小像素单位

#######函数定义区#######
# 发送物块的颜色顺序,用小写abcdef来表示顺序
def send_blob(blob_order):
    if blob_order == 1230:
        uart.write(“a“)         # 当顺序是红绿蓝,发送字母a
        print(‘a‘)
    if blob_order == 1320:
        uart.write(“b“)
        print(‘b‘)
    if blob_order == 2130:
        uart.write(“c“)
        print(‘c‘)
    if blob_order == 2310:
        uart.write(“d“)
        print(‘d‘)
    if blob_order == 3120:
        uart.write(“e“)
        print(‘e‘)
    if blob_order == 3210:
        uart.write(“f“)
        print(‘f‘)
# 发送二维码的顺序值,用大写ABCDEF表示顺序
def send_code(code_order):
    if code_order == 123:
        uart.write(“A“)
    if code_order == 132:
        uart.write(“B“)
    if code_order == 213:
        uart.write(“C“)
    if code_order == 231:
        uart.write(“D“)
    if code_order == 312:
        uart.write(“E“)
    if code_order == 321:
        uart.write(“F“)
#亮灯函数
def cyan_on():
    led_green.on()
    led_blue.on()
def green_on():
    led_green.on()
    led_blue.off()
def blue_on():
    led_green.off()
    led_blue.on()
def off():
    led_green.off()
    led_blue.off()


red_threshold = [20 28 36 44 11 29]
red_threshold_dim = [11 20 25 35 4 21]
red_threshold_bright = [9 19 21 33 1 21]

green_threshold = [40 53 -49 -41 27 41]
green_threshold_dim = [21 30 -35 -25 18 33]
green_threshold_bright =[14 29 -30 -16 8 27]

blue_threshold = [6 15 -7 10 -27 -8]
blue_threshold_dim = [12 23 8 24 -49 -32]
blue_threshold_bright = [12 21 -7 11 -32 -12]

red_color_code = 1 # code = 2^0 = 1
green_color_code = 2 # code = 2^1 = 2
blue_color_code=4 #code=

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件       15185  2019-05-18 15:38  main.py

评论

共有 条评论