Python Pillow 如何获取图像的所有像素?

发布于 2022-09-06 22:58:09 字数 424 浏览 28 评论 0

如题,目前只能通过遍历循环得出图像的所有像素值:

image = Image.open('test.png')
width = image.width
height = image.height
image_list = []
for x in range(height):
    scanline_list = []
    for y in range(width):
        pixel = image.getpixel((y, x))
        scanline_list.append(pixel)
    image_list.append(scanline_list)
print(image_list)

是否有更简单的方法获取图像的所有像素?类似直接用 getpixels() 方法直接返回图像的所有像素的列表

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

淡看悲欢离合 2022-09-13 22:58:09

image 本身就代表了一个像素组成的二维数组, 不一定非得把二维数组保存成一维数组吧. 我觉得题主不妨讲讲看, 要获取一个图片像素的一维数组是做什么需求, 或许有更好的办法解决.
另外, pillow 里面有直接获取像素二维数组的方法:

from PIL import Image
im = Image.open('hopper.jpg')
px = im.load()
print (px[4,4])
px[4,4] = (0,0,0)
print (px[4,4])

上面代码输出类似下面的两个 tuple:

(23, 24, 68)
(0, 0, 0)

参考 pillow 文档.
希望对你有所帮助.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文