[英]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.