C
@kidswong999 我修改了,但是还是出现问题,没有报错,就是图片不再改变,openmv上的灯不停的闪烁
import sensor,time,pyb,math#引用模块sensor(摄像头传感器),time(追踪经过时间),pyb(与电路板相关的功能),math(数学函数库)。
from pyb import Pin, Timer, LED, UART#从模块pyb中引入LED,定时器,UART,Pin类
#黑色点阈值
blue_threshold = [(25, 85, -87, 92, -88, -14)]#对于灰度图像,每个元组需要包含两个值 - 最小灰度值和最大灰度值。
#xy平面误差数据
err_x = 0
err_y = 0
sensor.reset()#初始化摄像头传感器。
sensor.set_pixformat(sensor.RGB565)#设置灰度信息RGB565像素模式。每像素为16位、2字节。5位用于红色,6位用于绿色,5位用于蓝色。,
sensor.set_framesize(sensor.QQVGA)#设置图像大小,80x60 分辨率的相机传感器。
sensor.skip_frames(20)#相机自检几张图片,使用 20个快照,让相机图像在改变相机设置后稳定下来。 20 作为普通参数传输, 例如: skip_frames(10) 跳过 10 帧。您应在改变相机设置后调用该函数。
sensor.set_auto_whitebal(False)#关闭白平衡
clock = time.clock()#打开时钟,时钟对象
while(True):
clock.tick()#开始追踪运行时间。返回以毫秒计的通电后的运行时间
img = sensor.snapshot()#使用相机拍摄一张照片,并返回 image 对象。
blobs = img.find_blobs(blue_threshold)#返回一个包括每个色块的色块对象的列表。
for j in range(len(blobs)):
rects =img.find_rects(blobs[j].rect())
for i in range(len(rects)):
img.draw_cross(rects[i].x()+int (rects[i].w()/2),rects[i].y()+int (rects[i].h()/2))#调试使用在图像上绘制一个十字。 您可以单独传递x,y或作为元组(x,y)传递。,
img.draw_rectangle(rects[i].rect())#在图像上绘制一个矩形。 您可以单独传递x,y,w,h或作为元组(x,y,w,h)传递。