在Matlab
中,如果我想要同时选择Mat
和的某些指定列,将它们复制到另一个Mat
,我会写一个代码像这样:
mm = nn(:,[1 3]);
在OpenCV中如何做到这一点?
答案 0 :(得分:3)
在一般情况下,没有OpenCV函数可以执行此操作。
如果所选列是连续的,则可以使用接受两个Mat
的{{1}}构造函数:
Range
和Mat mm = nn(Range::all(), Range(1, 4)).clone(); // range end is exclusive
将包含mm
的第1,2,3列。
在一般情况下,您应该将每列复制到正确的位置。实际上没有办法“同时”,但在函数nn
之外,你会同时获得“行为。< / p>
selectColumns
请记住,在C ++中,索引是从0开始的,而在Matlab中,索引是从1开始的。