6

我正在尝试使用 Python 将网络摄像头图像发送到浏览器。现在,我使用以下代码发送它:

def send_a_frame():
 capture = cv2.VideoCapture(0)
 frame = capture.read()[1]
 cv2.imwrite("im1.png",frame)
 cnt = open("im1.png","rb").read()
 b64 = base64.encodestring(cnt)
 html = "<html><img src='data:image/png;base64,"+base64 +"'></html"
 send(html)

如何使用单个语句保存图像并重新打开图像并转换为 base64?

4

1 回答 1

16

我遇到了同样的问题,就我而言,我是从视频文件中读取的,但它应该可以工作。使用 cv2.imencode() 方法。见以下代码

def send_a_frame():
    capture = cv2.VideoCapture(0)
    frame = capture.read()[1]
    cnt = cv2.imencode('.png',frame)[1]
    b64 = base64.encodestring(cnt)
    html = "<html><img src='data:image/png;base64,"+b64 +"'></html"
    send(html)
于 2013-09-06T02:10:02.737 回答