Python: 浮点图像 / 替代matlab的im2double?
我正在把一些Matlab代码转换成Python,但遇到了im2double
这个函数的问题。这个函数的作用是把一张图片转换成一个矩阵,矩阵里的像素值用双精度浮点数表示,而不是整数。
目前我在用PIL处理我的图片。它有一个convert
方法,可以接受'F'
作为参数,但它做的只是把整数值255
转换成255.0
。对我来说,这没什么用。
我遇到的问题是,我在处理图片后需要保存它们。我可以把我的值归一化到0到255的范围,但这样会损失一些精度。虽然这个损失通常不大,但在这里却很重要。
我尝试使用'tiff'文件格式,但效果不太好。虽然我可以读写这个格式,但得到的结果并不正确,而我目前只能通过把像素值转换成255来得到正确的结果,这样又会损失精度。之前我还试过在网上找到的一个'SPIDER'
文件格式,PIL是支持的,但我无法在编辑器中打开这个图片来检查效果。