我有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)
答案 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)