Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opencv 提取奇数行并将其另存为新矩阵_Opencv_Matrix_Eigen_Mat_Stride - Fatal编程技术网

Opencv 提取奇数行并将其另存为新矩阵

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

我现在正在使用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_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行的偏移开始。