导航

    • 登录
    • 搜索
    • 版块
    • 产品
    • 教程
    • 论坛
    • 淘宝
    1. 主页
    2. wxls
    W
    • 举报资料
    • 资料
    • 关注
    • 粉丝
    • 屏蔽
    • 帖子
    • 楼层
    • 最佳
    • 群组

    wxls

    @wxls

    0
    声望
    3
    楼层
    251
    资料浏览
    0
    粉丝
    0
    关注
    注册时间 最后登录

    wxls 关注

    wxls 发布的帖子

    • 串口通信有问题,openmv端能正确输出,可以32出错

      0_1658808113716_4157A5A4FB77554FFA79047D1607809A.jpg

      import sensor, image, time, os, tf, math, uos, gc
      import json,pyb
      from pyb import UART,LED
      green_threshold  = (0, 58, -49, -19, 39, -17)
      red_thresholds  = (0, 100, 7, 127, -128, 127)
      led3=pyb.LED(3)
      sensor.reset()
      sensor.set_pixformat(sensor.RGB565)
      sensor.set_framesize(sensor.QVGA)
      sensor.set_windowing((240, 240))
      sensor.skip_frames(time = 2000)
      uart = UART(3,115200)
      uart.init(115200,bits = 8,parity = None,stop = 1)
      net = None
      labels = None
      min_confidence = 0.5
      try:
          net = tf.load("trained.tflite", load_to_fb=uos.stat('trained.tflite')[6] > (gc.mem_free() - (64*1024)))
      except Exception as e:
          raise Exception('Failed to load "trained.tflite", did you copy the .tflite and labels.txt file onto the mass-storage device? (' + str(e) + ')')
      try:
          labels = [line.rstrip('\n') for line in open("labels.txt")]
      except Exception as e:
          raise Exception('Failed to load "labels.txt", did you copy the .tflite and labels.txt file onto the mass-storage device? (' + str(e) + ')')
      colors = [
          (255,   0,   0),
          (  0, 255,   0),
          (255, 255,   0),
          (  0,   0, 255),
          (255,   0, 255),
          (  0, 255, 255),
          (255, 255, 255),
      ]
      clock = time.clock()
      U1=1
      while(True):
          clock.tick()
          img = sensor.snapshot()
          while(U1):
              clock.tick()
              img = sensor.snapshot()
              for i, detection_list in enumerate(net.detect(img, thresholds=[(math.ceil(min_confidence * 255), 255)])):
                  if (i == 0): continue
                  if (len(detection_list) == 0): continue
                  print("********** %s **********" % labels[i])
                  for d in detection_list:
                      [x, y, w, h] = d.rect()
                      center_x = math.floor(x + (w / 2))
                      center_y = math.floor(y + (h / 2))
                      print('x %d\ty %d' % (center_x, center_y))
                      #zuo[0]=math.floor(x + (w / 2))
                      #zuo[1]=math.floor(y + (h / 2))
                      print(labels[i])
                      uart.write(labels[i])
                      led3.on()
                      u1=0
              print(clock.fps(), "fps", end="\n\n")
      

      上面是openmv的函数,下面是32

      void Openmv_Receive_Data(int16_t data)
      {
      //	static u8 state = 0;
      	openmv2=data;  //定义一个变量接收openmv发送的数据
      }
      OLED_ShowNum(70,20,openmv2,3,12);
      

      openmv的串行终端上可以正确打印,但是32上不行

      发布在 OpenMV Cam
      W
      wxls