首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用PIL分析像素RGB值

用PIL分析像素RGB值
EN

Stack Overflow用户
提问于 2015-11-04 20:56:42
回答 3查看 632关注 0票数 0

我正在做一个项目,在这个项目中,我需要找到图片中每个像素的RGB值。我怎么能用PIL做这件事?我知道枕头更好,但由于我只需要做一件事,我认为我可以使用PIL。如果不能用的话请告诉我。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-11-04 21:00:04

代码语言:javascript
复制
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
EN

Stack Overflow用户

发布于 2015-11-04 21:06:28

前面的答案是一个很好的解决方案,但只是提出了另一种方法,即一行:

代码语言:javascript
复制
from scipy import misc;

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

然后,你可以很容易地得到每个像素的颜色,你需要。

票数 0
EN

Stack Overflow用户

发布于 2015-11-04 21:15:10

凯文几乎把它放在了第一位,你也可以使用getdata()返回一个元组列表。

我可能完全错了,但是如果您需要特定的像素,load()可能工作得更好,如果您需要所有的像素,则使用getdata()。另外,如果这只是一个正常的图像,那么转换到RGB是个好主意,我以前也犯过错误,因为我没有这样做。

代码语言:javascript
复制
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]

如果您需要对像素进行填充,然后重新生成图像,那么图像大小就很有用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33531851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档