一直以来对Numpy的印象就是做矩阵运算的一个python模块,好似感觉就是在数学教学里面或者枯燥的科研里面用用,但是近来因为工作的原因解除到很多tensorflow的pipeline之后,发现numpy在深度学习里面几乎无处不在,尤其是在data的预处理上,还有一些模型的推断代码上更是如此。
鉴于此又恰好看到有些模型里面用到了numpy来合并几张图片的预处理方式。这里记一下 方便后面的学习。
图片说白了就是二维的像素矩阵,而像素就是rgb三维数组,所以思路就是这样,先用opencv读取每一张图片到一个numpy的array array的shape就是图片 (w,h,3) 然后长度w取和 宽度h取最大(因为是垂直方向的拼接)再np.zeros(sum(w),max(h),3) 最后把三个矩阵在垂直方向上赋值给新的zeros矩阵
代码如下:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import sys
import cv2
import glob
import numpy as np
reload(sys)
sys.setdefaultencoding(utf-8)
image_dir = /Users/andy/Downloads/testnumpy/*.png
def main():
images = [cv2.imread(image_file) for image_file in glob.glob(image_dir)]
height = sum([image.shape[0] for image in images])
width = max([image.shape[1] for image in imag
如果觉得《python多图合并成一张图_如何通过python numpy来合并多张图片》对你有帮助,请点赞、收藏,并留下你的观点哦!