系统迁移中,暂时无法访问,所有数据会迁移到新的网站。
OpenMV VSCode 扩展发布了,在插件市场直接搜索OpenMV就可以安装
如果有产品硬件故障问题,比如无法开机,论坛很难解决。可以直接找售后维修。
发帖子之前,请确认看过所有的视频教程,https://singtown.com/learn/ 和所有的上手教程http://book.openmv.cc/
每一个新的提问,单独发一个新帖子
帖子需要目的,你要做什么?
如果涉及代码,需要报错提示与全部代码文本,请注意不要贴代码图片
必看:玩转星瞳论坛了解一下图片上传,代码格式等问题。
我的代码放入openmv运行后镜头不开启,如果是开着的状态画面也会突然不动
-
import sensor, image, time, math from pyb import UART import json import ustruct red_threshold_01 = ((6, 62, 25, 71, 15, 47)); green_threshold_01 = ((31, 99, -22, -61, 12, 59)); blue_threshold_01 = ((73, 43, -49, 57, -82, -13)); threshold = [50, 50, 0, 0, 0, 0] rec=5; sign=0; uart = UART(3,115200) uart.init(115200, bits=8, parity=None, stop=1) def sending_data_qr(code1,code2): global uart; data = ustruct.pack("<bbhhb", 0x2C, 0x12, int(code1), int(code2), 0x5B) uart.write(data); def sending_data_sign(sign): global uart; data = ustruct.pack("<bbhb", 0x2C, 0x12, int(sign), 0x5B) uart.write(data); def sending_data(cx): global uart; data = ustruct.pack("<bbhb", 0x2C, 0x12, int(cx), 0x5B) uart.write(data); def recive_data(): global uart global rec if uart.any(): rec = uart.readline(); print( rec) def find_max(blobs): max_size=0 for blob in blobs: if blob.pixels() > max_size: max_blob=blob max_size = blob.pixels() return max_blob while(1): if(rec==b'\x01'): sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QVGA) sensor.skip_frames(30) sensor.set_auto_gain(False) while(rec==b'\x01'): img = sensor.snapshot() img.lens_corr(1.8) for code in img.find_qrcodes(): if( len ( list (code.payload()))==7): tem = list (code.payload()); print(tem); qr1=tem[0]+tem[1]+tem[2]; qr2=tem[4]+tem[5]+tem[6]; print(qr1); print(qr2); sending_data_qr(qr1,qr2); recive_data(); elif(rec==b'\x05'): sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QVGA) sensor.skip_frames(30) sensor.set_auto_gain(False) while(rec==b'\x05'): img = sensor.snapshot() img.lens_corr(1.8) for code in img.find_qrcodes(): if( len ( list (code.payload()))==4):#判断扫码得到的是不是四位字符 tem = list (code.payload());#扫码得到的四位字符列表 #print(tem); if(tem[0]=='红'): if(tem[2]=='绿'): qr1=12; elif(tem[2]=='蓝'): qr1=13; if(tem[0]=='绿'): if(tem[2]=='红'): qr1=21; elif(tem[2]=='蓝'): qr1=23; if(tem[0]=='蓝'): if(tem[2]=='红'): qr1=31; elif(tem[2]=='绿'): qr1=32; print(qr1); sending_data_qr(qr1,qr1); recive_data(); elif(rec==b'\x04'): sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QVGA) sensor.skip_frames(time = 2000) sensor.set_auto_gain(False) sensor.set_auto_whitebal(False) clock = time.clock() while(rec==b'\x04'): clock.tick() img = sensor.snapshot() blobs = img.find_blobs([red_threshold_01], pixels_threshold=100, area_threshold=100, merge=True, margin=10); blobs1 = img.find_blobs([green_threshold_01], pixels_threshold=100, area_threshold=100, merge=True, margin=10); blobs2 = img.find_blobs([blue_threshold_01], pixels_threshold=100, area_threshold=100, merge=True, margin=10); cx=0;cy=0;cx1=0;cy1=0;cx2=0;cy2=0; if blobs: max_b = find_max(blobs); img.draw_rectangle(max_b[0:4]) img.draw_cross(max_b[5], max_b[6]) img.draw_cross(160, 120) cx=max_b[5]; cy=max_b[6]; img.draw_line((160,120,cx,cy), color=(127)); img.draw_string(cx, cy, "(%d, %d)"%(cx,cy), color=(127)); sign=sign+1; elif blobs1: max_b = find_max(blobs1); img.draw_rectangle(max_b[0:4]) img.draw_cross(max_b[5], max_b[6]) img.draw_cross(160, 120) cx1=max_b[5]; cy1=max_b[6]; img.draw_line((160,120,cx1,cy1), color=(127)); img.draw_string(cx1, cy1, "(%d, %d)"%(cx1,cy1), color=(127)); sign=sign+2; elif blobs2: max_b = find_max(blobs2); img.draw_rectangle(max_b[0:4]) img.draw_cross(max_b[5], max_b[6]) img.draw_cross(160, 120) cx2=max_b[5]; cy2=max_b[6]; img.draw_line((160,120,cx2,cy2), color=(127)); img.draw_string(cx2, cy2, "(%d, %d)"%(cx2,cy2), color=(127)); sign=sign+3; print(sign); sending_data_sign(sign); sign=0; recive_data(); else : recive_data();