下面的代码几乎可以正常工作,但输出的图像最白的实际上变成了黑色.我不确定我做错了什么.在示例图像中,黑色部分是山顶,这实际上应该是白色的.此外,我正在使用全范围归一化65535,如果我try 使用255,图像都是黑色的.我需要能够使用完整的65535和255.

rgb_elevation = PIL.Image.open(BytesIO(images_array[key]))

rgb_data = np.array(rgb_elevation)
r = rgb_data[..., 0]
g = rgb_data[..., 1]
b = rgb_data[..., 2]
decoded_data = -10000 + ((r * 256 * 256 + g * 256 + b) * 0.1)

im = np.array(decoded_data)

im2 = ((im - im.min()) / (im.max() - im.min()) * 65535).astype(np.uint16)

outimage = Image.fromarray(im2)
outimage.save(save_path)

https://imgur.com/a/wbM4gWU

推荐答案

我怀疑你的np.uint8种类型已经泛滥了,所以建议你在扩展之前先推广它们,包括:

r = rgb_data[..., 0].astype(np.float32)
g = rgb_data[..., 1].astype(np.float32)
b = rgb_data[..., 2].astype(np.float32)

Python相关问答推荐

从管道将Python应用程序部署到Azure Web应用程序,不包括需求包

剧作家Python没有得到回应

将HTML输出转换为表格中的问题

如何在msgraph.GraphServiceClient上进行身份验证?

什么相当于pytorch中的numpy累积ufunc

优化pytorch函数以消除for循环

如何在Django基于类的视图中有效地使用UTE和RST HTIP方法?

部分视图的DataFrame

给定高度约束的旋转角解析求解

当点击tkinter菜单而不是菜单选项时,如何执行命令?

python中的解释会在后台调用函数吗?

如果初始groupby找不到满足掩码条件的第一行,我如何更改groupby列,以找到它?

Geopandas未返回正确的缓冲区(单位:米)

如何使用OpenGL使球体遵循Python中的八样路径?

用两个字符串构建回文

提取最内层嵌套链接

为什么dict. items()可以快速查找?

启动线程时,Python键盘模块冻结/不工作

我如何处理超类和子类的情况

如何在表单中添加管理员风格的输入(PDF)