导航

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

    1wze

    @1wze

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

    1wze 关注

    1wze 发布的帖子

    • RE: api密钥传输数据集到Edge时会报错,创建上下文错误。

      @kidswong999 在 按照视频教程步骤做的,api密钥传输数据集到Edge时会报错,这怎么处理? 中说:

      这个方法不能将两个文件整个上传,只能单个图片的形式上传,在建立模型时会按照单个图片的来建模分类,不是以有没有戴口罩的文件来建模分类,这个要怎么处理捏?

      发布在 OpenMV Cam
      1
      1wze
    • api密钥传输数据集到Edge时会报错,创建上下文错误。

      0_1603png

      发布在 OpenMV Cam
      1
      1wze
    • RE: IDE中阈值编辑器的LAB阈值输出变成了符号,之前是可以正常使用的,输出也是数字

      重装过好多遍了,还是如此

      发布在 OpenMV Cam
      1
      1wze
    • IDE中阈值编辑器的LAB阈值输出变成了符号,之前是可以正常使用的,输出也是数字

      0_1595295400032_0.png

      # Hello World Example
      #
      # Welcome to the OpenMV IDE! Click on the green run arrow button below to run the script!
      
      import sensor, image, time
      
      sensor.reset()                      # Reset and initialize the sensor.
      sensor.set_pixformat(sensor.RGB565) # Set pixel format to RGB565 (or GRAYSCALE)
      sensor.set_framesize(sensor.QVGA)   # Set frame size to QVGA (320x240)
      sensor.skip_frames(time = 2000)     # Wait for settings take effect.
      clock = time.clock()                # Create a clock object to track the FPS.
      
      while(True):
          clock.tick()                    # Update the FPS clock.
          img = sensor.snapshot()         # Take a picture and return the image.
          print(clock.fps())              # Note: OpenMV Cam runs about half as fast when connected
                                          # to the IDE. The FPS should increase once disconnected.
      
      
      发布在 OpenMV Cam
      1
      1wze
    • 为什么openmv固件更新后自检完成蓝灯闪烁了,openmv与IDE就连接不上了呢,没更新之前都是可以正常使用的?

      为什么openmv固件更新后自检完成蓝灯闪烁了,openmv与IDE就连接不上了呢,没更新之前都是可以正常使用的?(主页里常见故障的方法没有解决这个问题的方法)

      发布在 OpenMV Cam
      1
      1wze
    • RE: 新买的板子,像素格式不支持, 报错:OSError: Pixel format is not supported!

      @26qc把 sensor.set_pixformat这个要换成sensor.GRAYSCALE试试

      发布在 OpenMV Cam
      1
      1wze
    • 代码没报错,但为什么一运行后云台会自动的一段一段往上走?这个要怎么处理呢?

      import sensor, image, time, network, usocket, sys, json
      from pyb import Servo
      from pyb import UART
      from pid import PID

      pan_servo=Servo(1)
      tilt_servo=Servo(2)

      pan_pid = PID(p=0.07, i=0, imax=90) #脱机运行或者禁用图像传输,使用这个PID
      tilt_pid = PID(p=0.05, i=0, imax=90) #脱机运行或者禁用图像传输,使用这个PID
      #pan_pid = PID(p=0.1, i=0, imax=90)#在线调试使用这个PID
      #tilt_pid = PID(p=0.1, i=0, imax=90)#在线调试使用这个PID

      SSID ='OPENMV_AP' # Network SSID
      KEY ='1234567890' # Network key (must be 10 chars)
      HOST = '' # Use first available interface
      PORT = 8080 # Arbitrary non-privileged port

      sensor.reset()
      sensor.set_contrast(1)
      sensor.set_brightness(1)
      sensor.set_saturation(1)
      sensor.set_gainceiling(16)
      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() # Tracks FPS.

      uart = UART(3,115200)

      在AP模式下启动wlan模块。

      wlan = network.WINC(mode=network.WINC.MODE_AP)
      wlan.start_ap(SSID, key=KEY, security=wlan.WEP, channel=2)

      def start_streaming(s):
      print ('Waiting for connections..')
      client, addr = s.accept()
      # 将客户端套接字超时设置为2秒
      client.settimeout(2.0)
      print ('Connected to ' + addr[0] + ':' + str(addr[1]))

      # 从客户端读取请求
      data = client.recv(1024)
      # 应该在这里解析客户端请求
      
      # 发送多部分head
      client.send("HTTP/1.1 200 OK\r\n" \
                  "Server: OpenMV\r\n" \
                  "Content-Type: multipart/x-mixed-replace;boundary=openmv\r\n" \
                  "Cache-Control: no-cache\r\n" \
                  "Pragma: no-cache\r\n\r\n")
      
      # FPS clock
      clock = time.clock()
      
      # 开始流媒体图像
      #注:禁用IDE预览以增加流式FPS。
      while (True):
          clock.tick() # Track elapsed milliseconds between snapshots().
      
      
          img = sensor.snapshot().lens_corr(1.8)
          for c in img.find_circles(threshold = 2500, x_margin = 10, y_margin = 10, r_margin = 10,
                  r_min = 2, r_max = 100, r_step = 2):  #threshold检测像素点大小,step渐增半径数
              area = (c.x()-c.r(), c.y()-c.r(), 2*c.r(), 2*c.r())
      
              #area为识别到的圆的区域,即圆的外接矩形框 x,y为中心坐标
              statistics = img.get_statistics(roi=area)#像素颜色统计
              #(0,100,0,120,0,120)是红色的阈值,所以当区域内的众数(也就是最多的颜色),范围在这个阈值内,就说明是红色的圆。
              #l_mode(),a_mode(),b_mode()是L通道,A通道,B通道的众数。
              if 60<statistics.l_mode()<100 and -128<statistics.a_mode()<127 and -124<statistics.b_mode()<127:#if the circle is red
                  img.draw_circle(c.x(), c.y(), c.r(), color = (255, 0, 0))#识别到的红色圆形用红色的圆框出来
              else:
                  img.draw_rectangle(area, color = (255, 255, 255))
                  #将非红色的圆用白色的矩形框出来
              a = {str(c[0]),str(c[1]),str(c[2])}
              a_str = json.dumps(a)
              output_str = json.dumps(statistics)
              uart.write(output_str+'\n')
              uart.write(a_str+'\n')
      
      
          b=[]
          if uart.any():
              a = uart.read().decode()
              for items in a:
                  if items=='{':
                      continue
                  elif items=='}':
                      continue
                  elif items==',':
                      continue
                  else:
                      b.append(int(items))
      
          if b :
              pan_error = b[0]-img.width()/2
              tilt_error = b[1]-img.height()/2
      
              pan_output=pan_pid.get_pid(pan_error,1)/2
              tilt_output=tilt_pid.get_pid(tilt_error,1)
      
              pan_servo.angle(pan_servo.angle()+pan_output)
              tilt_servo.angle(tilt_servo.angle()-tilt_output)
      
      
      
      
          cframe = img.compressed(quality=35)
          header = "\r\n--openmv\r\n" \
                   "Content-Type: img/jpeg\r\n"\
                   "Content-Length:"+str(cframe.size())+"\r\n\r\n"
          client.send(header)
          client.send(cframe)
      

      while(True):
      # 创建服务器套接字
      s = usocket.socket(usocket.AF_INET, usocket.SOCK_STREAM)
      try:
      # Bind and listen
      s.bind([HOST, PORT])
      s.listen(5)

          # 设置服务器套接字超时
          # 注意:由于WINC FW bug,如果客户端断开连接,服务器套接字必须
          # 关闭并重新打开。在这里使用超时关闭并重新创建套接字。
          s.settimeout(3)
          start_streaming(s)
      except OSError as e:
          s.close()
          print("socket error: ", e)
          #sys.print_exception(e)
      发布在 OpenMV Cam
      1
      1wze