【问题标题】:Converting PNG file to bitmap array in Python在Python中将PNG文件转换为位图数组
【发布时间】:2015-09-23 23:37:24
【问题描述】:

我想将 PNG 图像转换为二维数组,其中每个数组都包含该特定像素的 RGB 值列表。如何创建一个程序来读入 *.png 文件并转换为这种类型的数据结构?

【问题讨论】:

    标签: python arrays image png pixel


    【解决方案1】:

    您可以使用现有的pygame 模块。使用pygame.image.load 将文件导入Surface。然后,您可以使用pygame.surfarray.array2d 从中访问位数组。请参阅 Pygame 文档了解更多信息。

    【讨论】:

      【解决方案2】:

      如果您安装了PIL,那么您可以使用Image.open 创建图像并获得如下颜色:

      data = [image.getpixel((x, y)) for x in range(image.width) for y in range(image.height)]
      

      【讨论】:

        【解决方案3】:

        您可以将wand 用于此类基本任务。与其他 ImageMagik 库不同,该语法非常易于阅读。基本上你会做这样的事情:

        from wand.image import Image
        from wand.display import display
        
        array = []
        with Image(filename='yourfile.png') as img:
            array.append(img.channel_images)        # this is most likely wrong, but it should be something similar
        

        它将沿着这些思路。离开办公室后,我会尝试一下。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-04-22
          • 1970-01-01
          • 2012-10-16
          • 1970-01-01
          • 1970-01-01
          • 2018-04-07
          • 2019-11-10
          相关资源
          最近更新 更多