【opencv-python】读取视频,提取帧存为本地图片

import cv2
import os

path=r'E:/mywork/6月/frame/'
cap = cv2.VideoCapture('E:/mywork/6月/h.mov')
i=1
if not os.path.exists(path):
	os.makedirs(path)
while(cap.isOpened()):
	ret, frame = cap.read()#ret是bool型,当读完最后一帧就是False,frame是ndarray型
	if ret == False:#
		break
	
	gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)#转灰度
	#cv2.imwrote(' ',gray) #路径无中文存图
	cv2.imencode('.jpg', gray)[1].tofile(path+'frame_'+str(i)+'.jpg')#路径含中文存图
	cv2.imshow('frame',gray)
	i+=1
	
	#不加这一句,由于计算速度极快,直接会显示到最后一帧
	if cv2.waitKey(1) & 0xFF == ord('q'):#检测到按下q,就break。waitKey(1)相当于1ms延时
		break
cv2.waitKey(0)
cap.release()
cv2.destroyAllWindows()

你可能感兴趣的:(python,opencv)