使用OpenCV和NumPy提高阵列提取速度

时间:2018-04-30 07:20:44

标签: python arrays performance numpy opencv

我试图以下列格式提取RGBA矩阵的alpha通道:

[                      [
 [                      [
  [1, 2, 3, 4],   to     [4],
  [5, 6, 7, 8]   ====>   [8]
 ]                      ]
]                      ]

我想知道我目前的代码是否可以在速度方面得到改进:

import numpy
import cv2

image = np.full((10, 10, 4), 0, numpy.uint8)

r, g, b, a = cv2.split(image)

rgb = cv2.merge((r, g, b))
alpha = np.array([np.vstack(e).tolist() for e in a])  # Can this be faster?

对于大矩阵,最后一行最多可能需要0.1秒才能执行。我需要它不到那个。

谢谢!

1 个答案:

答案 0 :(得分:0)

重新塑造它!

localstorage

通过简单的元数据更改,这应该会产生相同的效果。