Matlab程序 轉C++/Opencv基於Mat 不可不知的17個函數

1、matlab中的imread相當於OpenCV中的cvLoadImage(imageName,  CV_LOAD_IAMGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR):讀出的圖像信息保持了原有圖像的信息(包括通道信息和位深信息);

rgb2gray相當於cvLoadImage(imageName, CV_LOAD_IMAGE_GRAYSCALE):單通道灰度圖;

或用cvCreateImage、cvCvtColor兩函數實現圖像的灰度化。

 

2、matlab中的zeros函數相當於OpenCV中的cvSetZero函數。

 

3、matlab中的兩矩陣點乘 .* 相當於OpenCV中的cvMul函數。

 

4、matlab中的兩矩陣點除 ./ 相當於OpenCV中的cvDiv函數。

 

5、matlab中的兩矩陣相加 + 相當於OpenCV中的cvAdd函數。

 

6、matlab中的兩矩陣相減 - 相當於OpenCV中的cvSub函數。

 

7、matlab中的矩陣和一個常量相加 A + a 相當於OpenCV中的cvAddS函數 cvAdds(matA, cvScalar(a), matB)。

 

8、matlab中的矩陣和一個常量相減 A - a 相當於OpenCV中的cvSubS函數 cvSubS(matA, cvScalar(a), matB)。

 

9、matlab中的給矩陣賦一初值 A(:, :) = a 相當於OpenCV中的cvSet函數 cvSet(matA, cvScalar(a))。

 

10、matlab中取矩陣某一部分賦給另一矩陣 A = B(i : j, m : n) 相當於OpenCV中的cvGetSubRect 函數,cvGetSubRect(mat1, mat2, rect)。

 

11、matlab中取矩陣最大值、最小值 max(max(A))、min(min(A)) 相當於OpenCV中的cvMinMaxLoc函數 cvMinMaxLoc(A, minloc, maxloc)。

 

12、matlab中兩矩陣相乘 A * B 相當於OpenCV中的cvMatMul函數,cvMatMul(A, B, C)。

 

13、matlab中計算兩個三維向量的叉積 C = cross(A, B) 相當於OpenCV中的cvCrossProduct函數,cvCrossProduct(A, B, C)。

 

14、matlab中計算向量的範數 c = norm(A) 相當於OpenCV中的cvNorm函數,c = cvNorm(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)。

17、matlab中的求矩陣的逆inv函數 A = inv(B) 相當於OpenCV中的cvInvert函數:cvInvert(B,A)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章