【发布时间】:2017-10-30 16:10:56
【问题描述】:
我有一个代表图像的 numpy.ndarray,我想给它添加随机噪声。我已经做了一些测试,到目前为止我最快的解决方案是:
def RandomNoise(x):
x += np.random.random(x.shape)
但是当我有大图像/数组时,这个解决方案仍然太慢了。最快的方法是什么?
【问题讨论】:
-
如果
x是图像,那么我假设它都是整数(如RGB 输出)?np.random.random返回一个浮点数,因此您的开销可能会花在将所有内容转换为浮点数上。 -
不会比这更快了。您需要
prod(x.shape)很多随机数,而np.random.rand是这里最快的。对于将一个数组添加到另一个数组,没有什么比+更好的了。让我补充一点,如果这是您的应用程序的瓶颈,我会感到惊讶。 -
感谢 cmets,但就我而言,我必须使用 float :-(
标签: python numpy numpy-random