Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python将图像数组(20,20)转换为数组(400)_Python_Python 2.7_Numpy - Fatal编程技术网

Python将图像数组(20,20)转换为数组(400)

Python将图像数组(20,20)转换为数组(400),python,python-2.7,numpy,Python,Python 2.7,Numpy,使用Python 2.7和Numpy 我有一个存储在数组(20,20)中的黑白图像,我想将其转换为数组(400)。如果我有很多图像,也就是数组(x,20,20),如何在Python中实现这一点 非常感谢 编辑:非常感谢。我一开始就把问题搞错了,因此我无法理解这段简单的代码。我认为numpy.flatte()就是您要找的 >>> a = np.array([[1,2], [3,4]]) >>> a.flatten() array([1, 2, 3, 4]) &g

使用Python 2.7和Numpy

我有一个存储在数组(20,20)中的黑白图像,我想将其转换为数组(400)。如果我有很多图像,也就是数组(x,20,20),如何在Python中实现这一点

非常感谢


编辑:非常感谢。我一开始就把问题搞错了,因此我无法理解这段简单的代码。

我认为
numpy.flatte()
就是您要找的

>>> a = np.array([[1,2], [3,4]])
>>> a.flatten()
array([1, 2, 3, 4])
>>> a.flatten('F')
array([1, 3, 2, 4])

如果可能,您可以使用获取阵列的一维视图;否则将返回一份副本。有关“如果可能”的定义,请参阅链接文档

a = np.array([[1, 2, 3], [4, 5, 6]])
print(a.ravel())
# [1 2 3 4 5 6]

重塑为
阵列。重塑(-1400)
?@Leta将20x20阵列折叠为1D阵列将获得400个结果。乘以这些值只会改变每个像素的颜色。对不起,我真是太蠢了。我不知道我是怎么弄错的。如果我有一个数组(A,B),我需要一个数组(A*B)。你写的是一个数组(A+B)。您的示例中的数组应为array([3,4,6,8])。@Leta,考虑到您的问题或我在此假设的基本ML应用程序,这没有多大意义。在后一种情况下,您肯定不想更改像素值,只想更改外部尺寸。这个答案是可以的。但你应该明白,它永远是一个副本(可能不同于另一个答案中的拉威尔)。@Leta:那没有意义。现在我明白我是多么愚蠢了。对不起@如上文所述(由Divakar提供),如果您需要对形状进行更多控制,numpy的重塑功能是另一个选项。