あるものから別のものに転置しようとMatrixX*
します(二次ではなく、正しい次元で)。しかし、私が見つけることができる最高のものはTranspose< Derived > ::transpose()
機能です。
新しいものを割り当てる代わりに、既に割り当てられているマトリックスに結果を入れる呼び出しさえありますか?
編集:
実際、私はEigen::Map
マトリックスの上で使用していました。
typedef Eigen::Matrix<std::uint8_t, Eigen::Dynamic, Eigen::Dynamic> matrix_type;
typedef Eigen::Map<matrix_type> map_type;
const map_type src ( src_ptr , width , height );
map_type dest( dest_ptr, height, width );
map.transposeInPlace();
を使用transposeInPlace()
すると、 でアサートがトリガーされDerived& DenseBase<Derived>
::lazyAssign(const DenseBase<OtherDerived>& other)
ます。