Python:通过自动检测大小来连接2个不规则大小的图像

时间:2017-11-16 11:45:45

标签: image python-2.7 opencv merge

问题陈述:我有2张不同大小的图片。 第一张图片(1320 x 950)第二张图片(1260 x 744)。我有兴趣将这些图像连接在一起,以便它们适合我的屏幕监视器(屏幕分辨率: 1920 x 1080 )。尝试使用np.concatenate,但问题是图像需要具有相同的大小。我尝试了以下但我无法解决这个问题。我怎么能解决这个问题?

我尝试了什么:

for i in range(File_start,File_stop,1):
    img1 = cv2.imread('Z:/04_RD/PP/img'+'_'+str(i)+'.jpg')
    img2 = cv2.imread('Z:/04_RD/GRF/GRF'+'_'+str(i)+'.jpg')

    h1, w1 = img1.shape[:2]
    h2, w2 = img2.shape[:2]

    visl = np.zeros((max(h1, h2), w1+w2,3), np.uint8)

    visl[:h1, :w1,:3] = img1
    visl[:h2, w1:w1+w2,:3] = img2

    cv2.imwrite("Final_" + str(i) + ".jpg", visl)

但这只是将图像连接到另一个旁边。因此,我无法在屏幕上完全查看它。

我查看了一个在线工具:https://www.imgonline.com.ua/eng/combine-two-images-into-one.php

这可以自动调整大小并将2张图像放在一起。

enter image description here

我想知道如何使用python代码实现这个目标?

1 个答案:

答案 0 :(得分:0)

您可以使用

调整图像大小
dstimg = cv2.resize(srcimg,(x_,y_))

其中x_和y_是目标图像的宽度和高度, dstimg

这样,您可以将两个图像调整为屏幕分辨率的一半,然后将它们连接在一起