在Python中的wxPython Phoenix中将Mono8图像缓冲区转换为wx.Bitmap的可显示格式

时间:2016-05-16 20:00:10

标签: python image-processing bitmap wxpython pixelformat

我是图像处理的新手 我目前有一个用Mono8编码的图像缓冲区。

我正在尝试使用wx.Bitmap显示它。但是,我只找到RGB,RGBA或PNG的文档。

  • 有没有办法将Mono8缓冲区转换为wx.Bitmap()可显示的另一种格式?
  • 是否有另一个小部件能够显示Mono8图像缓冲区?

1 个答案:

答案 0 :(得分:1)

我找到了怎么做:

Mono8只是grayscale上0到255之间像素值的表格 RGB是根据其他颜色(红色,绿色和蓝色)的相同表格。

因此,同一图像的RGB值是Mono8的3倍 =>为每个像素的组件重复相同的值。

rgb = [ v for v in image_buffer for _ in range( 3 ) ]
rgb_ba = bytearray( rgb )
bitmap.FromBuffer( height, width, rgb_ba )

感谢Martijn Pieters对列表理解的help