2017-02-26 97 views
-1

我要混合使用相機和靜止圖像拍攝的視頻,教程提供了兩個靜止圖像如何去與視頻(幀)和靜止圖像作品的代碼?混合視頻和靜態圖像

+0

歡迎SO。請閱讀如何問部分。請注意,要求提供教程的問題往往會被忽視。另外請注意,即使您可以將其作爲一個主題問題,您也需要澄清一點。你正在尋找的可能是經常被稱爲綠屏(或彩色合成)的東西,但它也可能只是疊加。 – Foon

+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 
+0

它不應該是VID = cap.read()? –

+2

我的意思是你在函數中使用變量vid加權但尚未設置, –

+0

作出了改變。感謝您的提醒 –

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)