• 免费好用的星瞳AI云服务上线!简单标注,云端训练,支持OpenMV H7和OpenMV H7 Plus。可以替代edge impulse。 https://forum.singtown.com/topic/9519
  • 我们只解决官方正版的OpenMV的问题(STM32),其他的分支有很多兼容问题,我们无法解决。
  • 如果有产品硬件故障问题,比如无法开机,论坛很难解决。可以直接找售后维修
  • 发帖子之前,请确认看过所有的视频教程,https://singtown.com/learn/ 和所有的上手教程http://book.openmv.cc/
  • 每一个新的提问,单独发一个新帖子
  • 帖子需要目的,你要做什么?
  • 如果涉及代码,需要报错提示全部代码文本,请注意不要贴代码图片
  • 必看:玩转星瞳论坛了解一下图片上传,代码格式等问题。
  • 巡线问题为什么会出现下面的问题?



    • 为什么摄像头对这黑线后卡住一会才出来线性回归线而且不是实时的

      BLACK_THRESHOLD = (34, 100, -61, 77, -76, 116)#(100, 55, -35, 22, 22, 82)#(3, 41, -3, 77, 12, 70)#(0, 95, 1, 34, 36, 80) #(5, 89, 35, 75, -8, 50)# Grayscale threshold for dark things...
      import sensor, image, time , math ,struct
      from pyb import UART
      from struct import pack, unpack
      import json
      sensor.reset()
      #sensor.set_vflip(True)
      #sensor.set_hmirror(True)
      sensor.set_pixformat(sensor.RGB565)
      sensor.set_framesize(sensor.QVGA) # 80x60 (4,800 pixels) - O(N^2) max = 2,3040,000.
      #sensor.set_auto_whitebal(False) # must be turned off for color tracking
      #sensor.set_windowing([0,20,80,40])
      sensor.skip_frames(time = 2000)     # WARNING: If you use QQVGA it may take seconds
      clock = time.clock()                # to process a frame sometimes.
      uart = UART(3, 115200)
      while(True):
          clock.tick()
          img = sensor.snapshot().binary([BLACK_THRESHOLD])
          line = img.get_regression([(100,100)], robust = True)
          if (line):
              rho_err = abs(line.rho())-img.width()/2 #计算一条直线与图像中央的距离
      
              #坐标变换  xy轴的角度
              if line.theta()>90:
                  theta_err = line.theta()-180
              else:
                  theta_err = line.theta()
      
              img.draw_line(line.line(), color = 255)#127
              output_str = "%f"%(theta_err)
      
              sumA = 0
              sumB = 0
              data = bytearray([0x41,0x43])
              uart.write(data)
      
              data = bytearray([0x02,8])
              for b in data:
                  sumB = sumB + b
                  sumA = sumA + sumB
              uart.write(data)
      
              float_value = theta_err
              float_bytes = pack('f', float_value)
              for b in float_bytes:
                  sumB = sumB + b
                  sumA = sumA + sumB
              uart.write(float_bytes)
      
              float_value = rho_err*0.1
              float_bytes = pack('f', float_value)
              for b in float_bytes:
                  sumB = sumB + b
                  sumA = sumA + sumB
              uart.write(float_bytes)
      
              data = bytearray([sumB, sumA])
              uart.write(data)
      
              print(float_value,theta_err)
              #print(rho_err*0.1)
          else:
              sumA = 0
              sumB = 0
              data = bytearray([0x41,0x43])
              uart.write(data)
      
              data = bytearray([0x02,8])
              for b in data:
                  sumB = sumB + b
                  sumA = sumA + sumB
              uart.write(data)
      
              float_value = 200
              float_bytes = pack('f', float_value)
              for b in float_bytes:
                  sumB = sumB + b
                  sumA = sumA + sumB
              uart.write(float_bytes)
      
              float_value = 0
              float_bytes = pack('f', float_value)
              for b in float_bytes:
                  sumB = sumB + b
                  sumA = sumA + sumB
              uart.write(float_bytes)
      
              data = bytearray([sumB, sumA])
              uart.write(data)
      
              #print(theta_err)
              print(float_value)
      
      
      
      


    • line = img.get_regression([(100,100)], robust = True)

      改为

      line = img.get_regression([(255,255)], robust = True)



    • @kidswong999 但是为什么识别一下卡那不会动半天出来线性回归不是一直动的



    • @g23b robust = True会大大增加运行时间,而且你把图像分辨率调大了,所以运算时间特别长。

      参考这个代码:

      https://book.openmv.cc/example/09-Feature-Detection/linear-regression-fast.html