导航

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

    xsco

    @xsco

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

    xsco 关注

    xsco 发布的帖子

    • RE: 四旋翼无人机识怎样在openmv看到多条直线的时候仍能正确巡线行驶?

      @5ami 请问一下这个处理和过滤是应该怎样做呢?有代码吗?如果有的话万分感谢😃

      发布在 OpenMV Cam
      X
      xsco
    • RE: 关于识别十字叉形状的问题

      你调一下识别line的参数,然后用角度进行判断应该是可以的

      发布在 OpenMV Cam
      X
      xsco
    • 请问使用img.get_lines()方法返回的line对象中的rho()参数具体指什么?

      教程中只说其为霍夫变换后的p值,我在用代码检查直线测试时,rho值有正有负,请问这个值到底是指什么距离?如果理解为距离左上角的原点的距离又为何会出现负数呢?百思不得其解,求指教!

      # 线段检测例程
      #
      # 这个例子展示了如何在图像中查找线段。对于在图像中找到的每个线对象,
      # 都会返回一个包含线条旋转的线对象。
      
      # find_line_segments()找到有限长度的线(但是很慢)。
      # Use find_line_segments()找到非无限的线(而且速度很快)。
      
      enable_lens_corr = False # turn on for straighter lines...
      binary_visible = 0
      black_threshold = [0,64]
      import sensor, image, time
      
      sensor.reset()
      sensor.set_pixformat(sensor.RGB565) # grayscale is faster
      sensor.set_framesize(sensor.QQVGA)
      sensor.skip_frames(time = 2000)
      clock = time.clock()
      
      # 所有线段都有 `x1()`, `y1()`, `x2()`, and `y2()` 方法来获得他们的终点
      # 一个 `line()` 方法来获得所有上述的四个元组值,可用于 `draw_line()`.
      
      while(True):
          print("begin")
          clock.tick()
          img = sensor.snapshot().binary([black_threshold]) if binary_visible else sensor.snapshot()
          if enable_lens_corr: img.lens_corr(1.8) # for 2.8mm lens...
      
          # `merge_distance`控制附近行的合并。 在0(默认),没有合并。
          # 在1处,任何距离另一条线一个像素点的线都被合并...等等,
          # 因为你增加了这个值。 您可能希望合并线段,因为线段检测会产生大量
          # 的线段结果。
      
          # `max_theta_diff` 控制要合并的任何两线段之间的最大旋转差异量。
          # 默认设置允许15度。
      
          for l in img.find_line_segments(merge_distance = 20, max_theta_diff = 5):
              area = (l[0], l[1], 2, 2)
              #statistic = img.get_statistics(roi=area)
              #print(statistic[0])
              img.draw_line(l.line(), color = (255, 0, 0))
              # print(l)
              #print(l[0], l[1], l[2], l[3])
              print(l.rho(), l.theta())
          #print("FPS %f" % clock.fps())
      
      
      发布在 OpenMV Cam
      X
      xsco
    • RE: 四旋翼无人机识怎样在openmv看到多条直线的时候仍能正确巡线行驶?

      好吧。。谢谢!!!!

      发布在 OpenMV Cam
      X
      xsco
    • 四旋翼无人机识怎样在openmv看到多条直线的时候仍能正确巡线行驶?

      这几天一直在思考这个问题,使用示例代码中的巡线行驶代码,在openmv视野中出现多条直线后,其就不能正确找到需要行走的直线了。请问有什么好的办法吗?

      # 鲁棒线性回归例程
      #
      # 这个例子展示了如何在OpenMV Cam上使用get_regression()方法来获得
      # ROI的线性回归。 使用这种方法,你可以轻松地建立一个机器人,它可以
      # 跟踪所有指向相同的总方向但实际上没有连接的线。 在线路上使用
      # find_blobs(),以便更好地过滤选项和控制。
      #
      #我们在这个脚本中使用get_regression()的robust = True参数,该脚本使用更稳健的算法计算线性回归...但是可能慢得多。 鲁棒算法在图像上运行O(N ^ 2)时间。 所以,你需要限制像素的数量来使这个算法工作,它可能实际需要秒的时间给你一个结果...非常小心!
      
      THRESHOLD = (0, 64) # Grayscale threshold for dark things...
      BINARY_VISIBLE = True # 首先二值化,所以你可以看到什么线性回归正在
                            # 运行...虽然可能会降低FPS。
      import sensor, image, time
      
      sensor.reset()
      sensor.set_pixformat(sensor.GRAYSCALE)
      sensor.set_framesize(sensor.QQQVGA) # 80x60 (4,800 pixels) - O(N^2) max = 2,3040,000.
      sensor.skip_frames(time = 2000)     # WARNING: If you use QQVGA it may take seconds
      clock = time.clock()                # to process a frame sometimes.
      
      while(True):
          clock.tick()
          img = sensor.snapshot().binary([THRESHOLD]) if BINARY_VISIBLE else sensor.snapshot()
      
          # 返回类似于由find_lines()和find_line_segments()返回的线对象。
          # 你有x1(),y1(),x2(),y2(),length(),
          # theta()(以度为单位的旋转),rho()和magnitude()。
          #
          # magnitude() 表示线性回归的工作情况。这对于鲁棒的线性回归意味着不同
          # 的东西。一般来说,值越大越好...
          line = img.get_regression([(255,255) if BINARY_VISIBLE else THRESHOLD], robust = True)
      
          if (line): img.draw_line(line.line(), color = 127)
          print("FPS %f, mag = %s" % (clock.fps(), str(line.magnitude()) if (line) else "N/A"))
      
      # About negative rho values:
      #
      # A [theta+0:-rho] tuple is the same as [theta+180:+rho].
      
      
      发布在 OpenMV Cam
      X
      xsco
    • openmv无法脱机运行?

      为什么我按照教程一步步来的,还是无法脱机运行程序呢?在openmv里check过程序,能够运行,且再次连接用sublime打开后确实是我原来保存的那个文件。是不是因为我没有KEY?还是别的原因?

      发布在 OpenMV Cam
      X
      xsco