导航

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

    tg3m

    @tg3m

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

    tg3m 关注

    tg3m 发布的帖子

    • 识别圆心坐标不准确
      # Untitled - By: xrj - 周一 8月 6 2018
      
      import sensor, image, time,pyb
      
      sensor.reset()
      sensor.set_pixformat(sensor.GRAYSCALE)
      sensor.set_framesize(sensor.QVGA)
      sensor.set_windowing((310,240))
      sensor.skip_frames(time = 2000)
      
      clock = time.clock()
      while(True):
          clock.tick()
          img = sensor.snapshot()
          high_threshold = (160, 255)                        #二值化范围
          img.gaussian(1)                                    #模糊滤波
          img.binary([high_threshold])                       #二值化
          img.erode(3)
          for c in img.find_circles(threshold = 25000, x_margin = 10, y_margin = 10, r_margin = 70,r_min = 70, r_max =100, r_step = 2):
           img.draw_circle(c.x(), c.y(), c.r(), color = (255, 0, 0))
      
      
      

      0_1533623232191_圆心.png
      可以看到图中运行结果里圆与实际希望的圆有一段差距,这个可以修正吗

      发布在 OpenMV Cam
      T
      tg3m
    • RE: 改变window 会导致图像滤波失效?

      @kidswong999 改了顺序也是这样,显示的只有原图,处理都是一闪而过0_1533545190036_QQ截图20180806164620.png
      其实我想做的就是能够把图像中的圆所在的小部分roi提取出来然后,对这提取出来的部分做处理,因为我做的是圆的处理,所以是想用logpolar变换来实现,可是logpolar 没办法选择ROI只能全图变换,所以我想把圆所在的部分摘出来作为一张图处理,圆处于图像中心,这样就可以用logpolar展开了。
      请问有其他的方法可以实现吗?上周我用copy to fb 一直报错没解决,今天迫不得已就用setwindow了😔 结果也不容乐观。0_1533545626663_QQ截图20180806165340.png

      发布在 OpenMV Cam
      T
      tg3m
    • 识别球的数量

      请问我想识别图像里球的数量用哪个函数可以实现,球都是完全一样的。

      发布在 OpenMV Cam
      T
      tg3m
    • RE: 改变window 会导致图像滤波失效?
      实际运行会发现有滤波的图像一闪而过,但是稳定保留在准缓冲区的只是灰度图
      发布在 OpenMV Cam
      T
      tg3m
    • 改变window 会导致图像滤波失效?
      # Untitled - By: xrj - 周一 8月 6 2018
      
      import sensor, image, time,pyb
      
      sensor.reset()
      sensor.set_pixformat(sensor.GRAYSCALE)
      sensor.set_framesize(sensor.QVGA)
      sensor.skip_frames(time = 2000)
      
      clock = time.clock()
      
      while(True):
          clock.tick()
          img = sensor.snapshot()
          high_threshold = (160, 255)                        #二值化范围
          img.gaussian(1)                                    #模糊滤波
          img.binary([high_threshold])                       #二值化
          img.erode(5)
          
          sensor.skip_frames(time = 1000)
          sensor.set_windowing((320,240))
          img = sensor.snapshot()
          img.gaussian(1)                                    #模糊滤波
          img.binary([high_threshold])                       #二值化
          img.erode(5)
          sensor.skip_frames(time = 1000)
          sensor.set_windowing((240,240))
          img = sensor.snapshot()
          img.gaussian(1)                                    #模糊滤波
          img.binary([high_threshold])                       #二值化
          img.erode(5)
          sensor.skip_frames(time = 1000)
          sensor.set_windowing((240,150))
          img = sensor.snapshot()
          img.gaussian(1)                                    #模糊滤波
          img.binary([high_threshold])                       #二值化
          img.erode(5)
          sensor.skip_frames(time = 1000)
          sensor.set_windowing((150,150))
          img = sensor.snapshot()
          img.gaussian(1)                                    #模糊滤波
          img.binary([high_threshold])                       #二值化
          img.erode(5)
          sensor.skip_frames(time = 1000)
          
      
      
      以上是我对例程的稍作修改,按理来讲这个程序运行的结果是每经过1S图像会减小一个尺寸,同时显示的应该是一个经过处理后的图像,但是实际上显示的只是窗口不断减小的灰度图原图,并没有展现图像滤波处理效果,请问这里面的原因是什么,可以修改吗?我想要在主函数循环结构内部应用set_windowing来修改显示的区域,但是这个问题导致无法观测到图像处理的效果。
      

      2_1533535103549_QQ截图20180806135725.png 1_1533535103548_QQ截图20180806135717.png 0_1533535103548_QQ截图20180806135656.png
      下面的照片是正常情况下图像处理的结果。
      0_1533535137332_QQ截图20180806135751.png

      谢谢!
      发布在 OpenMV Cam
      T
      tg3m
    • RE: OSError:cannot copy to fb!

      @kidswong999 这个copy函数当True的时候是吧拷贝的部分直接替换帧缓冲区还是要先保存副本到堆,再第二步替换帧缓冲区的图像

      发布在 OpenMV Cam
      T
      tg3m
    • RE: OSError:cannot copy to fb!

      @yuan 我用SAVE保存的截取的图像我看了以下是50KB,介绍里不是说有大得多的空间吗,这个函数应该是把帧缓冲区的图像替换吧?如果是替换的话,应该不能是内存不够的原因吧

      发布在 OpenMV Cam
      T
      tg3m
    • RE: OSError:cannot copy to fb!
      我希望达成的效果是在当前的IMG中截取我需要的部分作为新的img,并代替原来的在帧缓存区显示
      发布在 OpenMV Cam
      T
      tg3m