2014-03-27 42 views
0

我需要这样做 创建3个列表,一个用于红色,一个用于绿色,一个用于蓝色,每个列表包含256个元素,全部初始化为0 对于图像:从像素中获取红色的量r红色列表中的红色量r从像素中获取绿色的量g绿色列表中的增量位置g从像素中获取蓝色的量b增量在蓝色的列表位置b 返回红色,绿色和蓝色的名单 我写的代码在python中返回函数列表需要帮助

def colour(): red=[0]*256 for x in range(0, getWidth(img)): for y in range (0, getHeight(img)): r= getPixel(img,getWidth(img) ,getHeight(img)) red.append(r) return (red) 但出于某种原因,我无法看到列表

回答

1

您似乎正从图像每次都相同的值。您应该在循环中使用xy而不是getWidth(img)函数getPixel函数。

此外,由于您在循环中追加(而不是写入列表red中的某个位置),因此您应该只初始化一个空循环而不是一堆零。我会尝试:

def colour(): 
    red = [] 
    for x in range(getWidth(img)): 
     for y in range (getHeight(img)): 
      r= getPixel(img,x,y) 
      red.append(r) 
    return red 
0

很简单,看看这个例子。

>>> f= [9,5,4,3,2,7] 
>>> g= ["p","o"] 
>>> h= ["t","g"] 
>>> def c(): 
    return f , g ,h 

>>> c() 
([9, 5, 4, 3, 2, 7], ['p', 'o'], ['t', 'g']) 

只需卸下支架周围红色,并且如果u想传递所有三个列表只是做

return red, green ,blue