簡體   English   中英

使用PIL分析像素RGB值

[英]Analyzing pixel RGB values with PIL

我正在一個項目中,我需要查找圖片中每個像素的RGB值。 如何使用PIL執行此操作? 我知道Pillow更好,但是由於我只需要做一件事,我認為我可以使用PIL。 如果這不能正常工作,請告訴我。

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]

前面的答案是一個很好的解決方案,但只是建議了另一種方式:一行:

from scipy import misc;

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

然后,您可以輕松獲得所需的每個像素的顏色。

凱文幾乎可以找到它,您也可以使用getdata()返回一個元組列表。

我可能完全錯了,但是如果您需要特定的像素,則load()可能會更好,如果需要所有像素,則使用getdata()可能會更好。 另外,如果它只是普通圖像,那么將其轉換為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]

如果您需要處理像素並在之后重建圖像,那么圖像尺寸就很有用了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM