问题描述
我是python的新手,我想将彩色视频转换为灰度,然后保存。
香港专业教育学院试图这段代码,使其成为灰度,但我无法保存它。有什么想法吗?
import cv2
source = cv2.VideoCapture('video.mp4')
while True:
ret,img = source.read()
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
cv2.imshow('Live',gray)
key = cv2.waitKey(1)
if key == ord('q'):
break
cv2.destroyAllWindows()
source.release()
解决方法
这是将RGB视频文件写入灰度视频的方法
# importing the module
import cv2
import numpy as np
# reading the vedio
source = cv2.VideoCapture('input.avi')
# We need to set resolutions.
# so,convert them from float to integer.
frame_width = int(source.get(3))
frame_height = int(source.get(4))
size = (frame_width,frame_height)
result = cv2.VideoWriter('gray.avi',cv2.VideoWriter_fourcc(*'MJPG'),10,size,0)
# running the loop
while True:
# extracting the frames
ret,img = source.read()
# converting to gray-scale
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
# write to gray-scale
result.write(gray)
# displaying the video
cv2.imshow("Live",gray)
# exiting the loop
key = cv2.waitKey(1)
if key == ord("q"):
break
# closing the window
cv2.destroyAllWindows()
source.release()
如果有帮助,请给我