我想混合使用相机拍摄的视频和静止图像,教程提供的代码适用于两个静止图像如何处理视频(帧)和静止图像?
答案 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)