导航

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

    2fsl

    @2fsl

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

    2fsl 关注

    2fsl 发布的帖子

    • RE: 如何提高帧率?帧率只有15左右,太慢了。脱机后帧率也没有改变!拍照校正那一行代码花了60ms左右时间?

      有没有什么情况是OPENMV运行了一段时间后帧率会下降呢?

      发布在 OpenMV Cam
      2
      2fsl
    • RE: 如何提高帧率?帧率只有15左右,太慢了。脱机后帧率也没有改变!拍照校正那一行代码花了60ms左右时间?

      还有我刚才试了下,不加校正,帧率也是只有15左右,可以麻烦试一下吗?

      发布在 OpenMV Cam
      2
      2fsl
    • RE: 如何提高帧率?帧率只有15左右,太慢了。脱机后帧率也没有改变!拍照校正那一行代码花了60ms左右时间?

      还有脱机运行后帧率没有变化是什么情况呢?

      发布在 OpenMV Cam
      2
      2fsl
    • 如何提高帧率?帧率只有15左右,太慢了。脱机后帧率也没有改变!拍照校正那一行代码花了60ms左右时间?
      import sensor, image, time,pyb
      from pyb import UART
      
      red_threshold  = (35, 70, -29,  6,-29 ,-11)
      
      sensor.reset()  # 复位并初始化传感器。
      #初始化摄像头,reset()是sensor模块里面的函数
      sensor.set_pixformat(sensor.RGB565) # Set pixel format to RGB565 (or GRAYSCALE)
      #设置图像色彩格式,有RGB565色彩图和GRAYSCALE灰度图两种
      sensor.set_framesize(sensor.QVGA)  # 将图像大小设置为QVGA (320x240)
      #设置图像像素大小,sensor.QQVGA: 160x120,sensor.QQVGA2: 128x160 (一般用于LCD
      #扩展板),sensor.QVGA: 320x240,sensor.VGA: 640x480, sensor.QQCIF: 88x72,sensor.QCIF: 176x144,sensor.CIF: 352x288
      
      sensor.set_windowing((240, 240))
      sensor.skip_frames(10)  # 等待设置生效。
      sensor.set_auto_whitebal(False) #关闭白平衡。白平衡是默认开启的,在颜色识别中,一定要关闭白平衡。
      clock = time.clock() # 追踪帧率
      
      def find_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
      
      uart = UART(3, 115200)
      count_x=0
      count_y=0
      count_x_output=0
      count_y_output=0
      number=0
      while(True):
          time_start = pyb.millis()
          clock.tick() # Track elapsed milliseconds between snapshots().
          img = sensor.snapshot().lens_corr(strength = 1.6, zoom = 1)
          img.mean(2)#均值滤波
          img.draw_cross(120,120)
          img.draw_cross(40,40)
          img.draw_cross(40,200)
          img.draw_cross(200,200)
          img.draw_cross(200,40)
          duration = pyb.elapsed_millis(time_start)
          print(duration)
      
          blobs = img.find_blobs([red_threshold])#颜色识别函数
          if blobs:
              max_blob = find_max(blobs)#找到最大色块
              X_POS = max_blob.cx()
              Y_POS = max_blob.cy()
      
              img.draw_rectangle(max_blob.rect()) # rect,画一个矩形框
              img.draw_cross(max_blob.cx(), max_blob.cy()) # cx, cy中心点画一个十字架
              ball = 1
          else:
              ball = 0
              X_POS=120
              Y_POS=120
      
          rx_buf = "R("+str(X_POS)+", "+ str(Y_POS)+", "+str(ball)+")O"
          print(rx_buf)
          print(clock.fps())
          if len(rx_buf) > 0:
             i = 0
             while i < len(rx_buf):
                 temp = rx_buf[i]
                 uart.write(temp)
                 i = i + 1;
      
      
      发布在 OpenMV Cam
      2
      2fsl