我有一个很大的40 mb(约173,397行).dat文件,其中填充了二进制数据(随机符号)。这是天文照片。我需要使用Python阅读并显示它。我使用的是二进制文件,因为我需要从图像的特定区域提取像素值数据。但是现在我只需要将其摄取到Python中即可。类似于IDL中的READU过程。尝试了numpy和matplotlib,但没有任何效果。有建议吗?
答案 0 :(得分:0)
您需要知道二进制文件的数据类型和尺寸。例如,如果文件包含浮点数据,则使用numpy.fromfile
,例如:
import numpy as np
data = np.fromfile(filename, dtype=float)
然后使用dims
(相当于IDL中的numpy.reshape
)将数组重塑为图像的尺寸REFORM
:
im = np.reshape(data, dims)