2017-08-23 55 views
0

我有一组5个图像,我必须在(16,16)维中调整它们的大小。然后,我必须将每个图像打印为列向量。如何合并由for循环生成的图像数组

为此,我使用for循环调整所有图像的大小,但无法将它们合并到数组中。如果我想将5个图像的5列矩阵并排打印为(256 * 5)维矩阵,我该怎么办?

接下来,我提供到目前为止,我已经做了代码:

import cv2 
import numpy as np 
import glob 
import itertools 
import xlsxwriter 

folder="E:/DOCUMENT(M.TECHS)/New folder/word/*.png" 
files = list(glob.glob (folder)) 

i=0 
for i in files: 
    abc=cv2.imread(i,0) 
    d=(16,16) 
    abc1=cv2.resize(abc,d,interpolation=cv2.INTER_AREA) 
    r,c=abc1.shape 
    width, height = abc1.shape 
    arr = np.ravel(abc1) 
    print(arr) 

回答

0

尝试附加所有图片到一个数组,然后使用np.concatenate(.., axis=1)加入他们的行列。例如,更改如下:

imgs = [] 

for i in files: 
    abc=cv2.imread(i,0) 
    d=(16,16) 
    abc1=cv2.resize(abc,d,interpolation=cv2.INTER_AREA) 
    r,c=abc1.shape 
    width, height = abc1.shape 
    arr = np.ravel(abc1) 
    imgs.append(arr) 

final_img = np.concatenate(imgs, axis=1)