我有一个例子。我正在用 cap = cv2.VideoCapture(0)
. 然后我将每个帧转换成字节并将它们发送到redis db。
image = cv2.imencode('.jpg', cap)
value = np.array(image).tobytes()
store.set('image', value)
在redis中,我将字节重建回图像,然后再重建回numpy数组。
self._video_capture = self._store.get('image')
self.nparr = np.frombuffer(self._video_capture, np.uint8) # convert image into numpy array
self.img_np = cv2.imdecode(self.nparr, cv2.IMREAD_COLOR)
然后,我使用tornado(websocket)将它们发送回一个字节流,并在html页面上显示。
image = cv2.imencode('.jpg', self.frame)
value = np.array(image).tobytes()
value = base64.b64encode(value)
self.write_message(value) #Websocket write function
html页面正在读取数据
data:image/jpg;base64
但是html页面无法识别base64图像数据。“src”显示为16x16。这里可能出了什么问题?
编辑:base64编码图像数据的格式为 /<string>
而不是 /<string>/<string>/<string>/<string>/
暂无答案!
目前还没有任何答案,快来回答吧!