python - 将映射数组应用于 numpy 数组中的所有元素的快速方法?

标签 python performance numpy

现在,我的代码基本上如下所示:

for x in range(img.shape[0]):
    for y in range(image.shape[1]):
        output[x,y] = map[ input[x,y] ]

其中outputinputmap都是numpy数组(map的大小为256,都是uint8类型)。

这可行,但速度很慢。像这样的循环应该在 C 中。这就是 numpy 的用途。

是否有一个 numpy 函数(或 cv2 函数,无论如何我已经导入它)可以做到这一点?

最佳答案

怎么样?

output = map[input]

关于python - 将映射数组应用于 numpy 数组中的所有元素的快速方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53546624/

相关文章:

python - 如何向量化这个?

Julia 的numpy.einsum? (2)

python - 如何使用 matplotlib 绘制 Kmeans 文本聚类结果?

Python- Pandas 按列值的升序减去列值

Python ssl/https requests.get 调用失败

python - 我的 python Monty Hall 模拟有什么问题吗?

performance - 并行版本比golang中的串行版本慢得多

javascript - 在 Typed.js 中的字符串前面获取退格键

iphone - 可以将我的应用程序限制为 iPhone 3GS/iPhone 4 吗?

python - 广播/迭代字典值的有效方法