【问题标题】:How can I merge 2 videos together in OpenCV? Similar to that of a SimulCam如何在 OpenCV 中将 2 个视频合并在一起?类似于 SimulCam
【发布时间】:2017-07-20 22:58:56
【问题描述】:

我正在寻找一种方法来组合/混合 2 个视频,而不管 OpenCV 中的对齐方式。

我有 2 个相同场景的视频,一个是快速滚动的球,另一个是从标准化起点开始缓慢滚动的视频。

我之前已经设法弄清楚如何使用 AddWeighted() 将两个图像混合在一起,但对视频执行类似的操作知之甚少。

我知道这涉及读取各个来源的框架并对其进行处理..仅此而已。


任何帮助或指导将不胜感激。

【问题讨论】:

  • 阅读一些基本的 Opencv 教程,了解如何读取视频文件并从该文件中获取帧,然后只需将您的 addWeighted 知识应用于从相应视频中获取的 2 帧
  • @ZdaR 感谢您的回复。我对此进行了调查,并使用图像差异输出了一些可以接受的结果。我很快就会考虑在各个帧上使用 addWeighted() 。谢谢!

标签: c++ opencv video video-capture


【解决方案1】:

对视频的每一帧进行操作

import cv2
import numpy as np

video1 = cv2.VideoCapture('output.avi')
video2 = cv2.VideoCapture('output1.avi')

while True:

    ret1, frame1 = video1.read()
    ret2, frame2 = video2.read()
    if ret1==False or ret2==False:
        break

    frame1=cv2.resize(frame1, (240,320))
    frame2=cv2.resize(frame2, (240,320))

    dst = cv2.addWeighted(frame1,0.3,frame2,0.7,0)
    cv2.imshow('dst',dst)
    key = cv2.waitKey(1)
    if key==ord('q'):
        break

cv2.destroyAllWindows()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-25
    • 2023-04-02
    • 2019-10-20
    • 2021-01-07
    • 1970-01-01
    • 1970-01-01
    • 2016-12-02
    相关资源
    最近更新 更多