导航

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

    z1yl

    @z1yl

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

    z1yl 关注

    z1yl 发布的帖子

    • local variable referenced before assignment

      报错Traceback (most recent call last):
      File "", line 68, in
      File "", line 29, in find_blob_max
      NameError: local variable referenced before assignment
      OpenMV v4.4.1; MicroPython d8e38d0; OPENMV4P-STM32H743
      Type "help()" for more information.

      import sensor, image, time, math, pyb
      from pyb import UART, LED
      import json
      import ustruct
      
      thresholds_black=[(1, 41, -18, 2, -1, 14)]
      thresholds_red=[(69, 98, -1, 38, 1, 13)]
      
      
      
      sensor.reset()
      sensor.set_pixformat(sensor.RGB565)
      sensor.set_framesize(sensor.QQVGA)
      sensor.skip_frames(time = 10)
      sensor.set_auto_gain(False) # must be turned off for color tracking
      sensor.set_auto_whitebal(False) # must be turned off for color tracking
      clock = time.clock()
      
      
      uart =UART(3,115200)
      uart.init(115200, bits=8,parity=None,stop=1)
      
      def find_blob_max(blobs):
          max_size = 0
          for blob in blobs:
              if blob[2]*blob[3]>max_size:
                  max_blob = blob
                  max_size = blob[2]*blob[3]
          return max_blob
      
      
      def send_data_packet(x, y, r):        #x = rho_err 偏移的距离;a(angle) = theta_err 偏移的角度
          global uart;
      
          data = ustruct.pack("<bbbbbb",
                              0x2C,
                              0x12,
                              int(x),     #偏差距离
                              int(y),
                              int(r),
                              0x5B)
          uart.write(data)
      
      
      
      def find_CR():
          while(True):
              #iasd=0
              #print(iasd)
              clock.tick()
              img = sensor.snapshot()
              img_black = img.lens_corr(1.1).binary(thresholds_black).dilate(1)
              circlemin = img_black.find_circles(threshold = 7000, x_margin = 10, y_margin = 10, r_margin = 10,r_min = 47, r_max = 50, r_step = 2)
              if circlemin:
                  img.draw_circle(circlemin[0].x(), circlemin[0].y(), circlemin[0].r(), color = (255, 0, 0))
                  print(circlemin)
                  print(circlemin[0].x(), circlemin[0].y(), circlemin[0].r())
                  send_data_packet(circlemin[0].x(), circlemin[0].y(), circlemin[0].r())
                  break
          #print("FPS %f" % clock.fps())
      
      find_CR()
      while(True):
          clock.tick()
          img = sensor.snapshot().lens_corr(1.1).binary(thresholds_red).dilate(2)
          blobs=img.find_blobs([(96, 100, -13, 5, -11, 18)], pixels=5)
          blob_max = find_blob_max(blobs)
          print(blob_max[0:2])
          send_data_packet(blob_max[0],blob_max[1],0)
      
      发布在 OpenMV Cam
      Z
      z1yl
    • 请问要怎么识别这个靶子上的同心圆环数

      请问要怎么识别这个靶子上的同心圆环数0_1689597304261_屏幕截图 2023-07-17 203448.png

      发布在 OpenMV Cam
      Z
      z1yl
    • 请问如何比较多个roi中色块的大小啊

      请问如何比较多个roi中色块的大小啊

      发布在 OpenMV Cam
      Z
      z1yl