导航

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

    na3m 发布的帖子

    • RE: 在形状被遮挡后识别颜色,环境改变后识别颜色怎么解决

      要求是要加条件,进行判断如果环境改变,输出形状,如果形状被遮挡,输出颜色

      发布在 OpenMV Cam
      N
      na3m
    • 在形状被遮挡后识别颜色,环境改变后识别颜色怎么解决
      import sensor, image, time, math
      
      # Color Tracking Thresholds (L Min, L Max, A Min, A Max, B Min, B Max)
      # The below thresholds track in general red/green things. You may wish to tune them...
      thresholds = [(0, 20, -18, 127, -8, 22), # generic_red_thresholds -> index is 0 so code == (1 << 0)
                    (0, 60, -18, -48, 22, 127),
                    (0, 50, 2, 127, 2, 127)]  # generic_green_thresholds -> index is 1 so code == (1 << 1)
      # Codes are or'ed together when "merge=True" for "find_blobs".
      #roi=(20,20,20,20)
      sensor.reset()
      sensor.set_pixformat(sensor.RGB565)
      sensor.set_framesize(sensor.HQQVGA)
      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()
      # Only blobs that with more pixels than "pixel_threshold" and more area than "area_threshold" are
      # returned by "find_blobs" below. Change "pixels_threshold" and "area_threshold" if you change the
      # camera resolution. "merge=True" must be set to merge overlapping color blobs for color codes.
      def yanse():
                 for blob in img.find_blobs(thresholds, pixels_threshold=100, area_threshold=100, merge=True):
                     if blob.code() == 1: # r/g code == (1 << 1) | (1 << 0)
                        print("红色")
                        ys=0
                     elif blob.code() == 2: # r/g code == (1 << 1) | (1 << 0)
                        print("绿色")
                        ys=1
                     elif blob.code() == 4: # r/g code == (1 << 1) | (1 << 0)
                        print("黑色")
                        ys=2
                     else:
                         print("无色")
      while(True):
          clock.tick()
          img = sensor.snapshot()
          for r in img.find_rects(threshold = 1000):
              img.draw_rectangle(r.rect(), color = (255, 0, 0))
              roi1=r.rect()
              yanse()
              print("矩形")
              jx=1
              print("FPS %f" % clock.fps())
          for c in img.find_circles(threshold = 3500, x_margin = 10, y_margin = 10, r_margin = 10,r_min = 2, r_max = 100, r_step = 2):
              img.draw_circle(c.x(), c.y(), c.r(), color = (255, 0, 0))
              roi1=(c.x(), c.y(), c.r())
              yanse()
              print("圆形")
              yx=2
      
      发布在 OpenMV Cam
      N
      na3m
    • 遮挡形状识别颜色,增加光线强度识别形状,这个该怎么搞!

      遮挡形状识别颜色,增加光线强度识别形状,这个该怎么搞!

      发布在 OpenMV Cam
      N
      na3m
    • 同时识别5个二维码并5个二维码同时单个被矩形框起来

      怎么解决,for code in qrcodes()?

      发布在 OpenMV Cam
      N
      na3m
    • RE: 实现多个二维码同时识别定位怎么更改,求指教

      代码没问题,不知道如何同时识别多个二维码

      发布在 OpenMV Cam
      N
      na3m
    • 实现多个二维码同时识别定位怎么更改,求指教
      import sensor, image, time
      from pyb import UART
      import json
      
      black_threshold = (0, 20, -18, 127, -8, 22)      #black
      green_threshold = (0, 70, -128, -28, 22, 127)  #green
      red_threshold =   (0, 50, -128, 127, 12, 127) #red
      thresholds = (0,0,50,50)
      QRCode_1="www.xt.com";
      QRCode_2="www.gym.com";
      QRCode_3="www.gyt.com";
      QRCode_4="www.jgz.com";
      QRCode_5="www.njs.com";
      
      qr = 0
      a = 1
      
      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(a):
          clock.tick()
          img = sensor.snapshot()
          img.lens_corr(1.8) # 1.8的强度参数对于2.8mm镜头来说是不错的。
          for code in img.find_qrcodes():
              img.draw_rectangle(code.rect(), color = (255, 0, 0))
              if code.payload() == QRCode_1 :
                  qr=1;
      
              elif code.payload() == QRCode_2 :
                  qr=2;
      
              elif code.payload() == QRCode_3 :
                  qr=3;
      
              elif code.payload() == QRCode_4 :
                  qr=4;
      
      
              else :
                  qr=5;
      
              
      
              print("二维码",code)
              print(qr)
              output_str="%d,%d,%d,%d,%d" % (code.x(), code.y(),code.w(),code.h(),qr)
      
              uart.write(output_str+'\r\n')
      
      发布在 OpenMV Cam
      N
      na3m
    • RE: 相似度阈值如何写 比如识别颜色阈值小于0.3识别颜色 识别颜色阈值小于0.6识别形状

      @kidswong999 所以应该怎么做,需要用到哪几个函数

      发布在 OpenMV Cam
      N
      na3m
    • RE: 相似度阈值如何写 比如识别颜色阈值小于0.3识别颜色 识别颜色阈值小于0.6识别形状

      @kidswong999 如何调 老师要求是遮挡一下形状可以通过颜色识别定位,改变光线条件可以通过形状定位

      发布在 OpenMV Cam
      N
      na3m
    • RE: 相似度阈值如何写 比如识别颜色阈值小于0.3识别颜色 识别颜色阈值小于0.6识别形状

      @kidswong999 就是先识别颜色如果因为光线的原因或遮挡颜色达不到自己定义的阈值然后识别形状 怎么解决!

      发布在 OpenMV Cam
      N
      na3m
    • 相似度阈值如何写 比如识别颜色阈值小于0.3识别颜色 识别颜色阈值小于0.6识别形状

      相似度阈值如何写 比如识别颜色阈值小于0.3识别颜色 识别颜色阈值小于0.6识别形状

      发布在 OpenMV Cam
      N
      na3m
    • 如何识别矩形圆形面积,我识别圆形有时候会打印矩形,怎么更改一下。
      import sensor, image, time
      from pyb import UART
      import json
      
      black_threshold = (0, 20, -18, 127, -8, 22)      #black
      green_threshold = (0, 70, -128, -28, 22, 127)  #green
      red_threshold =   (0, 50, -128, 127, 12, 127) #red
      
      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()
      while(True):
          clock.tick()
          img = sensor.snapshot()
      #识别形状颜色
          for c in img.find_circles(threshold = 3500, x_margin = 10, y_margin = 10, r_margin = 10,r_min = 2, r_max = 100, r_step = 2):
              img.draw_circle(c.x(), c.y(), c.r(), color = (255, 0, 0))
      
              output_str="[%d,%d,%d]" % (c.x(),c.y(),c.r())
              print("形状:圆形",output_str)
              uart.write(output_str+'\r\n')
      
              statistics=img.get_statistics(roi = (c.r(),  c.r(), 2 * c.r(), 2 * c.r()))
              blobs = img.find_blobs([red_threshold,green_threshold,black_threshold],roi=(c.r(),  c.r(), 2 * c.r(), 2 * c.r()))
              if blobs:
                  max_blob = find_max(blobs)
                  img.draw_rectangle(max_blob[0:4]) # rect
                  img.draw_cross(max_blob[5], max_blob[6]) # cx, cy
      
              else:
                   pass
          for r in img.find_rects(threshold = 10000):
              img.draw_rectangle(r.rect(), color = (255, 0, 0))
              output_str="[%d,%d,%d,%d]" % (r.x(),r.y(),r.w(),r.h())
              print("形状:矩形",output_str)
              uart.write(output_str+'\r\n')
      
              area = r.rect()
              blobs = img.find_blobs([red_threshold,green_threshold,black_threshold],roi=area)
              if blobs:
                  max_blob = find_max(blobs)
                  img.draw_rectangle(max_blob[0:4]) # rect
                  img.draw_cross(max_blob[5], max_blob[6]) # cx, cy
      
              else:
                   pass
      
      发布在 OpenMV Cam
      N
      na3m
    • RE: 如何把二维码识别和颜色形状识别放在一个程序里

      @kidswong999 我只是把注释了

      发布在 OpenMV Cam
      N
      na3m
    • RE: 识别二维码并往串口发送坐标信息,求解决

      @kidswong999 我买的成品

      发布在 OpenMV Cam
      N
      na3m
    • RE: 识别二维码并往串口发送坐标信息,求解决

      @kidswong999 0_1649152812850_dc28ff84-9bf0-4883-8021-088f7ce98b49-image.png

      0_1649152852079_07e16ce1-b848-49a6-85dd-6c5ad31c7524-image.png
      没反应

      发布在 OpenMV Cam
      N
      na3m
    • RE: 如何把二维码识别和颜色形状识别放在一个程序里

      @kidswong999 如何识别矩形圆形面积,我识别圆形有时候会打印矩形,怎么更改一下。

      发布在 OpenMV Cam
      N
      na3m
    • RE: 如何把二维码识别和颜色形状识别放在一个程序里

      @kidswong999 意思是我的程序没问题?我识别二维码就不出二维码的网站

      发布在 OpenMV Cam
      N
      na3m
    • RE: 如何把二维码识别和颜色形状识别放在一个程序里

      您帮忙看看我的程序有没有问题,程序进行循环后就只识别形状和颜色,不识别二维码了怎么解决这个问题,求指导

      发布在 OpenMV Cam
      N
      na3m
    • RE: 识别二维码并往串口发送坐标信息,求解决

      @kidswong999 代码没问题,他是有时候会接收到有时候接收不到

      发布在 OpenMV Cam
      N
      na3m
    • 如何把二维码识别和颜色形状识别放在一个程序里
      import sensor, image, time
      from pyb import UART
      import json
      
      black_threshold = (0, 20, -18, 127, -8, 22)      #black
      green_threshold = (0, 70, -128, -28, 22, 127)  #green
      red_threshold =   (0, 50, -128, 127, 12, 127) #red
      
      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)
      def find_max(blobs):
          max_size=0
          for blob in blobs:
              if blob.pixels() > max_size:
                  max_blob=blob
                  max_size = blob.pixels()
          return max_blob
      while(True):
          clock.tick()
          img = sensor.snapshot()
          img.lens_corr(1.8) # 1.8的强度参数对于2.8mm镜头来说是不错的。
          for code in img.find_qrcodes():
              img.draw_rectangle(code.rect(), color = (255, 0, 0))
              print(code)
              output_str="%d,%d,%d,%d" % (code.x(), code.y(),code.w(),code.h())
              #output_str1=json.dumps(code.payload())
              uart.write(output_str+'\r\n')
      
      
      
          for c in img.find_circles(threshold = 3500, x_margin = 10, y_margin = 10, r_margin = 10,r_min = 2, r_max = 100, r_step = 2):
              img.draw_circle(c.x(), c.y(), c.r(), color = (255, 0, 0))
      
              output_str="[%d,%d,%d]" % (c.x(),c.y(),c.r())
              print(output_str)
              uart.write(output_str+'\r\n')
      
              statistics=img.get_statistics(roi = (c.r(),  c.r(), 2 * c.r(), 2 * c.r()))
              blobs = img.find_blobs([red_threshold,green_threshold,black_threshold],roi=(c.r(),  c.r(), 2 * c.r(), 2 * c.r()))
              if blobs:
                  max_blob = find_max(blobs)
                  img.draw_rectangle(max_blob[0:4]) # rect
                  img.draw_cross(max_blob[5], max_blob[6]) # cx, cy
      
              else:
                   pass
          for r in img.find_rects(threshold = 10000):
              img.draw_rectangle(r.rect(), color = (255, 0, 0))
              output_str="[%d,%d,%d,%d]" % (r.x(),r.y(),r.w(),r.h())
              print(output_str)
              uart.write(output_str+'\r\n')
      
              area = r.rect()
              blobs = img.find_blobs([red_threshold,green_threshold,black_threshold],roi=area)
              if blobs:
                  max_blob = find_max(blobs)
                  img.draw_rectangle(max_blob[0:4]) # rect
                  img.draw_cross(max_blob[5], max_blob[6]) # cx, cy
      
              else:
                  pass
      
      发布在 OpenMV Cam
      N
      na3m