问题描述
如何将 Eigen 矩阵中存储的二维图像顺时针旋转 90 度?
我的代码:
Eigen::Matrix<int,n,n> m;
Eigen::Rotation2D rot(90);
auto m1 = m * rot.derived();
error: static_assert Failed due to requirement 'ProductIsValid || SameSizes' "INVALID_MATRIX_PRODUCT"
解决方法
旋转逆时针,
Eigen::Matrix<int,n,n> m_rotated_ninty_ccwise = m.transpose().colwise().reverse();
旋转顺时针,
Eigen::Matrix<int,n> m_rotated_ninty_cwise = m.reverse().transpose().reverse();