- 设置cv2.VideoWriter的时候需要将第五个参数设置为0,表示灰度图
video_writer = cv2.VideoWriter('road_gray.mp4', cv2.VideoWriter_fourcc(*'mp4v'), fps, size, 0)
- cv2.VideoWriter的size需要和原始图片的size相同,格式是宽*高
# 获得视频的格式
import cv2
videoCapture = cv2.VideoCapture('road.mp4')
# 获得码率及尺寸
fps = videoCapture.get(cv2.CAP_PROP_FPS)
size = (int(videoCapture.get(cv2.CAP_PROP_FRAME_WIDTH)),
int(videoCapture.get(cv2.CAP_PROP_FRAME_HEIGHT)))
print(size)
video_writer = cv2.VideoWriter('road_gray.mp4', cv2.VideoWriter_fourcc(*'mp4v'), fps, size, 0)
while (videoCapture.isOpened()):
ret, frame = videoCapture.read()
if ret == True:
frame_gray = cv2.cvtColor(frame,cv2.COLOR_RGB2GRAY)
video_writer.write(frame_gray)
cv2.imshow('frame', frame_gray)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
else:
break
videoCapture.release()
video_writer.release()
cv2.destroyAllWindows()