我有一个函数,它将numpy ndarray中表示的图像作为参数。 此nArray包含一个列表x列表x列表项(行x像素x像素),需要以常规列表格式转换为列表x列表x元组(因此不再是ndarray)。在
因此,例如,这个变量的内容可能看起来像
[[[0,0,0],[1,0,1],[2,4,5]],[[3,4,5],[1,7,4],[1,3,5]],[[2,4,2],[1,6,7],[1,9,0]]]
并应转化为:
^{pr2}$下面的(cython)代码段确实做到了这一点,但是完成1024x768的图像需要大约800毫秒。在
import numpy as np
cimport numpy as np
DTYPE = np.int
ctypedef np.int_t DTYPE_t
def convertToBackdrop(np.ndarray arr3d):
agc = arr3d.swapaxes(0,1).tolist()
agc = [map(tuple,line) for line in agc]
return agc
我的问题是:我可以用什么方法使这段代码更高效(时间)?我已经搜索了列表中是否有cdef,但没有找到任何线索。我希望我没有要求不可能的,如果我想得到它在100毫秒完成时间。提前谢谢你的建议。在
目前没有回答
相关问题 更多 >
编程相关推荐