python-Opencv实现将多张小图绘制到一张大图上

使用opcncv将多张小图绘制到一个大图上

本人最近在做一些深度学习目标检测类的任务,由于不同图之间的变化规律有很大区别,通过大图一张一张的看能难总结出每个目标的特点,因此写了一段代码将多个检测的目标放到一张大图上,更好的总结出目标的特点,方便做后续的优化,当然这个代码也可以用在其他的目标检测任务上。


import cv2
import numpy as np
#定义显示的行数
row = 23
#定义现实的列数
col = 23
#定义每一张小图的大小
small_pic_size = (128, 128)
#在这里存放每一张小图,请大家自行修改
images = []

#生成一张空白大图
big_picture = np.full((int(row * small_pic_size[0]), int(col * small_pic_size[1]), 3), 255, dtype=np.uint8)

for epoch, pic in enumerate(images):
    block_x = int(small_pic_size[0] * (epoch // row))
    block_y = int(small_pic_size[1] * (epoch % col))
    big_picture[block_x:block_x + small_pic_size[0], block_y:block_y + small_pic_size[1], :] = pic

cv2.imwrite('1234.png', cv2.cvtColor(big_picture, cv2.COLOR_BGR2RGB))

代码实现非常简单,定义好大图的行列数量以后,定义每张小图的大小,在images列表下存放以opencv读取并resize成小图大小的小图,好各种小图


在这里插入图片描述
hhh,是不是很意外,怎么全是黑白图,这是因为我的数据是保密的啦,不能随意外放,但也能看出显示的效果非常的不错!
怎么样,是不是又学习到了一个新的技能,
欢迎大家在评论区留言讨论!

猜你喜欢

转载自blog.csdn.net/aabbcccddd01/article/details/109591745
今日推荐