3

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

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

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

1 回答 1

2

我已经找到了如何做到这一点:

Mono8 只是灰度上从 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 对列表理解的帮助!

于 2016-05-16T21:47:20.263 回答