【问题标题】:VideoFileClip from moviepy generated multiple frames in the output video来自moviepy的VideoFileClip在输出视频中生成多个帧
【发布时间】:2020-01-19 01:41:03
【问题描述】:

import cv2
from moviepy.video.io.VideoFileClip import VideoFileClip

def process_image(img):
    out = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    return out

video_output = 'output_videos/Entry_02.mp4'
video_input = VideoFileClip('input_videos/Entry_02.mp4')
processed_video = video_input.fl_image(process_image)
%time processed_video.write_videofile(video_output, audio=False)

从moviepy探索VideoFileClip来做一些视频处理,不知道为什么它会在输出视频中生成重复的多帧(3x3)。

【问题讨论】:

    标签: moviepy


    【解决方案1】:

    显然,write_videofile 需要 RGB 图像(3 通道)而不是 cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 返回的灰度图像。您应该通过将out 复制到所有通道来获得所需的灰度图像。

    def process_image(img):
        image_height = img.shape[0]
        image_width = img.shape[1]
        out = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
        img = np.zeros((3, image_height, image_width))
        img[0] = out
        img[1] = out
        img[2] = out
        return np.moveaxis(img, 0, -1)
    

    【讨论】:

      猜你喜欢
      • 2021-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-05
      • 1970-01-01
      相关资源
      最近更新 更多