【发布时间】:2018-10-26 08:45:26
【问题描述】:
我想将具有np.float 类型的正 和负 值的numpy 矩阵转换为像素来自[0,255] 的灰度图像。我想尽快做到这一点。
现在我正在做以下事情:
import numpy as np
n = 1000
I = np.random.randn(n,n)
I_min = np.min(I)
I = I + np.abs(I_min)
I_max = np.max(I)
I = 255 * (I / I_max)
I = I.astype(np.uint8)
我希望这是正确的!?有没有更快的方法来做到这一点?有什么可以改进的?
【问题讨论】:
-
当 I_min 为正时,您的代码不起作用。我认为
I = I + np.abs(I_min)应该是I = I - I_min。 -
您想乘以 255.999 而不是 255,否则 255 在输出中的代表性不足。