为什么python PIL无法在一个程序中显示两个图像

时间:2018-11-13 11:01:57

标签: python python-imaging-library

这是我的代码:

img = Image.open('data/img.jpg')
lb = Image.open('data/label.png')
img.show('img')
img.close()
lb.show('lb')
lb.close()

运行该程序后,成功显示了第一张图像,但是除非我注释与第一张图像相关的代码,否则将不会显示第二张图像。是什么原因造成的?

1 个答案:

答案 0 :(得分:1)

您可以同时显示多线程:

#!/usr/local/bin/python3

from PIL import Image
from threading import Thread

def display(im):
    im.show()

im1 = Image.open('1.jpg')
im2 = Image.open('2.jpg')
t1=Thread(target=display,args=(im1,))
t1.start()
t2=Thread(target=display,args=(im2,))
t2.start()

enter image description here


或者您可以将图像临时合并为一个:

#!/usr/local/bin/python3

from PIL import Image
import numpy as np

im1 = Image.open('1.jpg')
im2 = Image.open('2.jpg')

Image.fromarray(np.hstack((np.array(im1),np.array(im2)))).show()

enter image description here