繁体   English   中英

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

[英]How can I read single-channel 32-bit integer images with python?

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

这是代码

如果您知道缺少什么,请告诉我?

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

打开文件似乎是:

  • 基于文本(由您的 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()

输出:

在此处输入图片说明

所以看起来我们成功地将该图像读入了一个 numpy 数组。

你现在需要:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM