问题是我尝试保存一个视频文件,每次我从另一个功能(我检查这不是同一帧...)中得到一帧,创建的视频只有一个帧。我在类Video_utility
之外运行循环,并将帧发送到函数save_and_display_video
。
import cv2
class Video_utility:
def __init__(self, name_video, format_video, display, fps, size):
self.name_video = name_video
self.format_video = format_video
self.display = display
self.fps = fps
self.size = size
self.stream_frame = None
self.flag_update = True
self.display = True
self.fourcc = cv2.VideoWriter_fourcc(*'XVID')
self.out = cv2.VideoWriter(name_video, self.fourcc, fps, self.size)
self.i = 0
def save_and_display_video(self, frame):
frame = cv2.resize(frame,(self.size))
self.out.write(frame)
self.out.release()
cv2.destroyAllWindows()
答案 0 :(得分:1)
您的save_and_display_video()函数具有self.out.release()。
仅在收到整个视频之后,才需要这样做。