投影矩阵如何成为长度为8的向量?

问题描述 投票:2回答:1

正常投影矩阵的大小为3 * 3,并具有9个值。但是tensorflow transform需要一个尺寸为8的向量因此,我不知道如何将矩阵转换为该向量。

示例-我有一个进行旋转和平移的矩阵:

    top_row = [np.cos(rot_value), - np.sin(rot_value), trans_x]
    middle_row = [np.sin(rot_value), np.cos(rot_value), trans_y]
    last_row = [0, 0, 1]
    trans_matrix = np.stack((top_row, middle_row, last_row))

如何在具有8维的向量中转换此矩阵,以便可以使用张量流转换?

python numpy tensorflow transformation
1个回答
1
投票

由于投影矩阵具有全局比例模糊度,因此可以乘以一个常数因子。投影变换具有八个自由度,而不是九个自由度,消除此冗余的通常约定是将右下角设为1。]

根据您的情况,您应该可以使用top_row + middle_row + [0, 0]

更一般而言:

(trans_matrix/trans_matrix[2,2]).flat[:8]
© www.soinside.com 2019 - 2024. All rights reserved.