openCV打开摄像头
import base64
from io import BytesIO
import cv2
from PIL import Image
// 打开本机摄像头
cap = cv2.VideoCapture(0, cv2.CAP_DSHOW) # 调用IP摄像头
ok, frame = cap.read()
# 将每一帧转为Image
#一开始写的是 img = Image.fromarray(frame) 出来的是灰色图像,改成下面的写法就正常啦
img = Image.fromarray(cv2.cvtColor(frame, cv2.COLOR_BGR2RGB))
output_buffer = BytesIO() # 创建一个BytesIO
img.save(output_buffer, format='JPEG') # 写入output_buffer
byte_data = output_buffer.getvalue() # 在内存中读取
base64_data = base64.b64encode(byte_data) # 转为BASE64
这段代码主要是把视频帧转化成base64的格式