我有四个图像,我想将它们连接成一个图像。我尝试使用连接函数,但有多个图像,我只需要在一批4个图像中使用它们
实际上,这些图像被命名为0.jpg, 1.jpg,2.jpg and 3.jpg
下面是包含四个图像并将它们连接为一个图像的代码。但我在一个文件夹中有大约500张图像,我想根据范围将它们分成四对,比如first4,Second4,等等
import numpy as np
import glob,os
import cv2
directory = "./image/"
for image in sorted(glob.glob(directory + '*.jpg'),key=os.path.getmtime):
name = image.split('/')[-1]
iname = name.split('.')[0]
print(iname)
img1 = cv2.imread('0.jpg')
img2 = cv2.imread('1.jpg')
vis1 = np.concatenate((img1, img2), axis=1)
img3 = cv2.imread('2.jpg')
img4 = cv2.imread('3.jpg')
vis2 = np.concatenate((img3, img4), axis=1)
vis = np.concatenate((vis1, vis2), axis=0)
cv2.imwrite(iname+'.jpg', vis1)
这应该会奏效,或者至少让你开始。它选择红色作为背景色,并使1x1填充(填充)图像具有相同的颜色。然后将图像按4分组,如果不是4的倍数,则pad填充最后一组。然后在列表上迭代,每次迭代打开4个图像。它获取它们的大小,然后确定输出图像的宽度和高度。然后创建填充背景颜色的输出图像,然后将图像粘贴到背景上并保存结果
您可以选择改进布局,但这只是摆弄美学,所以您可以做到这一点
它创建如下输出图像:
注意:如果使用ImageMagick,只需使用几行bash shell脚本即可完成相同的操作:
关键词:Python、OpenCV、蒙太奇、组、分组、按四、按四
相关问题 更多 >
编程相关推荐