【问题标题】:How to stream OpenCv image from webcam to http server如何将 OpenCv 图像从网络摄像头流式传输到 http 服务器
【发布时间】:2019-04-19 21:35:06
【问题描述】:

我正在尝试将图像从 RasPi 上的网络摄像头发送到 Http 服务器,这样当我在我的机器人上打开它时,我实际上可以获取图像。我知道如何在窗口中使用 openCV,并且我已经能够创建一个可以在浏览器中打开的服务器,我的问题只是如何在所述服务器上显示 openCV 提要。

仅供参考,在与 RasPi 战斗之前,我正在尝试在计算机上运行此功能,因此 RasPi 目前不是我关心的问题。

#Current Code
import cv2
from http.server import BaseHTTPRequestHandler, HTTPServer
import time
from io import StringIO
import PIL
from PIL import Image
hostName = 'localhost'
hostPort = 7153

#run camera
cap = cv2.VideoCapture(0)

def updateCamFeed():
    fourcc = cv2.VideoWriter_fourcc(*'XVID')
    out = cv2.VideoWriter('output.avi', fourcc, 20.0, (640,  480))

    while True:
         ret, frame = cap.read()


class MyServer(BaseHTTPRequestHandler):
     def do_GET(self):

        self.send_response(200)
        self.send_header("Content-type", "text/html")
        self.end_headers()
        self.wfile.write(bytes("<html><head><title>WebCam Display</title> 
 </head>", "utf-8"))
        self.wfile.write(bytes("<body><p><a href=\"output.avi\">Image</a> 
    </p>", "utf-8"))
        self.wfile.write(bytes("<p>It Worked!!!!! %s</p>" % self.path, 
    "utf-8"))
        self.wfile.write(bytes("</body></html>", "utf-8"))
def main():

# initialize server

    myServer = HTTPServer((hostName, hostPort), MyServer)
    print(time.asctime(), "Server Starts - %s:%s" % (hostName, hostPort))
    myServer.serve_forever()
    updateCamFeed()

if __name__ == '__main__':
    main()

这会将文件发送到服务器,但不会在窗口中显示

【问题讨论】:

    标签: python opencv


    【解决方案1】:

    我的意思是在我的计算机上打开服务器,该服务器连接到提到的机器人。只是想帮助解决任何困惑

    【讨论】:

      猜你喜欢
      • 2015-05-23
      • 1970-01-01
      • 1970-01-01
      • 2015-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-18
      • 2016-10-16
      相关资源
      最近更新 更多