opencv保存灰度视频但是无法播放的问题

  • 设置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()

版权声明:本文为weixin_42173136原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。