Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何解决逐帧保存视频的问题_Python_Opencv_Video Processing - Fatal编程技术网

Python 如何解决逐帧保存视频的问题

Python 如何解决逐帧保存视频的问题,python,opencv,video-processing,Python,Opencv,Video Processing,问题是,我试图保存一个视频文件,每次从另一个函数中获取一帧,我检查这不是同一帧…,创建的视频只有一帧。我在class Video_实用程序外运行一个循环,并将帧发送到函数save_和display_Video 不要在每帧之后关闭文件 您在保存和显示视频功能中有self.out.release 只有在收到整个视频后,你才需要这样做 import cv2 class Video_utility: def __init__(self, name_video, format_video, di

问题是,我试图保存一个视频文件,每次从另一个函数中获取一帧,我检查这不是同一帧…,创建的视频只有一帧。我在class Video_实用程序外运行一个循环,并将帧发送到函数save_和display_Video

不要在每帧之后关闭文件 您在保存和显示视频功能中有self.out.release

只有在收到整个视频后,你才需要这样做

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()