视频分解图片
-
步骤
1 load 视频装载(实时拍摄、录制好的)
2 info 获取视频信息
3 parse 视频解码
4 imshow imwrite视频展示
-
帧率: 每秒展示多少张图片,连续的视频是因为帧率足够高
# 视频分解图片
# 1 load 2 info 3 parse 4 imshow imwrite
import cv2
# 获取一个视频打开cap 参数1 file name
cap = cv2.VideoCapture("1.mp4")
isOpened = cap.isOpened# 判断是否打开‘
print(isOpened)
# 获取信息 宽高
fps = cap.get(cv2.CAP_PROP_FPS)# 帧率 每秒展示多少张图片
width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))#w h
height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
print('帧数、宽度、高度分别为:',fps,width,height) # 帧率 宽 高
i = 0 # 记录读取多少帧
while(isOpened):
if i == 10:
break
else:
i = i+1
(flag,frame) = cap.read()# read方法 读取每一张 flag是否读取成功 frame 读取内容
fileName = 'image'+str(i)+'.jpg'# 名字累加
print(fileName)
# True表示读取成功 进行·写入
# if 判断需要有冒号
if flag == True:
cv2.imwrite(fileName,frame,[cv2.IMWRITE_JPEG_QUALITY,100])# 质量控制 100最高
print('end!')
- 结果:文件夹会写入十张图片
<built-in method isOpened of cv2.VideoCapture object at 0x00000298AC474930>
帧数、宽度、高度分别为: 29.008016032064127 540 960
image1.jpg
image2.jpg
image3.jpg
image4.jpg
image5.jpg
image6.jpg
image7.jpg
image8.jpg
image9.jpg
image10.jpg
end!