gpt4 book ai didi

python - 在 Python OpenCV 中制作裁剪帧的视频

转载 作者:行者123 更新时间:2023-12-02 16:08:31 27 4
gpt4 key购买 nike

在我的程序中,我正在阅读一个原始视频,然后裁剪每一帧,最后我需要制作所有裁剪帧的视频。
帧被裁剪为我定义的大小(顶部、底部、左侧和右侧),但它不会将其保存到视频中。
我正在尝试的是以下内容:

input_video = cv2.VideoCapture(videosPath+"/"+video)
while True:
ret, frame = input_video.read()
if not ret:
break
for (top, right, bottom, left) in *****
crop_img = frame[top:bottom, left:right]
fourcc = cv2.VideoWriter_fourcc(*'XVID')
output_movie = cv2.VideoWriter('videoPrueba.avi', fourcc, 30, (450, 360))
output_movie.write(crop_img)

谢谢 !

最佳答案

推荐的阶段是:阅读 , 裁剪 , 每次迭代。

我建议使用以下解决方案,而不是读取所有帧,然后裁剪所有帧然后写入所有帧:

  • 打开while上方的输入和输出视频文件环形。
  • 在循环内部,每次迭代:读取一帧,裁剪它并将结果写入输出视频。
  • 最后,使用 output_movie.release()用于关闭视频编写器。

  • 这是一个示例代码:

    import cv2

    top, right, bottom, left = 10, 450+10, 360+10, 10 # Sample values.


    input_video = cv2.VideoCapture('Sample_Vid.mp4')

    fourcc = cv2.VideoWriter_fourcc(*'XVID')
    output_movie = cv2.VideoWriter('videoPrueba.avi', fourcc, 30, (450, 360))

    while True:
    ret, frame = input_video.read()

    if not ret:
    break

    # Following crop assumes the video is colored,
    # in case it's Grayscale, you may use: crop_img = frame[top:bottom, left:right]
    crop_img = frame[top:bottom, left:right, :]

    output_movie.write(crop_img)


    # Closes the video writer.
    output_movie.release()

    关于python - 在 Python OpenCV 中制作裁剪帧的视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60382380/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com