导航

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

    g23b

    @g23b

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

    g23b 关注

    g23b 发布的帖子

    • RE: 巡线问题为什么会出现下面的问题?

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

      发布在 OpenMV Cam
      G
      g23b
    • 巡线问题为什么会出现下面的问题?

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

      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)
      
      
      
      
      发布在 OpenMV Cam
      G
      g23b
    • RE: 循环拍照并保存怎么保存不同的名字?

      @kidswong999 语法解决啦,但是该如何第一次识别到拍照一次保存命名为1的照片识别第二次保存命名为2的照片 ,我的是识别后直接拍三张

      发布在 OpenMV Cam
      G
      g23b
    • RE: 怎样保存多张拍摄的照片到SD卡

      @kidswong999 是一次运行自动保存多张照片

      发布在 OpenMV Cam
      G
      g23b
    • RE: 循环拍照并保存怎么保存不同的名字?

      我这个只能保存命名为1的图片,我想保存3张分别命名为1,2 ,3

      发布在 OpenMV Cam
      G
      g23b
    • 循环拍照并保存怎么保存不同的名字?

      循环拍照并保存怎么保存不同的名字?

      import sensor, image, time, time, pyb
      from pyb import UART
      import json
      
      sensor.reset()
      sensor.set_pixformat(sensor.RGB565)
      sensor.set_framesize(sensor.QQVGA)
      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()
      uart = UART(3, 115200)
      
      while(True):
          clock.tick()
          img = sensor.snapshot().lens_corr(1.8)
          for r in img.find_rects(threshold=3500):     #find_circles(threshold = 3500, x_margin = 10, y_margin = 10, r_margin = 10, r_min = 2, r_max = 100, r_step = 2).find_rects([roi=Auto, threshold=3500])
              area = (r.rect())       #(c.x()-c.r(), c.y()-c.r(), 2*c.r(), 2*c.r())                  #area为识别到的圆的区域,即圆的外接矩形框
              statistics = img.get_statistics(roi=area)                            #像素颜色统计
              print(statistics)
              #(0,100,0,120,0,120)是红色的阈值,所以当区域内的众数(也就是最多的颜色),范围在这个阈值内,就说明是红色的圆。
              #l_mode(),a_mode(),b_mode()是L通道,A通道,B通道的众数。
              if 0<statistics.l_mode()<100 and 0<statistics.a_mode()<120 and 0<statistics.b_mode()<120:      #if the circle is red
                  img.draw_rectangle(area,color=(255, 0, 0))
                  print("I am find ")                                               #(c.x(), c.y(), c.r(), color = (255, 0, 0))        #识别到的红色区域用红色的圆框出来
                  r=200
                  uart.write(str(r))                                                                 #200回传到飞控  再m35模式里设置飞机悬停 也就是锁定xyz轴等待几秒运行下图拍照。
                  
                  time.sleep_ms(10000)
      
      
                  RED_LED_PIN = 1
                  BLUE_LED_PIN = 3
      
                  pyb.LED(RED_LED_PIN).on()
                  time.sleep_ms(2000)                              # 给用户一个时间来准备
                  pyb.LED(RED_LED_PIN).off()
                  time.sleep_ms(2000)
      
                  pyb.LED(BLUE_LED_PIN).on()
                  print("You're on camera!")
                  img = sensor.snapshot()
      
                  if  n=1 n<4:
                      n=n+0
                      print(n)
      
                      img.morph(1, [+2, +1, +0,\
                                    +1, +1, -1,\
                                    +0, -1, -2])                        # 浮雕图像
                      img.save("%d.jpg"%n)                              # or "example.bmp" (or others)
                      pyb.LED(BLUE_LED_PIN).off()
                      print("Done! Reset the camera to see the saved image.")
                  else:
                      print("Don't find")
              else:
                  print("Don't find image.")
      
      
      
      
      
      
      发布在 OpenMV Cam
      G
      g23b
    • 怎样保存多张拍摄的照片到SD卡

      怎样保存多张拍摄的照片到SD卡

      发布在 OpenMV Cam
      G
      g23b
    • RE: 怎样将下边的识别并拍照的代码循环3此以上?

      就是识别出形状和颜色然后拍照,然后回到识别形状和颜色在拍照。

      发布在 OpenMV Cam
      G
      g23b