当前位置:   article > 正文

openmv串口发送数据_openmv串口传输代码

openmv串口输出一个8位数据

功能是找到指定颜色物体中心坐标,再串口发送。我用openmv加无线传输模块发送数据给单片机处理。

import sensor, image, time

from pyb import UART

import json

threshold = [(37, 67, 45, 84, 4, 68),         #red

(34, 67, -55, -22, 2, 41),      #green

(25, 67, -37, 26, -63, -26)]    #blue

#设置红色的阈值,括号里面的数值分别是L A B 的最大值和最小值(minL, maxL, minA,

# maxA, minB, maxB),LAB的值在图像左侧三个坐标图中选取。如果是灰度图,则只需

#设置(min, max)两个数字即可。

sensor.reset()

sensor.set_pixformat(sensor.RGB565)

sensor.set_framesize(sensor.QVGA)

sensor.skip_frames(time = 2000 )

sensor.set_auto_whitebal(False)

#关闭白平衡。白平衡是默认开启的,在颜色识别中,需要关闭白平衡。

clock = time.clock()

uart = UART(3, 115200)

uart.init(115200, bits=8, parity=None, stop=1)  #8位数据位,无校验位,1位停止位、

while(True):

clock.tick()

img = sensor.snapshot()

blob = img.find_blobs(threshold, area_threshold=300)

if blob: #如果找到了目标颜色

# print(blob)

# uart.write("B3 B3 ")    #一帧数据的帧头

FH = bytearray([0xb3,0xb3])

uart.write(FH)

for b in blob:

#迭代找到的目标颜色区域

img.draw_rectangle(b[0:4]) # rect

img.draw_cross(b[5], b[6]) # cx, cy

x = b.cx()

y = b.cy()

print(x, y, end = ',')

data = bytearray([x,y])

uart.write(data)

print(clock.fps())

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/474169
推荐阅读
  

闽ICP备14008679号