【原理】numpy的ndarray是可以先横向堆叠,再纵向堆叠的。最后显示出整体图像。
【效果】横向堆叠再纵向堆叠
# cv imshow多行多列堆叠
import os
import cv2
import numpy as np
show_pic_size = (200, 200) #堆叠后每一个小图片的大小,根据需要调整
img_dir = 'D:\Projects\xxx\\test_examples' # 注意该文件夹下的图片命名不能有中文
imgs_list = os.listdir(img_dir)
n = len(imgs_list)
dims = int(n**0.5) # 原始图像个数最好为一个平方数,否则可能会显示不全。最终显示dims列图片。
img_all = []
all = np.zeros(shape=(200, 200*dims, 3)) # 每行dims列,图像是3维的,最后一个参数为3
all = all.astype(np.uint8) # imshow只显示uint8类型数值
list1 = [] # 存放纵向堆叠列表
# 堆叠效果:每行dims列,总共dims行
for i in range(n):
img_i = cv2.imread(img_dir + '\\' + str(imgs_list[i])) # 读取一张图片
img_i =