我有一个带浮动的ndarray,我想要保存。我想将值保持为浮点数。我发现接受保存浮点数据的唯一格式是tiff。但是不显示实际图像。
from Image import *
from numpy import *
img = random.random((300, 300)) #float numbers, i have actual data in my image though
img = fromarray(img)
img.save('test.tiff')
答案 0 :(得分:8)
您的示例 保存浮点TIFF文件。我通过检查TIFF标头确认,注意每个像素的样本标签0x153的值为3(浮点数据)。使用您的示例:
import Image
from numpy import *
data = random.random((2, 2))
img1 = Image.fromarray(data)
img1.save('test.tiff')
img2 = Image.open('test.tiff')
f1 = list(img1.getdata())
f2 = list(img2.getdata())
print f1 == f2
print f1
输出:
True
[0.27724304795265198, 0.12728925049304962, 0.4138914942741394, 0.57919681072235107]
Details on the TIFF6 file format
已更新:在Mac桌面上查看的示例64x64图像:
答案 1 :(得分:2)
ImageJ打开浮动Tiff图像。