【发布时间】:2018-08-02 05:18:40
【问题描述】:
我是 Python 的初学者,正在尝试实现计算机视觉算法。我必须多次将图像读取为二维数组进行迭代,并且我想避免使用 for 循环。
例如,我想将相机矩阵 P(3x4 维度)与坐标矩阵的每一行相乘,其中每一行的维度为 1x4。我当然会转置行向量以进行矩阵乘法。这是我使用 for 循环实现它的方法。我初始化一个空数组。相机是一个对象实例。所以我遍历对象以找到相机的总数。计数器给了我相机的总数。然后我通读矩阵 v_h 的每一行并执行乘法。我想在 python 中不使用 for 循环来完成以下任务。我相信这是可能的,但我不知道该怎么做。对于以千计的点数,使用 for 循环变得非常低效。我知道我的代码效率很低,如果有任何帮助,我将不胜感激。
for c in cameras:
counter=counter+1
for c in cameras:
v_to_s=np.zeros((v_h.shape[0],c.P.shape[0],counter),dtype=float)
for i in range(0,v_h.shape[0]):
v_to_s[i,:,cam_count]=np.dot(c.P,v_h[i,:].T)
【问题讨论】:
标签: arrays python-2.7 for-loop