簡體   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