我尝试使用img.getcolors()
计算图像中不同颜色的数量。但是,这并不区分透明像素和黑色像素 - 它们都报告为一个像素[0,0,0]。
如何区分透明像素和黑色像素?我需要处理的许多图像在透明背景上都是黑色的。
出于测试目的,我使用的是我创建的半透明,半黑的PNG。 len(img.getcolors())
为1。
答案 0 :(得分:0)
令人尴尬的回答:
我在调用convert('RGB')
之前使用getcolors()
。如果没有转换,4值元组将返回alpha通道。