1. Convert videos into pictures
import cv2
video_path=r"D:\Dataset\video/7.mp4"
capture=cv2.VideoCapture(video_path)
if capture.isOpened():
ret,img=capture.read()
index=0
while ret:
if index%20==0:
imgid=r"D:\Dataset\image/6/"+"%07d"%index+".jpg"
print(index,ret)
cv2.imwrite(imgid,img)
ret,img=capture.read()
index=index+1
capture.release()
2. Convert video to grayscale video
import cv2
'''
这是一个将彩色视频装换成灰度视频的代码块
'''
cap = cv2.VideoCapture(r'D:\Dataset/video/1.mp4')
fourcc = cv2.VideoWriter_fourcc('m', 'p', '4', 'v')
out = cv2.VideoWriter(r'D:\Dataset\video/1-1.mp4',fourcc, 30.0, (720,1280),False)
while(cap.isOpened()):
ret, frame = cap.read()
if ret==True:
frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
out.write(frame)
cv2.imshow('frame',frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
else:
break
cap.release()
out.release()
cv2.destroyAllWindows()
3. Convert pictures into videos
import numpy as np
import cv2
size = (432,288)
videowrite = cv2.VideoWriter(r'F:\test.mp4',-1,20,size)
img_array=[]
for filename in [r'F:\Picture\{0}.jpg'.format(i) for i in range(100000)]:
img = cv2.imread(filename)
if img is None:
print(filename + " is error!")
continue
img_array.append(img)
for i in range(100000):
videowrite.write(img_array[i])
videowrite.release()
print('end!')
4. Turn on the camera
import cv2
import numpy as np
def video_demo():
capture = cv2.VideoCapture(0,cv2.CAP_DSHOW)
while(True):
ret, frame = capture.read()
frame = cv2.flip(frame, 1)
cv2.imshow("video", frame)
c = cv2.waitKey(50)
if c == 27:
break
video_demo()
cv2.destroyAllWindows()