[英]PIL Image mode I is grayscale?
我正在嘗試以整數格式而不是(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決定如何將“紅色”轉換為“ I”格式。
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()
有沒有一種方法可以基於32位整數指定彩色圖像?
是的,為此使用RGB格式,但請使用整數而不是“ red”作為color參數:
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()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.