导航

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

    vdat 发布的帖子

    • RE: 为什么写入for循环break之后还是重复识别

      0_1695730596561_pro.png

      发布在 OpenMV Cam
      V
      vdat
    • 为什么写入for循环break之后还是重复识别
      import time, sensor, image, math
      from pyb import UART
      import sensor, image, math
      
      uart = UART(3, 9600)
      sensor.reset()
      sensor.set_pixformat(sensor.RGB565)
      sensor.set_framesize(sensor.QVGA)
      sensor.skip_frames(time = 2000)
      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()
      
      thresholds_red = [(18, 46, -4, 26, 5, 30)] # generic_red_thresholds
      thresholds_green =  [(47, 64, -67, -39, -128, 127)] # generic_green_thresholds
      thresholds_blue = [(24, 38, -128, 36, -73, -10)] # generic_blue_thresholds
      cx = 0, # up sample by 4   #数据1
      cy = 0, # up sample by 4    #数据2
      cw = 0, # up sample by 4    #数据1
      ch = 0, # up sample by 4    #数据2
      cj = 0, # up sample by 4    #数据1
      cz = 0, # up sample by 4    #数据2
      
      
      def cx1():
          for cx in tuple1:
              if cx == 1 :
      
                  clock.tick()
                  img = sensor.snapshot()
                  for blob in img.find_blobs(thresholds_red, pixels_threshold=200, area_threshold=200):   #未设置roi
                  # These values depend on the blob not being circular - otherwise they will be shaky.
                      if blob.elongation() > 0.5:
                          img.draw_edges(blob.min_corners(), color=(255,0,0))
                          img.draw_line(blob.major_axis_line(), color=(0,255,0))
                          img.draw_line(blob.minor_axis_line(), color=(0,0,255))
                          # These values are stable all the time.
                          img.draw_rectangle(blob.rect())
                          img.draw_cross(blob.cx(), blob.cy())
                          # Note - the blob rotation is unique to 0-180 only.
                          img.draw_keypoints([(blob.cx(), blob.cy(), int(math.degrees(blob.rotation())))], size=20)                #识别寻找红色色块
      
                          uart.write('r')#发送完成信号
                          print("cx=red")
                          break
      
      
              elif cx == 2 :
      
                  clock.tick()
                  img = sensor.snapshot()
                  for blob in img.find_blobs(thresholds_green, pixels_threshold=200, area_threshold=200):   #未设置roi
                      # These values depend on the blob not being circular - otherwise they will be shaky.
                      if blob.elongation() > 0.5:
                          img.draw_edges(blob.min_corners(), color=(255,0,0))
                          img.draw_line(blob.major_axis_line(), color=(0,255,0))
                          img.draw_line(blob.minor_axis_line(), color=(0,0,255))
                          # These values are stable all the time.
                          img.draw_rectangle(blob.rect())
                          img.draw_cross(blob.cx(), blob.cy())
                          # Note - the blob rotation is unique to 0-180 only.
                          img.draw_keypoints([(blob.cx(), blob.cy(), int(math.degrees(blob.rotation())))], size=20)                #识别寻找绿色色块
      
      
                          uart.write('g')#发送完成信号
                          print("cx=green")
                          break
      
              elif cx == 3:
      
                  clock.tick()
                  img = sensor.snapshot()
                  for blob in img.find_blobs(thresholds_blue, pixels_threshold=200, area_threshold=200):   #未设置roi
                      # These values depend on the blob not being circular - otherwise they will be shaky.
                      if blob.elongation() > 0.5:
                          img.draw_edges(blob.min_corners(), color=(255,0,0))
                          img.draw_line(blob.major_axis_line(), color=(0,255,0))
                          img.draw_line(blob.minor_axis_line(), color=(0,0,255))
                          # These values are stable all the time.
                          img.draw_rectangle(blob.rect())
                          img.draw_cross(blob.cx(), blob.cy())
                          # Note - the blob rotation is unique to 0-180 only.
                          img.draw_keypoints([(blob.cx(), blob.cy(), int(math.degrees(blob.rotation())))], size=20)                #识别寻找蓝色色块
      
                          uart.write('b')#发送完成信号
                          print("cx=blue")
                          break
      
      
      while(True):
          clock.tick()
          img = sensor.snapshot()
          img.lens_corr(1.8) # strength of 1.8 is good for the 2.8mm lens.
          for code in img.find_qrcodes():
              img.draw_rectangle(code.rect(), color = (255, 0, 0))
              print(code)
              qrcode2 = code.payload()
              cx = int(qrcode2[0:1])
              cy = int(qrcode2[1:2])
              cw = int(qrcode2[2:3])
              ch = int(qrcode2[4:5])
              cj = int(qrcode2[5:6])
              cz = int(qrcode2[6:7])
              print('读取')
              print(qrcode2)
              list1 = list(qrcode2)
              time.sleep(5)
      
              tuple1 = (cx, cy, cw, ch, cj, cz)
              print(tuple1)
              print(cx)
              cx1()
              print(cx)
              cy1()
              print(cy)
      

      0_1695728715196_pro.png

      发布在 OpenMV Cam
      V
      vdat
    • RE: 为什么出现SyntaxError: invalid syntax呢

      @kidswong999 解决了谢谢,好久没用python了把elif写成else if了

      发布在 OpenMV Cam
      V
      vdat
    • RE: 为什么出现SyntaxError: invalid syntax呢

      @kidswong999 改了之后还是不行0_1695298809978_pro.png

      import time, sensor, image, math
      from pyb import UART
      import sensor, image, math

      uart = UART(3, 9600)
      sensor.reset()
      sensor.set_pixformat(sensor.RGB565)
      sensor.set_framesize(sensor.QVGA)
      sensor.skip_frames(time = 2000)
      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()

      thresholds_red = [(30, 100, 15, 127, 15, 127)] # generic_red_thresholds
      thresholds_green = [(30, 100, -64, -8, -32, 32)] # generic_green_thresholds
      thresholds_blue = [(0, 15, 0, 40, -80, -20)] # generic_blue_thresholds
      int(cx), # up sample by 4 #数据1
      int(cy), # up sample by 4 #数据2
      int(cw), # up sample by 4 #数据1
      int(ch), # up sample by 4 #数据2
      int(cj), # up sample by 4 #数据1
      int(cz), # up sample by 4 #数据2

      while(True):
      clock.tick()
      img = sensor.snapshot()
      img.lens_corr(1.8) # strength of 1.8 is good for the 2.8mm lens.
      for code in img.find_qrcodes():
      img.draw_rectangle(code.rect(), color = (255, 0, 0))
      print(code)
      qrcode2 = code.payload()
      cx = int(qrcode2[0:1])
      cy = int(qrcode2[1:2])
      cw = int(qrcode2[2:3])
      ch = int(qrcode2[4:5])
      cj = int(qrcode2[5:6])
      cz = int(qrcode2[6:7])
      print(cx)

      if cx == 1 :
      
          clock.tick()
          img = sensor.snapshot()
          for blob in img.find_blobs(thresholds_red, pixels_threshold=200, area_threshold=200):   #未设置roi
          # These values depend on the blob not being circular - otherwise they will be shaky.
              if blob.elongation() > 0.5:
                  img.draw_edges(blob.min_corners(), color=(255,0,0))
                  img.draw_line(blob.major_axis_line(), color=(0,255,0))
                  img.draw_line(blob.minor_axis_line(), color=(0,0,255))
                  # These values are stable all the time.
                  img.draw_rectangle(blob.rect())
                  img.draw_cross(blob.cx(), blob.cy())
                  # Note - the blob rotation is unique to 0-180 only.
                  img.draw_keypoints([(blob.cx(), blob.cy(), int(math.degrees(blob.rotation())))], size=20)                #识别寻找红色色块
      
                  uart.write('red')#发送完成信号
                  print("red")
      
      else if cx == 2 :
      
          clock.tick()
          img = sensor.snapshot()
          for blob in img.find_blobs(thresholds_green, pixels_threshold=200, area_threshold=200):   #未设置roi
              # These values depend on the blob not being circular - otherwise they will be shaky.
              if blob.elongation() > 0.5:
                  img.draw_edges(blob.min_corners(), color=(255,0,0))
                  img.draw_line(blob.major_axis_line(), color=(0,255,0))
                  img.draw_line(blob.minor_axis_line(), color=(0,0,255))
                  # These values are stable all the time.
                  img.draw_rectangle(blob.rect())
                  img.draw_cross(blob.cx(), blob.cy())
                  # Note - the blob rotation is unique to 0-180 only.
                  img.draw_keypoints([(blob.cx(), blob.cy(), int(math.degrees(blob.rotation())))], size=20)                #识别寻找绿色色块
      
      
                  uart.write('green')#发送完成信号
                  print("green")
      
      else if cx == 3:
      
          clock.tick()
          img = sensor.snapshot()
          for blob in img.find_blobs(thresholds_blue, pixels_threshold=200, area_threshold=200):   #未设置roi
              # These values depend on the blob not being circular - otherwise they will be shaky.
              if blob.elongation() > 0.5:
                  img.draw_edges(blob.min_corners(), color=(255,0,0))
                  img.draw_line(blob.major_axis_line(), color=(0,255,0))
                  img.draw_line(blob.minor_axis_line(), color=(0,0,255))
                  # These values are stable all the time.
                  img.draw_rectangle(blob.rect())
                  img.draw_cross(blob.cx(), blob.cy())
                  # Note - the blob rotation is unique to 0-180 only.
                  img.draw_keypoints([(blob.cx(), blob.cy(), int(math.degrees(blob.rotation())))], size=20)                #识别寻找蓝色色块
      
                  uart.write('blue')#发送完成信号
                  print("blue")
      发布在 OpenMV Cam
      V
      vdat
    • RE: 为什么出现SyntaxError: invalid syntax呢

      那关于这个错误呢0_1695274584160_pro.png

      发布在 OpenMV Cam
      V
      vdat
    • RE: 为什么出现SyntaxError: invalid syntax呢

      @kidswong999 while(True):
      clock.tick()
      img = sensor.snapshot()
      img.lens_corr(1.8) # strength of 1.8 is good for the 2.8mm lens.
      for code in img.find_qrcodes():
      img.draw_rectangle(code.rect(), color = (255, 0, 0))
      print(code)
      qrcode2 = code.payload()
      cx = int(qrcode2[0:1])
      cy = int(qrcode2[1:2])
      cw = int(qrcode2[2:3])
      ch = int(qrcode2[4:5])
      cj = int(qrcode2[5:6])
      cz = int(qrcode2[6:7])
      print(cx)

      if cx == 1 :
      
          clock.tick()
          img = sensor.snapshot()
          for blob in img.find_blobs(thresholds_red, pixels_threshold=200, area_threshold=200):   #未设置roi
          # These values depend on the blob not being circular - otherwise they will be shaky.
              if blob.elongation() > 0.5:
                  img.draw_edges(blob.min_corners(), color=(255,0,0))
                  img.draw_line(blob.major_axis_line(), color=(0,255,0))
                  img.draw_line(blob.minor_axis_line(), color=(0,0,255))
                  # These values are stable all the time.
                  img.draw_rectangle(blob.rect())
                  img.draw_cross(blob.cx(), blob.cy())
                  # Note - the blob rotation is unique to 0-180 only.
                  img.draw_keypoints([(blob.cx(), blob.cy(), int(math.degrees(blob.rotation())))], size=20)                #识别寻找红色色块
      
      uart.write('red')#发送完成信号
      print("red")
      
      else if cx == 2 :
      
          clock.tick()
          img = sensor.snapshot()
          for blob in img.find_blobs(thresholds_green, pixels_threshold=200, area_threshold=200):   #未设置roi
              # These values depend on the blob not being circular - otherwise they will be shaky.
              if blob.elongation() > 0.5:
                  img.draw_edges(blob.min_corners(), color=(255,0,0))
                  img.draw_line(blob.major_axis_line(), color=(0,255,0))
                  img.draw_line(blob.minor_axis_line(), color=(0,0,255))
                  # These values are stable all the time.
                  img.draw_rectangle(blob.rect())
                  img.draw_cross(blob.cx(), blob.cy())
                  # Note - the blob rotation is unique to 0-180 only.
                  img.draw_keypoints([(blob.cx(), blob.cy(), int(math.degrees(blob.rotation())))], size=20)                #识别寻找绿色色块
      
      
       uart.write('green')#发送完成信号
       print("green")
      发布在 OpenMV Cam
      V
      vdat
    • RE: 为什么出现SyntaxError: invalid syntax呢

      @kidswong999 解决了多谢

      发布在 OpenMV Cam
      V
      vdat
    • RE: 为什么出现SyntaxError: invalid syntax呢

      0_1695121152201_p.png

      发布在 OpenMV Cam
      V
      vdat
    • 为什么出现SyntaxError: invalid syntax呢

      import time, sensor, image, math
      from pyb import UART
      import sensor, image, math

      uart = UART(3, 9600)
      sensor.reset()
      sensor.set_pixformat(sensor.RGB565)
      sensor.set_framesize(sensor.QVGA)
      sensor.skip_frames(time = 2000)
      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()

      thresholds_red = [(30, 100, 15, 127, 15, 127)] # generic_red_thresholds
      thresholds_green = [(30, 100, -64, -8, -32, 32)] # generic_green_thresholds
      thresholds_blue = [(0, 15, 0, 40, -80, -20)] # generic_blue_thresholds
      int(cx), # up sample by 4 #数据1
      int(cy), # up sample by 4 #数据2
      int(cw), # up sample by 4 #数据1
      int(ch), # up sample by 4 #数据2
      int(cj), # up sample by 4 #数据1
      int(cz), # up sample by 4 #数据2

      while(True):
      clock.tick()
      img = sensor.snapshot()
      img.lens_corr(1.8) # strength of 1.8 is good for the 2.8mm lens.
      for code in img.find_qrcodes():
      img.draw_rectangle(code.rect(), color = (255, 0, 0))
      print(code)
      qrcode2 = code.payload()
      cx = int(qrcode2[0:1])
      cy = int(qrcode2[1:2])
      cw = int(qrcode2[2:3])
      ch = int(qrcode2[4:5])
      cj = int(qrcode2[5:6])
      cz = int(qrcode2[6:7])
      print(cx)

      if cx == 1 :
      
      clock.tick()
      img = sensor.snapshot()
      for blob in img.find_blobs(thresholds_red, pixels_threshold=200, area_threshold=200):   #未设置roi
          # These values depend on the blob not being circular - otherwise they will be shaky.
          if blob.elongation() > 0.5:
              img.draw_edges(blob.min_corners(), color=(255,0,0))
              img.draw_line(blob.major_axis_line(), color=(0,255,0))
              img.draw_line(blob.minor_axis_line(), color=(0,0,255))
          # These values are stable all the time.
          img.draw_rectangle(blob.rect())
          img.draw_cross(blob.cx(), blob.cy())
          # Note - the blob rotation is unique to 0-180 only.
          img.draw_keypoints([(blob.cx(), blob.cy(), int(math.degrees(blob.rotation())))], size=20)                #识别寻找红色色块
      
      uart.write('red')#发送完成信号
      print("red")
      发布在 OpenMV Cam
      V
      vdat