首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PIL图像模式I是灰度的吗?

PIL图像模式I是灰度的吗?
EN

Stack Overflow用户
提问于 2015-08-24 22:20:08
回答 1查看 42.4K关注 0票数 19

我试图用Integer格式来指定图像的颜色,而不是(R,G,B)格式。我假设我必须在模式"I“中创建一个图像,因为根据文档

图像模式定义图像中像素的类型和深度。当前版本支持以下标准模式:

  • 1(1位像素,黑色和白色,每字节存储一个像素)
  • L(8位像素,黑白)
  • P(8位像素,使用调色板映射到任何其他模式)
  • RGB (3x8位像素,真彩色)
  • RGBA (4x8位像素,带透明遮罩的真实颜色)
  • CMYK (4x8位像素,分色)
  • YCbCr (3x8位像素,彩色视频格式)
  • I (32位有符号整数像素)
  • F(32位浮点像素)

然而,这似乎是一个灰度图像。这是意料之中吗?有没有一种基于32位整数来指定彩色图像的方法?在我的MWE中,我甚至让PIL决定如何将"red“转换为"I”格式。

米维

代码语言:javascript
运行
复制
from PIL import Image

ImgRGB=Image.new('RGB', (200,200),"red") # create a new blank image
ImgI=Image.new('I', (200,200),"red") # create a new blank image
ImgRGB.show()
ImgI.show()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-25 09:53:42

有没有一种基于32位整数来指定彩色图像的方法?

是的,对此使用RGB格式,但使用整数而不是"red“作为颜色参数:

代码语言:javascript
运行
复制
from PIL import Image

r, g, b = 255, 240, 227
intcolor = (b << 16 ) | (g << 8 ) | r                                       
print intcolor # 14938367
ImgRGB = Image.new("RGB", (200, 200), intcolor)
ImgRGB.show()
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32192671

复制
相关文章

相似问题

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