【发布时间】:2018-10-10 06:23:51
【问题描述】:
我正在尝试以以下格式提取 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 秒。我需要它比那个少。
谢谢!
【问题讨论】:
-
..
a[...,None]? -
@Divakar 哇,这真的很完美!你能简单地向我解释一下为什么会这样吗?
-
stackoverflow.com/a/40383002 和下面的 cmets。
标签: python arrays performance numpy opencv