【问题标题】:Python - How to read image pixels without using third-party libraries?Python - 如何在不使用第三方库的情况下读取图像像素?
【发布时间】:2020-01-03 11:27:39
【问题描述】:

使用 opencv 读取图像很简单:

import cv2
im = cv2.imread("image.png")
print(im)

输出一个 numpy 数组,其中数组项表示图像像素值,范围从 0 到 255。

有没有办法使用 Python 标准库提取相同的像素值?预期的输出将采用 Python 内置数据结构的形式(即列表/元组/等)。例如:

[[191, 123, 100, 255],
 [233, 101, 120, 255]
 ...
]

到目前为止,我所拥有的是:

file = open("small.png", 'rb')
content= file.read()
print(content)

这将产生一个字节对象,但我如何获得图像的实际像素值?

【问题讨论】:

    标签: python image data-structures byte


    【解决方案1】:

    没有使用标准库从图像中读取像素字节的简单解决方案。

    您当然可以自己编写这样的模块,但这意味着要了解 PNG 格式、处理压缩图像数据等等。当你完成时,你已经......开发了你自己的功能较弱的pillow版本。

    您最好使用现有模块来获取您想要的数据。

    【讨论】:

      猜你喜欢
      • 2012-03-27
      • 2023-01-14
      • 1970-01-01
      • 1970-01-01
      • 2017-06-14
      • 2015-04-22
      • 1970-01-01
      • 2021-10-27
      • 2010-10-06
      相关资源
      最近更新 更多