• 星瞳AI VISION软件内测!可以离线标注,训练,并生成OpenMV的模型。可以替代edge impulse https://forum.singtown.com/topic/8206
  • 我们只解决官方正版的OpenMV的问题(STM32),其他的分支有很多兼容问题,我们无法解决。
  • 如果有产品硬件故障问题,比如无法开机,论坛很难解决。可以直接找售后维修
  • 发帖子之前,请确认看过所有的视频教程,https://singtown.com/learn/ 和所有的上手教程http://book.openmv.cc/
  • 每一个新的提问,单独发一个新帖子
  • 帖子需要目的,你要做什么?
  • 如果涉及代码,需要报错提示全部代码文本,请注意不要贴代码图片
  • 必看:玩转星瞳论坛了解一下图片上传,代码格式等问题。
  • plus版本,传出图像混昏暗,颜色也不对劲(已经将颜色改为RGB565),我想问一下这是什么原因?怎么解决?



    • # MJPEG Streaming with FIR
      #
      # 这个例子展示了如何将MJPEG流式传输到FIREFOX浏览器(IE和Chrome不起作用)。只需输入您的网络SSID和KEY,然后连接到从ifconfig输出的IP地址/端口。
      import sensor, image, network, usocket, fir
      
      SSID='Mercury'     # Network SSID
      KEY='614423ydd'      # Network key
      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)
      
      # 初始化热成像传感器
      fir.init()
      
      # 初始化wlan模块并连接到网络
      print("Trying to connect... (may take a while)...")
      wlan = network.WINC()
      wlan.connect(SSID, key=KEY, security=wlan.WPA_PSK)
      
      # 我们现在通过DHCP应该有一个有效的IP
      print(wlan.ifconfig())
      
      # 创建服务器套接字
      s = usocket.socket(usocket.AF_INET, usocket.SOCK_STREAM)
      
      # 绑定和监听
      s.bind((HOST, PORT))
      s.listen(5)
      
      # 将超时设置为1秒
      s.settimeout(1.0)
      
      print ('Waiting for connections..')
      client, addr = s.accept()
      print ('Connected to ' + addr[0] + ':' + str(addr[1]))
      
      # 从客户端读取请求
      data = client.recv(1024)
      
      # 应该在这里解析客户端请求
      
      # 发送多部分header
      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")
      
      # 开始流媒体图像
      while (True):
          image = sensor.snapshot()
      
          # 捕获FIR数据
          #   ta: Ambient temperature 环境温度
          #   ir: Object temperatures (IR array) 物体温度(IR阵列)
          #   to_min: Minimum object temperature 最小物体温度
          #   to_max: Maximum object temperature 最大物体温度
          ta, ir, to_min, to_max = fir.read_ir()
      
          # 缩放图像并使用framebuffer对其进行融合
          fir.draw_ir(image, ir)
      
          # 绘制环境温度、最小温度和最大温度。
          image.draw_string(0, 0, "Ta: %0.2f"%ta, color = (0xFF, 0x00, 0x00))
          image.draw_string(0, 8, "To min: %0.2f"%to_min, color = (0xFF, 0x00, 0x00))
          image.draw_string(0, 16, "To max: %0.2f"%to_max, color = (0xFF, 0x00, 0x00))
      
          cimage = image.compressed(quality=90)
          client.send("\r\n--openmv\r\n" \
                      "Content-Type: image/jpeg\r\n"\
                      "Content-Length:"+str(cimage.size())+"\r\n\r\n")
          client.send(cimage)
      
      client.close()
      ![0_1658297614624_NL1G(Z9G04UL$3[NHMUN_U0.png](https://fcdn.singtown.com/50291467-fd98-4f10-a5fe-29dc53af8d91.png) 
      

      ![0_1658297626422_NL1G(Z9G04UL$3NHMUN_U0.png