我试图将图像从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()
这会将文件发送到服务器,但不会在窗口中显示
答案 0 :(得分:0)
我的意思是在我的计算机上打开服务器,该服务器已连接到上述机器人。只是想帮助解决任何困惑