【问题标题】:extract odd number rows and save them as a new matrix提取奇数行并将它们保存为新矩阵
【发布时间】:2018-09-07 05:24:22
【问题描述】:

我现在正在使用 eigen 库,并试图找到一种方法将矩阵的奇数行提取到新矩阵中。 我目前正在使用

Map<MatrixXf,0,OuterStride<>>dst(eigen_src.data(), eigen_src.rows(), eigen_src.cols() / 2, OuterStride<>(eigen_src.outerStride() * 2))

提取偶数行。但我不认为上面的方式也适用于奇数行。还是这样?

有谁知道我如何从矩阵中提取第 1、3、5、...(奇数)行并将它们与新矩阵相同?

谢谢

【问题讨论】:

  • 好的,我想我找到了答案。以下代码有效:'Map > odd_col(src.data(), src.rows(), src.cols() / 2, OuterStride(src.outerStride() * 2) ); Map > even_col(src.data() + src.rows(), src.rows(), src.cols() / 2, OuterStride(src.outerStride() * 2) );'
  • 这个想法应该是使用相同的步幅(输入的两倍步幅),但从 1 行的偏移量开始。

标签: opencv matrix eigen mat stride


【解决方案1】:

作为记录,对于 Eigen(又名 devel 分支)的负责人,您可以简单地执行以下操作:

using namespace Eigen::placeholders;
MatrixXf even = A(seq(0,last,fix<2>),all);
MatrixXf odd  = A(seq(1,last,fix<2>),all);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-10
    • 1970-01-01
    • 1970-01-01
    • 2015-10-18
    • 2019-07-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多