2015-11-04 107 views
0

我正在開發一個項目,我需要找到圖片中每個像素的RGB值。我如何使用PIL來做到這一點?我知道枕頭更好,但是因爲我只需要做這件事情,我認爲我可以使用PIL。如果這不起作用,請告訴我。使用PIL分析像素RGB值

回答

0
from PIL import Image 
img = Image.open("filename.png") 
pixels = img.load() 

#get the B value of the pixel at x=23, y=42 
print pixels[23, 42][2] 
+0

謝謝,這個答案幫了我很多 –

0

以前的答案是一個很好的解決方案,但只是建議另一種方式是一條線:

from scipy import misc; 

imgData = misc.imread('./image.png'); 

然後,您可以輕鬆搞定的顏色在你需要每一個像素。

0

凱文得到了很多的發現,你也可以使用getdata()返回元組列表。

我可能得到了這個完全錯誤的,但如果你需要特定的像素,load()可能會更好,如果你需要所有的像素,load()可能會更好。另外,如果它只是一個普通的圖像,那麼轉換爲RGB是個好主意,因爲我之前沒有這樣做,所以我以前有過錯誤。

image = Image.open('filename').convert('RGB') 
width, height = image.size 

#Get pixels in a list of tuples 
pixels = image_input.getdata() 

#If you need a flat list containing all the colours 
bytes = [j for i in pixels for j in i] 

如果您需要對像素執行某些操作並重建圖像,那麼圖像大小會變得有用。