【问题标题】:Python PIL How do I convert 1 bit deep images to RGBA?Python PIL 如何将 1 位深度图像转换为 RGBA?
【发布时间】:2012-09-05 03:55:55
【问题描述】:

和标题一模一样。我拍摄模式“1”的单波段图像并使用打开它

image = Image.open("picture.tif")

然后我尝试将其转换为 RGBA

image.convert("RGBA")

然后每当我检查它的模式时使用

print(image.mode)

我知道它仍然是“1”。我什至使用“L”(这是另一种单波段图像模式)尝试过这个,但仍然没有运气。无论我做什么,它都不会转换。在网上搜索似乎只显示从“RGBA”转换为“1”,但我无法找到任何关于其他方式的信息。有没有办法(甚至在 Python 之外)将 1 位深的图像转换为 RGBA?

帮助?

【问题讨论】:

  • 我无法重现这个;我得到img.mode => '1',然后是img.convert('RGBA').mode => 'RGBA'

标签: python image python-imaging-library rgba


【解决方案1】:

image.convert 不改变图像的模式,它返回一个新模式的新图像。

image = image.convert("RGBA")

来自the documentation

除非另有说明,否则所有方法都会返回 Image 类的新实例,其中包含生成的图像。

【讨论】:

  • 所以我需要为该新图像设置一个变量并保存该图像?
  • @TrentFaris242,您可以将其设置为新变量或替换原始变量,就像我在示例中所做的那样。
  • 非常感谢!如果我有更多的声誉,我会投票赞成这个答案。我到处寻找答案。再次感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-19
  • 1970-01-01
  • 2011-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多