.bgr视频流是不太常见的视频格式文件,一般的图像库如OpenCV、PIL都无法直接读取。我一开始拿到bgr视频流试了很多种方法分解都失败了,最后通过以下方法成功分解视频流得到图片。
注:图像尺寸是需要预先知道的
#将bgr视频流分解成图片
import cv2 as cv
import numpy as np
import os
bgrpath = r'G:\XrwProject\data\vedio_stream.bgr'
savepath = r'G:\XrwProject\data\vedio_stream\\'
os.makedirs(savepath,exist_ok=True)
f = open(bgrpath, "rb")
size = 1280*720*3 #提前知道size
data = f.read()
f.close()
lens = int(len(data)/size)
for i in range(lens):
data1 = [int(x) for x in data[i*size:(i+1)*size]]
data1 = np.array(data1).reshape((720, 1280, 3)).astype(np.uint8)
cv.imwrite(savepath+"%06d.jpg" % i,data1)
bgr视频流文件:
.
生成的部分图片: