Python循环对于numpyndarray来说太慢了

我有一个图像作为矩阵 ( ndarray) 的形状 (720, 1280, 3) 与 RGB 像素(变量:)original和另一个ndarray形状(720, 1280)由布尔值(变量:)组成im

对于I want 中的每个True值,对应像素的颜色为 [0, 0, 255]。imoriginal

我试过(两个阵列都被压平了)

for i in range(im.size):
  if(im[i] == True):
    original[i] = [0, 0, 255]

但将其作为视频输出太慢了。

有什么想法可以加快速度吗?

回答

这与执行相同(无需展平数组):

original[im == True] = [0, 0, 255]

那是 for 循环的矢量化表示。

  • Or just `original[im] = [0,0,255]`.

以上是Python循环对于numpyndarray来说太慢了的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>