2

我想使用 Python 显示 DEM 文件 (.raw),但结果可能有问题。

下面是我的代码:

img1 = open('DEM.raw', 'rb')
rows = 4096
cols = 4096

f1 = np.fromfile(img1, dtype = np.uint8, count = rows * cols)
image1 = f1.reshape((rows, cols)) #notice row, column format
img1.close()

image1 = cv2.resize(image1, (image1.shape[1]//4, image1.shape[0]//4))
cv2.imshow('', image1)
cv2.waitKey(0)
cv2.destroyAllWindows()

我得到了这个结果: 显示结果

原始DEM文件放在这里:DEM.raw

4

1 回答 1

2

您的代码没有问题,这就是您的文件中的内容。您可以在命令行中使用ImageMagick将其转换为 JPEG 或 PNG,如下所示:

magick -size 4096x4096 -depth 8 GRAY:DEM.raw result.jpg

你会得到几乎相同的结果:

在此处输入图像描述

问题在别处。

从 Fred (@fmw42) 那里得到提示并玩弄,哎呀,我的意思是“仔细和科学地实验”,如果我将您的图像视为 4096x2048 像素、16 bpp 和 MSB 第一字节序,我可以获得更可能的外观结果:

magick -size 4096x2048 -depth 16 -endian MSB gray:DEM.raw  -normalize result.jpg 

在此处输入图像描述

于 2019-04-28T20:04:14.427 回答