numpy cv2 imshow 堆叠图像输出

本文介绍了如何利用numpy的ndarray横向和纵向堆叠图像,并通过cv2.imshow展示堆叠后的整体图像。此外,还提供了put_text添加字体的方法链接以及解决imshow窗体中文乱码的解决方案。
摘要由CSDN通过智能技术生成

【原理】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 = 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值