【发布时间】:2015-09-18 20:32:11
【问题描述】:
例如我们在 Matlab 中使用rdivide 来表达:
B = bsxfun(@rdivide, A, A(4,:));
我们如何为opencv编写等价表达式?
Opencv 有divide 功能,但似乎不能用于不同维度的矩阵:
Mat t1= Mat::ones(2,3,CV_64FC1);
Mat t2= Mat::ones(1,3,CV_64FC1);
Mat dst;
divide(t1,t2,dst);
这不起作用,因此我们需要将一行复制到矩阵以匹配 t1 的维度或在循环中使用除以 1 行。
我对 opencv 的解决方案(A modified inplace):
for(int i=0;i<A.rows;++i)
{
divide(A.row(i),A.row(3),A.row(i));
}
有没有更简单的方法?
【问题讨论】:
-
openCV 代码是否产生相同的结果?一旦达到 i=3,它就会被修改,并且所有其他行都被该行划分。至少如果我正确阅读了您的代码(从未使用过 OpenCV)
-
@Daniel 3 是最后一行。