视频灰度处理python_如何将rgb视频转换为灰度并保存?

我将一个rgb视频转换成灰度视频,并使用opencv3.4和python2将其另存为新视频。但也存在一些问题。例如,视频变成损坏的灰度视频。当我稍微修改一下代码,我就不能得到灰度视频。值得一提的是,保存的视频太慢了。我想它的速度大概是fps,但我也不知道。损坏视频的屏幕截图:

我试过一个在互联网上普遍使用的代码。然而,我没有得到我想要的。这是破坏我视频的代码。总之,我的实际目标是将rgb视频转换成灰度并保存。我怎么能做到呢?import numpy as np

import cv2

cap = cv2.VideoCapture('example.mp4')

ret, frame = cap.read()

print('ret =', ret, 'W =', frame.shape[1], 'H =', frame.shape[0], 'channel =', frame.shape[2])

FPS= 20.0

FrameSize=(frame.shape[1], frame.shape[0])

fourcc = cv2.VideoWriter_fourcc(*'MJPG')

out = cv2.VideoWriter('Video_output.avi', fourcc, FPS, FrameSize, 0)

while(cap.isOpened()):

ret, frame = cap.read()

gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

frame = gray

# Save the video

out.write(frame)

cv2.imshow('frame',frame)

if cv2.waitKey(1) & 0xFF == ord('q'):

break

cap.release()

out.release()

cv2.destroyAllWindows()

对于此代码,它还会给出以下错误:

^{pr2}$

你可能感兴趣的:(视频灰度处理python)