正常投影矩阵的大小为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维的向量中转换此矩阵,以便可以使用张量流转换?
由于投影矩阵具有全局比例模糊度,因此可以乘以一个常数因子。投影变换具有八个自由度,而不是九个自由度,消除此冗余的通常约定是将右下角设为1。]
根据您的情况,您应该可以使用top_row + middle_row + [0, 0]
更一般而言:
(trans_matrix/trans_matrix[2,2]).flat[:8]