Opencv 提取奇数行并将其另存为新矩阵
我现在正在使用eigen库,试图找到一种方法将矩阵的奇数行提取到一个新矩阵中。 我目前正在使用Opencv 提取奇数行并将其另存为新矩阵,opencv,matrix,eigen,mat,stride,Opencv,Matrix,Eigen,Mat,Stride,我现在正在使用eigen库,试图找到一种方法将矩阵的奇数行提取到一个新矩阵中。 我目前正在使用 Map<MatrixXf,0,OuterStride<>>dst(eigen_src.data(), eigen_src.rows(), eigen_src.cols() / 2, OuterStride<>(eigen_src.outerStride() * 2)) Mapdst(eigen_src.data(),eigen_src.rows(),eigen_s
Map<MatrixXf,0,OuterStride<>>dst(eigen_src.data(), eigen_src.rows(), eigen_src.cols() / 2, OuterStride<>(eigen_src.outerStride() * 2))
Mapdst(eigen_src.data(),eigen_src.rows(),eigen_src.cols()/2,外部列(eigen_src.OuterStride()*2))
提取偶数行。但我不认为上面的方法也适用于奇数行。还是这样
有人知道我如何从矩阵中提取第1、3、5、…(奇数)行,并将它们作为新矩阵使用吗
感谢您记录在案,有了Eigen(又名devel分支机构)的负责人,您只需执行以下操作:
using namespace Eigen::placeholders;
MatrixXf even = A(seq(0,last,fix<2>),all);
MatrixXf odd = A(seq(1,last,fix<2>),all);
使用名称空间特征::占位符;
MatrixXf偶数=A(seq(0,最后一个,固定),全部);
MatrixXf奇数=A(顺序(1,最后一个,固定),全部);
好的,我想我找到了答案。下面的代码可以工作:'Map odd_col(src.data(),src.rows(),src.cols()/2,OuterStride(src.OuterStride()*2));映射偶数列(src.data()+src.rows(),src.rows(),src.cols()/2,OuterStride(src.OuterStride()*2));'想法应该是使用相同的步幅(输入的两倍步幅),但以1行的偏移开始。