如何用python读取单通道32位整数图像?

时间:2017-10-17 09:26:29

标签: python numpy import text-files

我想读取保存为ssv文件的单通道32位整数图像。 到目前为止我已经尝试过(参见下面的代码),但没有太大的成功。

Here is the code

如果您对丢失的内容有任何疑问,请告诉我。

1 个答案:

答案 0 :(得分:0)

您作为用户应该拥有所需的有关此图像数据的必要信息。我只能假设并努力。

打开文件似乎是:

  • 基于文本(由您的ImageJ评论支持)
  • 使用uint32(数字对于uint8而言太大;经典案例)

以上和ImageJ的文档:

  

以制表符分隔的文本文件作为32位实像

打开

我愿意:

import numpy as np
import matplotlib.pyplot as plt                      # just for demo

img_raw = np.loadtxt('test.ssv', dtype=float)        # casting-early to float
img_float_01 = img_raw / 4294967295.  # max uint32   # normalize to float in [0, 1]

plt.imshow(img_raw, cmap='gray')
plt.show()

输出:

enter image description here

所以我们似乎成功地将该图像读入了一个numpy-array。

您现在需要:

  • 想一想在QT中使用该数组需要哪些步骤
  • 想想你是否会使用上面的代码或寻找更安全的路径,例如使用scikit-image(如果你需要[0,1]规范化;读取总是由numpy的loadtxt完成)