我有一个非常基本的问题。
下面的Matlab代码采用具有相同维度(matrix1, matrix2)
的2个矩阵,并生成一个新矩阵result_matrix
,在每个索引(i,j)
中,它包含sqrt(matrix1[i][j] ^ 2 + matrix2[i][j] ^ 2)
。< / p>
如何将这个简单的Matlab代码转换为C ++中的OpenCV,这样才能最简单,清晰,高效?
result_matrix = sqrt(matrix1 .^ 2 + matrix2 .^ 2);
答案 0 :(得分:3)
对于此特定操作:
result_matrix = sqrt(matrix1 .^ 2 + matrix2 .^ 2);
您可以使用magnitude:
Mat m1 = ...
Mat m2 = ...
Mat m3;
magnitude(m1, m2, m3);
这比@mirosval代码快3-4倍。
答案 1 :(得分:1)