- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试从 this 运行 ICP 算法 header 。第 260 行的函数声明为
template <typename Derived1, typename Derived2>
void point_to_point(Eigen::MatrixBase<Derived1>& X,
Eigen::MatrixBase<Derived2>& Y,
Parameters par = Parameters()) {
我想在我的两个 pcl::PointCloud
上应用这个算法s 但它接受 Eigen::MatrixBase
.我试着按如下方式调用这个函数
Eigen::MatrixBase<Eigen::Matrix<double,3,1,Eigen::RowMajor,3,100>> X;
Eigen::MatrixBase<Eigen::Matrix<double,3,1,Eigen::RowMajor,3,100>> Y;
Parameters par = Parameters()
point_to_point(X,Y,Parameters)
它给了我这个错误
error: ‘Eigen::MatrixBase<Derived>::MatrixBase() [with Derived = Eigen::Matrix<double, 3, 1, 1, 3, 100>]’ is protected
MatrixBase() : Base() {}
我也试过Eigen::MatrixBase<Eigen::Matrix4f> X;
但是每种类型似乎都受到保护。具体是什么意思?
我搜索了很多但没有找到 MatrixBase
的任何例子.
Eigen::MatrixBase
中插入/删除值- 没有找到任何这样的功能 here ?pcl::PointCloud
至 Eigen::MatrixBase
并反转?最佳答案
您可以使用 for 循环构造矩阵。例如
Eigen::Matrix3Xd X, Y;
for (size_t idx = 0; idx != pc_X->size(); ++idx) {
X.col(idx) = Eigen::Vector3d{pc_X->at(idx).x,
pc_X->at(idx).y,
pc_X->at(idx).z};
}
for (size_t idx = 0; idx != pc_Y->size(); ++idx) {
Y.col(idx) = Eigen::Vector3d{pc_Y->at(idx).x, pc_Y->at(idx).y, pc_Y->at(idx).z};
}
关于c++ - 将 pcl::PointCloud 转换为 Eigen::MatrixBase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28129537/
我有一个函数,我有几个模板化重载。我要为其添加 Eigen 过载。我想要通用的,例如能够接受任何 Eigen 矩阵。因此我使用 Eigen::MatrixBase .问题与重载有关,编译器无法识别与
假设我有一些函数可以接受模板类型的可选参数。 template void foo(Scalar *out = NULL) { std::cout 假设现在我有真实世界的 Eigen 示例 t
有一个 Eigen::MatrixBase 和数据,有没有办法知道它是浮点矩阵还是 double 矩阵?我需要创建一个与 MatrixBase 具有相同大小和类型的新复矩阵。 如果是 MatrixXf
我正在编写模板函数,它应该需要一些 Eigen::MatrixBase作为输入,执行一些计算,然后返回新的特征值。我想以与输入相同的存储顺序返回值。 但我不知道如何从 Eigen::MatrixBas
大家好:), 我试图使用 Eigen3 的一个不受支持的功能来获取矩阵 (MatrixBase::sqrt()) 中每个元素的平方根。但是,每次我使用前面提到的函数时,Visual Studio 都会
当您将矩阵对象作为 MatrixBase 引用传递给函数时会发生什么?我不明白幕后到底发生了什么。 示例函数代码如下: #include #include using namspace Eigen
我需要访问包含 MatrixBase Eigen 矩阵数据的数组。 Eigen 库有 data() 方法,它返回一个指向数组的指针,但是它只能从矩阵访问 type . MatrixBase没有类似的方
我正在尝试从 this 运行 ICP 算法 header 。第 260 行的函数声明为 template void point_to_point(Eigen::MatrixBase& X,
我正在制作基类和派生类。派生类的值将为 Eigen::Matrix , 并继承了 Base 的所有方法。 我这样做是为了使无论矩阵类型如何都相同的方法不会因为 Matrix 的不同模板参数而全部重复。
每当我尝试为 Eigen 创建模板函数时,我都会遇到类似这样的错误: error C2039: 'Options' : 不是 'Eigen::MatrixBase' 的成员 此错误来自以下函数 tem
我想创建一个模板,将特征矩阵作为输入,并在其主体中包含 Cholesky 分解(特征中的 LLT;请参阅 doc)。 template double function_with_llt(const
#include #include #include #include #include #include #include using namespace Eigen; using n
我是一名优秀的程序员,十分优秀!