OpenCV与matlab部分函数的对应关系

1、matlab中的imread相当于OpenCV中的imread(imageFileName,  CV_LOAD_IAMGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR):读出的图像信息保持了原有图像的信息(包括通道信息和位深信息);

RGB2GRAY相当于imread (imageName, CV_LOAD_IMAGE_GRAYSCALE):单通道灰度图;

或用Mat::create、cvtColor();两函数实现图像的灰度化。

2、matlab中的zeros函数相当于OpenCV中的Mat::zeros()函数。

3、matlab中的两矩阵点乘 .* 相当于OpenCV中的multiply或Mat::mul()函数。

4、matlab中的两矩阵点除 ./ 相当于OpenCV中的divide函数。

5、matlab中的两矩阵相加 + 相当于OpenCV中的add函数。

6、matlab中的两矩阵相减 - 相当于OpenCV中的subtract函数。

7、matlab中的矩阵和一个常量相加 A + a 相当于OpenCV中的addWeighted函数。

8、matlab中的矩阵和一个常量相减 A - a 相当于OpenCV中的addWeighted函数。

9、matlab中的给矩阵赋一初值 A(:, :) = a 相当于OpenCV中的cvSet函数 cvSet(matA, cvScalar(a))或A.setTo(a)。

10、matlab中取矩阵某一部分赋给另一矩阵 A = B(i : j, m : n) 相当于OpenCV中的Rect 函数,也可以用Range函数。

11、matlab中取矩阵最大值、最小值 max(max(A))、min(min(A)) 相当于OpenCV中的minMaxLoc函数。

12、matlab中两矩阵相乘 A * B 相当于OpenCV中的gemm函数。

13、matlab中计算两个三维向量的叉积 C = cross(A, B) 相当于OpenCV中的Mat::cross()函数。

14、matlab中计算向量的范数 c = norm(A) 相当于OpenCV中的norm函数,c = norm(A)。

15、matlab中求二维矩阵的奇异值分解 [u s v] = svd(A, 0) 相当于OpenCV中的cvSVD函数 cvSVD(A, s, u, v)。

16、matlab中两矩阵左除 c = a \ b 相当于OpenCV中的cvInvert、cvMatMul两函数即:cvInvert(a, d); cvMatMul(d, b, c)或divide。

17、matlab中的求矩阵的逆inv函数 A = inv(B) 相当于OpenCV中的invert函数:invert(B,A)。对于Mat类于的矩阵也可以用A = B.inv()。 

18、matlab中的矩阵除以一个数A/a相当于OpenCV中的函数cvConvertScale

19、matlab中的求和函数sum相当于OpenCV中的函数cvSum或sum

20、matlab中将world coordinate中的点矩阵X变到camera coordinate中的变换R*X+T可以用函数cvMatMulAdd实现,但需注意,translation是一个3行N列的矩阵。

21、matlab中矩阵乘一个常数可用cvConvertScale实现或scaleAdd。

你可能感兴趣的:(Opencv)