Python中的PIL抱怨PixelAccess没有’size’属性,我在做什么错?

我正在尝试编写一个应用程序,该应用程序将遍历给定图像的每个像素,获取每个像素的rgb值,将其添加到字典中(以及出现的次数),然后为我提供最常用的rgb值的精简清单.

但是,为了能够遍历图像,我需要能够获取图像的大小;事实证明,这绝非易事.

根据PIL documentation,Image对象应具有一个名为“ size”的属性.当我尝试运行程序时,出现以下错误:

AttributeError: 'PixelAccess' object has no attribute 'size'

这是代码:

from PIL import Image
import sys

'''
TODO: 
- Get an image
- Loop through all the pixels and get the rgb values
- append rgb values to dict as key, and increment value by 1
- return a "graph" of all the colours and their occurances

TODO LATER:
- couple similar colours together
'''

SIZE = 0

def load_image(path=sys.argv[1]):
    image = Image.open(path)
    im = image.load()
    SIZE = im.size
    return im

keyValue = {}

# set the image object to variable
image = load_image()
print SIZE

这根本没有道理.我究竟做错了什么?

最佳答案

image.load返回不具有size属性的像素访问对象

def load_image(path=sys.argv[1]):
    image = Image.open(path)
    im = image.load()
    SIZE = image.size
    return im

是你想要的

documentation for PIL