我正在制作一个运动检测程序,它首先从一个实时视频源获取一个参考帧,并检测程序启动时参考帧是否有任何变化
变量:
REFRAME=3维图像,即程序启动时从网络摄像头提要中获取的彩色帧。(静止图像是网络摄像头捕获的第一帧)
myFrame=三维视频源,反映网络摄像头的实时视频源(直接来自网络摄像头的实际实时视频源)
diffFrame=二维二进制视频馈送,显示当前视频馈送与启动程序时的参考图像帧之间的差异。(黑白视频源)
threshFrame=二维二进制视频馈送,显示diffFrame视频直播馈送的阈值格式。(不同格式的黑白视频源)
我的目标是使用vstack以4x4格式将所有4帧堆叠在一起,因为我已成功地将三维和二维图像水平堆叠在一起。目前,我有一个问题,因为他们的尺寸差异堆叠的4个图像。我怎样才能把这4幅图像叠加在一起呢
# stack 'em
picsStack1 = np.hstack((refFrame,myFrame))
picsStack2 = np.hstack((diffFrame,threshFrame))
# show video frame
cv.imshow('Hidden Cam',np.vstack((picsStack1, picsStack2)))
我们将任务分为3个功能:
定义将接收图像数组的函数。如果阵列是二维的,表示它是灰度的,则将其转换为三维并返回三维阵列。否则,返回原始数组
定义一个函数,该函数将接收图像数组列表,并返回图像中最大的宽度和高度
定义一个函数,该函数将接收图像数组列表,并返回一个图像列表,其中每个图像来自原始列表,仅广播到黑色画布。黑色画布应该从
canvas_size
函数获取其维度代码可能如下所示:
相关问题 更多 >
编程相关推荐