Python 作为整数数组读取的数字图像

Python 作为整数数组读取的数字图像,python,image-processing,Python,Image Processing,使用Python的PIL模块,我们可以将数字图像读入整数数组 from PIL import Image from numpy import array img = Image.open('x.jpg') im = array(img) # im is the array representation of x.jpg 我想知道PIL如何将图像解释为数组?首先我试过这个 od -tu1 x.jpg 它确实给出了一系列数字,但是PIL如何将彩色图像解释成3D阵列呢 简言之,我的问题是,我想

使用Python的PIL模块,我们可以将数字图像读入整数数组

from PIL import Image
from numpy import array

img = Image.open('x.jpg')
im = array(img)  # im is the array representation of x.jpg
我想知道PIL如何将图像解释为数组?首先我试过这个

od -tu1 x.jpg
它确实给出了一系列数字,但是PIL如何将彩色图像解释成3D阵列呢


简言之,我的问题是,我想知道如何在不使用任何模块(如PIL)的情况下获得彩色图像的数组表示,如何使用Python完成这项工作?

嗯,这取决于我要说的图像格式

对于.jpg,有允许读取图像的格式的完整描述。 你可以看

皮尔所做的正是你一开始所做的。但随后它会按照规范读取字节,这允许它将其转换为人类可读的格式(在本例中为数组)

对于JPEG来说,这可能看起来很复杂,但是如果你使用png版本,而不进行压缩,那么一切看起来都会简单得多。

如果打开它,您将看到类似的内容:

您可以在顶部看到与标题对应的多个信息

然后你会看到所有这些零,它们是图像左上角黑色像素的数字表示

如果使用PIL打开图像,将得到一个数组,其中大部分填充了0

如果您想了解更多关于第一个字节的信息,请参阅第11.2.2章

您将看到一些字节对应于图像的宽度和高度。以下是PIL创建数组的方式:


希望这有帮助

嗯,这取决于我想说的图像格式

对于.jpg,有允许读取图像的格式的完整描述。 你可以看

皮尔所做的正是你一开始所做的。但随后它会按照规范读取字节,这允许它将其转换为人类可读的格式(在本例中为数组)

对于JPEG来说,这可能看起来很复杂,但是如果你使用png版本,而不进行压缩,那么一切看起来都会简单得多。

如果打开它,您将看到类似的内容:

您可以在顶部看到与标题对应的多个信息

然后你会看到所有这些零,它们是图像左上角黑色像素的数字表示

如果使用PIL打开图像,将得到一个数组,其中大部分填充了0

如果您想了解更多关于第一个字节的信息,请参阅第11.2.2章

您将看到一些字节对应于图像的宽度和高度。以下是PIL创建数组的方式:


希望这有帮助

取决于颜色模式。在PIL中,图像存储为整数列表,所有通道以像素为单位交错

为了说明这一点:

灰度图像:[像素1,像素2,像素3,…] RGB:[像素1\u R,像素1\u G,像素1\u B,像素2\u R,像素2\u G,…] RBGA也是如此,等等。
取决于颜色模式。在PIL中,图像存储为整数列表,所有通道以像素为单位交错

为了说明这一点:

灰度图像:[像素1,像素2,像素3,…] RGB:[像素1\u R,像素1\u G,像素1\u B,像素2\u R,像素2\u G,…] RBGA也是如此,等等。
不确定你的问题到底是什么;你想达到什么目的?不确定你的问题到底是什么;你想达到什么目的?;如果缺少什么,请告诉我;如果缺少什么,请告诉我