【问题标题】:Reading binary data as BGRA image with NumPy使用 NumPy 将二进制数据读取为 BGRA 图像
【发布时间】:2015-02-02 22:45:44
【问题描述】:

我有一个 BGRA 图像以以下格式(串行)转储到二进制文件中:[(b, g, r, a), (b, g, r, a), (b, g, r, a ) ...] 我知道图像的宽度、高度和通道数(在这种情况下当然是 4 个)。

我想将图像读入一个 4D 数组,其中第一个维度表示 B 值等。 我有以下代码:

data = np.fromfile(fbin, np.dtype('B'))
print data

这会打印如下内容:

[ 79  90  92   0  80  91  93   0  84  96  98   0 ...]

其中 79 是 B,90 是 G,92 是 R,0 是 A,依此类推。现在我尝试像这样重塑“数据”:

print data.reshape(channels, height, width)

得到以下信息:

[[[ 79  90  92   0  ...] .. [] ..]

  [[109 ...] .. [] ..]

  [[118 ...] .. [] ..]

  [[  0 ...] .. [] ..]]

我想得到的是这样的:

[[[ 79 ...] .. [] ..]

  [[90 ...] .. [] ..]

  [[92...] .. [] ..]

  [[0...] .. [] ..]]

【问题讨论】:

    标签: python numpy image-formats


    【解决方案1】:

    嗯,这感觉太简单了,解决办法是:

    data = data.reshape(channels, width, height, order='F')
    

    【讨论】:

      猜你喜欢
      • 2013-12-22
      • 2020-10-30
      • 2014-08-09
      • 2011-12-21
      • 1970-01-01
      • 2020-08-15
      • 2011-12-09
      • 1970-01-01
      • 2011-03-12
      相关资源
      最近更新 更多