将矢量化图像保存为numpy数组

时间:2017-12-27 01:42:17

标签: python arrays image numpy python-imaging-library

我有四张图片,我转换为矢量。我试图将这些向量保存在numpy数组中,以使其具有与以下矩阵类似的结构:

np.array([[0,0,1],
         [0,1,1],
         [1,0,1],
         [1,1,1]])

这就是我所做的:

import numpy as np
from PIL import Image

image1 = Image.open('cat0.jpg').convert('L')
image_array1 = arr = np.array(image1)
image_array_to_vector1 = image_array1.ravel()

image2 = Image.open('cat1.jpg').convert('L')
image_array2 = arr = np.array(image2)
image_array_to_vector2 = image_array2.ravel()

image3 = Image.open('cat2.jpg').convert('L')
image_array3 = arr = np.array(image3)
image_array_to_vector3 = image_array3.ravel()

image4 = Image.open('dog1.jpg').convert('L')
image_array4 = arr = np.array(image4)
image_array_to_vector4 = image_array4.ravel()

X = np.array(image_array_to_vector1,image_array_to_vector2,image_array_to_vector3,image_array_to_vector4)

但我收到以下错误:

X = np.array(image_array_to_vector1,image_array_to_vector2,image_array_to_vector3,image_array_to_vector4)
ValueError: only 2 non-keyword arguments accepted

我做错了什么?我该如何解决这个问题?

感谢。

1 个答案:

答案 0 :(得分:2)

我相信要传递一个多维数组,你需要将数组方法的参数放在数组表示法中:

X = np.array([image_array_to_vector1,image_array_to_vector2,image_array_to_vector3,image_array_to_vector4])