Я пытаюсь сделать транспонировать от одного MatrixX*
в другое (не квадратичное, но с правильными размерами). Однако лучшее, что я смог найти, это функция Transpose<Derived> ::transpose()
.Транспонирование не квадратичной матрицы в другую
Есть ли даже вызов, который помещает результат в уже выделенную матрицу вместо выделения нового?
EDIT:
На самом деле я использую 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()
запускает в Assert Derived& DenseBase<Derived> ::lazyAssign(const DenseBase<OtherDerived>& other)
.
http://forum.kde.org/viewtopic.php?f=74&t=88932 Посмотрите эту тему, возможно, это поможет с этим утверждать. Я никогда не сталкивался с этой проблемой ... – acrilige