合并多个openCV图像并在OpenCV Python

时间:2017-05-07 09:58:06

标签: python opencv cv2

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

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

|| Image1 || Image2 ||

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

|| Image1 || Image2 ||

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

目前,我有两个图像的代码只能处理相同大小的图像

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

1 个答案:

答案 0 :(得分: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))
    imstack = np.hstack(imstack,im)

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