鍍金池/ 問答/數(shù)據(jù)分析&挖掘  Python/ numpy如何保存數(shù)據(jù)大小一致的矩陣

numpy如何保存數(shù)據(jù)大小一致的矩陣

我現(xiàn)在有一批圖像想轉(zhuǎn)化成numpy數(shù)據(jù)保存起來,但是圖片大小不固定(不希望resize)

比如說a.shape=(3,2,9),b.shape=(3,3,8),怎么將a,b合并成c呢?即如實現(xiàn)c[0]=a,c[1]=b?

所以想問一下就是有什么辦法可以把這些尺寸不一致的圖片用numpy.array的形式保存起來?

回答
編輯回答
背叛者

用 pillow 模塊把各式圖片轉(zhuǎn)換成像素集,然后轉(zhuǎn)成 numpy 數(shù)組,最后保存到文件。

請參考下面的代碼

# -*- coding: utf-8 -*-
from PIL import Image
import numpy as np


def images_to_array(image_files, array_file):
    """ 將多個圖像文件保存成 numpy 數(shù)組,并存儲到 .npy 文件。
    """
    data = []
    for filename in image_files:
        data.append(np.array(Image.open(filename)))
    np.save(array_file, data)


def load_images(array_file):
    """ 從 .npy 文件讀取所有圖像數(shù)組。
    """
    return np.load(array_file)


images_to_array(['1.png', '2.png'], '1.npy')
load_images('1.npy')

參考資料

  1. https://pillow.readthedocs.io...
  2. https://docs.scipy.org/doc/nu...
2018年5月25日 05:41