2016-07-22 86 views
1

所以我一直在使用opencv2和PIL來獲取像素值。他們保存成這樣Python 2.7-如何通過元組或設置值保存圖片?

(0,0,0),(1,1,1)

我已經試過像7名不同的方式來利用這些數據來創建圖像。

我最大的問題是我似乎無法讓putdata與我的元組一起工作。

我會顯示代碼,但我的筆記本電腦是平的,我的代碼無論如何都被打破了。

Tldr:如何使用存儲在元組中的像素值保存PIL圖像?

回答

0

像這樣的東西應該工作

from PIL import Image 

W = 200 
H = 200 
img = Image.new("RGB", (W, H)) 

pixel_list = [(i%256,i%256,i%256) for i in range(W*H)] 
i_pixel = 0 
for x in range(W): 
    for y in range(H): 
     img.putpixel((x, y), pixel_list[i_pixel]) 
     i_pixel += 1 

img.save('result.png') 

結果如下

Result of the code above

注:我讀here如下:

在1.1.6,上面是更好寫成:

pix = im.load() 
for i in range(n): 
    ... 
    pix[x, y] = value 

但我無法得到這個工作。

+0

那麼我把我的元組/集? (它被稱爲z_set)。我是否用z_Set替換I_pixel? –

+0

'pixel_list'是具有像素的元組列表。我認爲這叫做'z_Set',所以你使用'z_Set [i_pixel]'。 – physicalattraction

+0

這對我不起作用。什麼工作是[img.putpixel((索引,0),值)的索引,枚舉值(z_set) –