1

我有 3 到 4 张图像,我试图将它们全部组合成一张图像(放入一个窗口中),然后通过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)
4

1 回答 1

2

使用 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)
于 2017-05-07T10:12:20.190 回答