小编sd7*_*d70的帖子

使用 OpenCV 对视频进行 Alpha 混合

我想使用 alpha 视频将一个视频混合到另一个视频之上。这是我的代码。它工作得很好,但问题是这段代码根本没有效率,这是因为/255部分原因。它很慢并且有滞后问题。

有没有标准和有效的方法来做到这一点?我希望结果是实时的。谢谢

import cv2
import numpy as np

def main():
    foreground = cv2.VideoCapture('circle.mp4')
    background = cv2.VideoCapture('video.MP4')
    alpha = cv2.VideoCapture('circle_alpha.mp4')

    while foreground.isOpened():
        fr_foreground = foreground.read()[1]/255
        fr_background = background.read()[1]/255     
        fr_alpha = alpha.read()[1]/255

        cv2.imshow('My Image',cmb(fr_foreground,fr_background,fr_alpha))

        if cv2.waitKey(1) == ord('q'): break

    cv2.destroyAllWindows

def cmb(fg,bg,a):
    return fg * a + bg * (1-a)

if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

python opencv alphablending lag

3
推荐指数
1
解决办法
1683
查看次数

标签 统计

alphablending ×1

lag ×1

opencv ×1

python ×1