1

我正在开发一个 python 程序来显示星星的图像。图像是 16 位灰度 tiff。如果我尝试在外部程序中显示它们,例如 ImageMagick,它们是正确的,但如果我在 python 中加载它们,然后使用“show()”或在 Tkinter 的画布中实现它们,除非有几个像素,否则它们是完全白色的。所以我估计python将255以上的每个像素都设置为白色,但我不知道为什么。如果我加载图像然后再次将其保存为 tiff,ImageMagick 可以正确显示它。感谢帮助。

4

1 回答 1

0

尝试将图像转换为 numpy 数组并显示:

import Image
import matplotlib.pyplot as plt
import numpy as np

img = Image.open('image.tiff')
arr = np.asarray(img.getdata()).reshape(img.size[1], img.size[0])
plt.imshow(arr)
plt.show()

您也可以更改颜色映射:

from matplotlib import cm
plt.imshow(arr, cmap=cm.gray)
于 2013-10-03T09:28:06.550 回答