gpt4 book ai didi

python - 如何在opencv-python中将输出帧全部组合在一起?

转载 作者:行者123 更新时间:2023-12-02 17:20:46 26 4
gpt4 key购买 nike

我正在处理输入图像。我需要对图像执行一系列步骤,所有结果都依次出现在单独的窗口中,我真的需要将这些结果组合在一起,以视频的形式显示,输入图像与不同帧相同,并且框架上显示的每个操作的结果。

例如,我有outpu1,output2,output3和output4,这是cv2.imshow()当前在4个单独的窗口中显示的结果。我需要将这些结果合并到一个窗口中,以像视频一样显示它,每个结果都一个接一个。有可能这样做吗?有人可以给我一个想法吗?任何帮助都感激不尽。谢谢 !

最佳答案

您可以使用np.stack查看图像。
您可以使用我的以下功能查看组合图像

def stackImages(scale, imgArray):
rows = len(imgArray)
cols = len(imgArray[0])
rowsAvailable = isinstance(imgArray[0], list)
width = imgArray[0][0].shape[1]
height = imgArray[0][0].shape[0]
if rowsAvailable:
for x in range(0, rows):
for y in range(0, cols):
if imgArray[x][y].shape[:2] == imgArray[0][0].shape[:2]:
imgArray[x][y] = cv2.resize(imgArray[x][y], (0, 0), None, scale,
scale)
else:
imgArray[x][y] = cv2.resize(imgArray[x][y], (
imgArray[0][0].shape[1], imgArray[0][0].shape[0]),
None, scale, scale)
# if len(imgArray[x][y].shape) == 2: imgArray[x][y] = cv2.cvtColor(
# imgArray[x][y], cv2.COLOR_GRAY2BGR)
imageBlank = np.zeros((height, width, 3), np.uint8)
hor = [imageBlank] * rows
hor_con = [imageBlank] * rows
for x in range(0, rows):
hor[x] = np.hstack(imgArray[x])
ver = np.vstack(hor)
else:
for x in range(0, rows):
if imgArray[x].shape[:2] == imgArray[0].shape[:2]:
imgArray[x] = cv2.resize(imgArray[x], (0, 0), None, scale, scale)
else:
imgArray[x] = cv2.resize(imgArray[x],
(imgArray[0].shape[1], imgArray[0].shape[0]),
None, scale,
scale)
# if len(imgArray[x].shape) == 2: imgArray[x] = cv2.cvtColor(imgArray[x],
# cv2.COLOR_GRAY2BGR)
hor = np.hstack(imgArray)
ver = hor
return ver

将图像放入 list并将其传递给上面定义的 stackImages函数

关于python - 如何在opencv-python中将输出帧全部组合在一起?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62229016/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com