合并 1 个以上的 openCV 图像并在 OpenCV CV2.Imshow() 中显示它们 Python

Combine more than 1 openCV images and show them in CV2.Imshow() in OpenCV Python

我有 3 到 4 张图片,我试图将它们全部组合成一张图片(放入一张 window),然后通过 CV2.imshow() 函数显示它们。但问题是这个问题的每一个解决方案都是针对完全相同尺寸的图像,这不是我的情况。我的图像都是不同尺寸的。请帮我解决这个问题?我有四张不同尺寸的图片,想要这样的输出

|||||||||||||||||||||||||||||||

||图片1 ||图 2 ||

|||||||||||||||||||||||||||||||

||图片1 ||图 2 ||

|||||||||||||||||||||||||||||||

目前,我有这样的代码用于两张图片,它们只适用于同样大小的图片

im = cv2.imread('1.png')
img = cv2.imread('2.jpg')
both = np.hstack((im,im))
cv2.imshow('imgc',both)
cv2.waitKey(10000)

使用opencv的im.resize()函数调整图像大小,然后进行合并任务。 始终使用参考尺寸,例如 1000 x 800(您可以更改它)

import cv2

import numpy as np

list_of_img_paths = [path2,path3,path4]

im = cv2.imread(path1)

imstack = cv2.resize(im,(1000,800))

for path in list_of_img_paths:
    im = cv2.imread(path)
    im = cv2.resize(im,(1000,800))
    # hstack to join image horizontally  
    imstack = np.hstack((imstack,im))

cv2.imshow('stack',imstack)
cv2.waitKey(0)