python - 如何用PIL获取灰度值?

标签 python

我编写了一个代码来打印所有图像像素的灰度值

这是我的代码:

from PIL import Image, ImageColor
im = Image.open('upvote.png')
im = im.resize((50, 50))
im = im.convert('LA')#convert to grayscale
for i in range(50):
    print('\n')
    for j in range(50):
        pixel = im[i, j]# get pixel value
        print(pixel)

预计会得到这样的结果:
1 1 1 1 1 1 3 3 3 3 3 1 1 1 1 1
3 3 3 3 3 3 1 1 1 1 1 3 3 3 3 3
1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3
....
取决于图像

但我收到此错误:

TypeError: 'Image' object is not subscriptable

最佳答案

好吧,如果有人在这里看到这个问题,我就是这样解决的:
而不是这个:

pixel = im[i, j]

我用的是这个:

pixel = im.getpixel((i, j))

关于python - 如何用PIL获取灰度值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57581069/

相关文章:

python - 合并多个 Pandas 数据帧 - 有些具有共享的唯一 ID,有些具有共享列

python - 合并和拆分 Pandas 数据框中的列

python - 使用 pip 安装 SciPy 和 NumPy

python - 呈现形式 ('utf-8' 中的 Django UnicodeEncodeError )

python - C++/嵌入式 Python : Can I retrieve Python file name and line number when a C++ function is called from Python

python - 添加列表直到总和匹配

python - pip install pyodbc 失败错误 : Failed building wheel for pyodbc

python - 有人可以向我解释一下下面代码中的命令 [0][1][2] 以及它们是如何工作的

javascript - 使用 selenium 和 beautifulsoup 进行网页抓取时,通过 id、class、xpath、css 选择器查找元素不会返回任何内容

python - 比较有序列表和计算公共(public)元素*包括*重复项的最快方法