Matlab 到 OpenCv 的常見函式轉換

2021-06-14 22:43:30 字數 1486 閱讀 2705

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)。 

學習筆記 從MATLAB到OpenCV

2.用到的一些函式 最近需要將matlab中的 轉為c 主要依靠opencv3.1.0庫實現,於是在此記錄用到的一些操作,主要包括mat和一些函式的使用方法,希望可以方便後邊回顧。與matlab中變數聯絡最為緊密的就是opencv中的mat型變數了,該變數是 影象的容器 亦可視為矩陣對待。using...

Matlab與OpenCV對應函式

1 matlab中的imread相當於opencv中的cvloadimage imagename,cv load iamge anydepth cv load image anycolor 讀出的影象資訊保持了原有影象的資訊 包括通道資訊和位深資訊 rgb2gray相當於cvloadimage im...

OpenCV與matlab部分函式的對應關係

1 matlab中的imread相當於opencv中的imread imagefilename,cv load iamge anydepth cv load image anycolor 讀出的影象資訊保持了原有影象的資訊 包括通道資訊和位深資訊 rgb2gray相當於imread imagenam...