混合视频和静止图像

时间:2017-02-26 11:04:18

标签: python opencv video blending

我想混合使用相机拍摄的视频和静止图像,教程提供的代码适用于两个静止图像如何处理视频(帧)和静止图像?

2 个答案:

答案 0 :(得分:0)

你的问题并没有解释你的意思"混合"。我假设您尝试在视频的每个帧上叠加图片。为此,您可以在视频中的每个帧的循环中使用addWeighted()方法,如下所示:

img=cv2.imread("still_image.jpg");
cap = cv2.VideoCapture(0)

while True: 

    ret,vid=cap.read()
    result=cv2.addWeighted(img,0.5,vid,0.5,0)
    cv2.imshow('overlay', result)
    video.write(img)
    if(cv2.waitKey(10) & 0xFF == ord('b')):
            break

答案 1 :(得分:0)

问题可能是两个的大小,现在img1是通过网络摄像头捕获的视频,而img2是静止图像

def add_two_images(img1,img2):
    """Blends two images to one with different weights given to each"""
    height, width, depth = img1.shape  ## Needed when img1 is a jpeg image
    img2 = cv2.resize(img2,(width, height))
    #print (img1.size, img2.shape)
    dst = cv2.addWeighted(img1, 0.5, img2, 0.5, 0)
    cv2.imshow('dst', dst)