导航

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

    e6tr

    @e6tr

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

    e6tr 关注

    e6tr 发布的帖子

    • RE: openmv如何实现主程序调用热点让手机能看到实时画面,脱机状态下需要使用几块锂电池能同时为云台,摄像,WiFi供电?

      @kidswong999 有没有可以参考的代码或视频,萌新不是很懂。。麻烦了

      发布在 OpenMV Cam
      E
      e6tr
    • RE: openmv如何实现主程序调用热点让手机能看到实时画面,脱机状态下需要使用几块锂电池能同时为云台,摄像,WiFi供电?

      @kidswong999 那怎样可以解决这一问题?还是说只能实现云台或者WIFI其中一个功能。

      发布在 OpenMV Cam
      E
      e6tr
    • openmv如何实现主程序调用热点让手机能看到实时画面,脱机状态下需要使用几块锂电池能同时为云台,摄像,WiFi供电?

      0_1620830234443_图三.png 0_1620830242863_图四.png

      主程序:
      import sensor, image, time,network,usocket,sys
      from pid import PID
      from pyb import Servo
      pan_servo=Servo(1)
      tilt_servo=Servo(2)
      red_threshold  = (0, 12, -128, 1, -128, 16)
      pan_pid = PID(p=0.27, i=0, imax=90)
      tilt_pid = PID(p=0.25, i=0, imax=90)
      
      sensor.reset() # Initialize the camera sensor.
      sensor.set_pixformat(sensor.RGB565) # use RGB565.
      sensor.set_framesize(sensor.QQVGA) # use QQVGA for speed.
      sensor.skip_frames(10) # Let new settings take affect.
      sensor.set_auto_whitebal(False) # turn this off.
      clock = time.clock() # Tracks FPS.
      
      def find_max(blobs):
          max_size=0
          for blob in blobs:
              if blob[2]*blob[2] > max_size:
                  max_blob=blob
                  max_size = blob[2]*blob[2]
          return max_blob
      
      
      while(True):
          clock.tick() # Track elapsed milliseconds between snapshots().
          img = sensor.snapshot().lens_corr(1.8) # Take a picture and return the image.畸变校正
      
          blobs = img.find_circles(threshold = 3500, x_margin = 10, y_margin = 10,
       r_margin = 10,r_min = 2, r_max = 100, r_step = 2)#为识别到圆的区域:
          if blobs:
              max_blob = find_max(blobs)
              pan_error = max_blob[0]-img.width()/2
              tilt_error = max_blob[1]-img.height()/2
              #色块的xy左标
              print("pan_error: ", pan_error)
      
              img.draw_circle(max_blob.x(), max_blob.y(), max_blob.r(), color = (255, 0, 0))#画圆
              img.draw_cross(int(max_blob[0]),int(max_blob[1])) # cx, cy#画十字
             #PID计算
              pan_output=pan_pid.get_pid(pan_error,1)/2
              tilt_output=tilt_pid.get_pid(tilt_error,1)
              print("pan_output",pan_output)
              pan_servo.angle(pan_servo.angle()+pan_output)
              tilt_servo.angle(tilt_servo.angle()-tilt_output)
      
      
      
      

      WIFI:
      import sensor, image, time, network, usocket, sys
      SSID ='OPENMV_AP'
      KEY ='1234567890'
      HOST = ''
      PORT = 8080
      sensor.reset()
      sensor.set_contrast(1)
      sensor.set_brightness(1)
      sensor.set_saturation(1)
      sensor.set_gainceiling(16)
      sensor.set_framesize(sensor.QQVGA)
      sensor.set_pixformat(sensor.RGB565)
      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()
      client.settimeout(2.0)
      print ('Connected to ' + addr[0] + ':' + str(addr[1]))
      data = client.recv(1024)
      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")
      clock = time.clock()
      while (True):
      clock.tick()
      frame = sensor.snapshot()
      cframe = frame.compressed(quality=35)
      header = "\r\n--openmv\r\n"
      "Content-Type: image/jpeg\r\n"
      "Content-Length:"+str(cframe.size())+"\r\n\r\n"
      client.send(header)
      client.send(cframe)
      print(clock.fps())
      while (True):
      s = usocket.socket(usocket.AF_INET, usocket.SOCK_STREAM)
      try:
      s.bind([HOST, PORT])
      s.listen(5)
      s.settimeout(3)
      start_streaming(s)
      except OSError as e:
      s.close()
      print("socket error: ", e)

      救急  希望大佬指点
      发布在 OpenMV Cam
      E
      e6tr
    • RE: 为实现多重功能,这个软件使用时,是把代码写在一起还是调用就行了?

      @kidswong999 您好,我想问下,我这些功能离开软件,硬件供电后,这些功能还能实现嘛?能从手机浏览器中看到与软件视频中显示颜色识别以及云台追踪码?

      发布在 OpenMV Cam
      E
      e6tr
    • RE: 为实现多重功能,这个软件使用时,是把代码写在一起还是调用就行了?

      您好,我想问下,我这些功能离开软件,硬件固定后,这些功能还能实现嘛?

      发布在 OpenMV Cam
      E
      e6tr
    • 为实现多重功能,这个软件使用时,是把代码写在一起还是调用就行了?

      比如我要实现颜色识别,自动拍摄,热点建立。这三个问题的代码是写在一起,还是写三块,然后调用?

      发布在 OpenMV Cam
      E
      e6tr