我试图通过循环播放视频中的一组帧并获取合成+下一个帧的均值来使用两个图像的均值来创建合成图像。
但是看起来很糟糕。我究竟做错了什么?我想我一定误会了在numpy或opencv中添加/划分数组的方式。由于它发出的亮度只有应有的亮度的一半,所以好像从未添加过。加上树木的粗糙边缘。
import cv2
import numpy as np
frames = [cv2.imread('./frames2/thumb0001.jpg'),
cv2.imread('./frames2/thumb0002.jpg')]
composite = np.zeros((500, 500), dtype=np.uint8)
composite
for i, frame in enumerate(frames):
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
resized_frame = cv2.resize(gray, (500, 500))
composite = (resized_frame + composite) / 2
composite = composite.astype(np.uint8)
while True:
cv2.imshow('frame', composite)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
答案 0 :(得分:2)