使用python和opencv实现简单的网络摄像头
这个网络摄像头需要一个客户端和服务端,客户端使用opencv捕捉摄像头,通过socket将图片流传输到服务端,服务端接受图片流,使用HTTPServer渲染生成一个简单的网页,将图片流用mjpeg的方式传输到浏览器中,这样就可以直接用浏览器来查看摄像头视频了。主要的实现方式就是这样的,下面详细介绍下.
安装依赖
首先需要在客户端安装opencv,安装方式可以Google下,这里就不再赘述了,服务端需要安装pillow和numpy这两个模块。
实现代码
首先是客户端的代码:
import io
import socket
import struct
import time
import datetime
import cv2
client_socket = socket.socket()
client_socket.connect(('服务端ip地址或域名', 8002))
connection = client_socket.makefile('wb')
try:
#打开摄像头
cap = cv2.VideoCapture(0)
while (1):
#读取图片
ret, frame = cap.read()
# cv2.imshow("capture", frame)
if cv2....