Мне нужно соединить много изображений рядом, но без изменения высоты или ширины любого из них. То есть, это будет просто одно изображение постоянной высоты, но очень большой ширины, так как изображение располагается горизонтально.
Я использовал Python и библиотеку PIL, но то, что я пробовал до сих порсоздает изображение, которое делает все изображения меньше, чтобы объединить их в одно длинное изображение.
Image.MAX_IMAGE_PIXELS = 100000000 # For PIL Image error when handling very large images
imgs = [ Image.open(i) for i in list_of_images ]
widths, heights = zip(*(i.size for i in imgs))
total_width = sum(widths)
max_height = max(heights)
new_im = Image.new('RGB', (total_width, max_height))
# Place first image
new_im.paste(imgs[0],(0,0))
# Iteratively append images in list horizontally
hoffset=0
for i in range(1,len(imgs),1):
hoffset=imgs[i-1].size[0]+hoffset # update offset**
new_im.paste(imgs[i],(hoffset,0))
new_im.save('row.jpg')
В результате я получаю одно изображение, составленное из объединенных изображений в горизонтальном ряду. Это то, что я хочу, за исключением того, что в процессе конкатенации изображения становятся все меньше и меньше. Я хочу, чтобы конечный результат не уменьшал изображения, а создавал изображение из входных изображений с их исходным размером. Таким образом, выходное изображение будет иметь очень большую ширину.