2014-03-27 61 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