簡體   English   中英

PIL圖像模式我是灰度的嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM