PIL,im.getdata()返回整数而不是元组 - python

我正在编写一个接受图像输入并返回RGB代码列表的函数。

im = Image.open('picture.jpg')
pix = list(im.getdata())

pix应该是RGB元组的列表。在大多数情况下是这样,但是我发现了一些这样的情况:
[(244,255,255),(100,100,90),(23,0,80),...,220,(100,100,100)]
即以某种方式im.getdata()从像素值中检索整数?
类似地,在某些情况下,pix中的整数之一是一个四元组:
(1,0,0,255)。
有人可以解释为什么吗?如何更改此设置,以便仅检索图像的RGB元组的列表?
任何帮助或指导,将不胜感激!

参考方案

可以以各种方式存储栅格图像-主要是为了在传输所需的磁盘空间和带宽方面高效。以下是一些选项:

RGB三胞胎-这是存储图像的最常见方式,您将获得3个值...每个像素1个红色,1个绿色和1个蓝色,
RGBA quads-这意味着您每个像素有4个值... 1个红色,1个绿色,1个蓝色和一个alpha(A)值,用于指定该像素的不透明度/透明度,
灰度-这表示图像中的所有像素均为灰色,您只需为每个像素得到一个值,即可指定其在纯黑色(0)和纯白色(255)之间的比例上的Sts,
淡化-这意味着图像中少于256种不同的颜色,而不是将每个颜色存储为3个字节的RGB,您只需为每个像素存储一个字节,然后使用该字节从嵌入式表中查找相应的值256个RGB值。这意味着每个像素只有1个字节,而不是3个字节。

尽管如此,某些图像每个样本使用8位。有些使用16位,有些使用32位,而其他使用64位。还有些使用压缩,而有些则不使用。但是,所有这些都是独立的,是与我上面提到的要点清单不同的问题。

如果要确保始终获得每个像素3个值,请确保在打开时转换为RGB模式:

im = Image.open('picture.jpg').convert('RGB')

请注意,您可能不必要地增加了存储图像所需的内存(如果是灰度或灰显的),或者您可能会丢弃alpha通道。

另一个选择是获取图像的类型并处理不同的情况:

# Open image 
im = Image.open('start.png')                                                                

# Check bands present - e.g. ('R', 'G', 'B')
bands = im.getbands() 

R'relaimpo'软件包的Python端口 - python

我需要计算Lindeman-Merenda-Gold(LMG)分数,以进行回归分析。我发现R语言的relaimpo包下有该文件。不幸的是,我对R没有任何经验。我检查了互联网,但找不到。这个程序包有python端口吗?如果不存在,是否可以通过python使用该包? python参考方案 最近,我遇到了pingouin库。

Python:传递记录器是个好主意吗? - python

我的Web服务器的API日志如下:started started succeeded failed 那是同时收到的两个请求。很难说哪一个成功或失败。为了彼此分离请求,我为每个请求创建了一个随机数,并将其用作记录器的名称logger = logging.getLogger(random_number) 日志变成[111] started [222] start…

Python sqlite3数据库已锁定 - python

我在Windows上使用Python 3和sqlite3。我正在开发一个使用数据库存储联系人的小型应用程序。我注意到,如果应用程序被强制关闭(通过错误或通过任务管理器结束),则会收到sqlite3错误(sqlite3.OperationalError:数据库已锁定)。我想这是因为在应用程序关闭之前,我没有正确关闭数据库连接。我已经试过了: connectio…

Python-Excel导出 - python

我有以下代码:import pandas as pd import requests from bs4 import BeautifulSoup res = requests.get("https://www.bankier.pl/gielda/notowania/akcje") soup = BeautifulSoup(res.cont…

Python:如何根据另一列元素明智地查找一列中的空单元格计数? - python

df = pd.DataFrame({'user': ['Bob', 'Jane', 'Alice','Jane', 'Alice','Bob', 'Alice'], 'income…