我想使用 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)