aihot  2017-06-03 08:41:59  OpenCV |   查看评论   

 方法是类似的(下面的例子都是针对 0 起点的列和行)

 
设有 32-bit 浮点数的实数矩阵 M (CvMat* mat):
 
----------------------------------------------------------------------------
 
M(i,j) ~ ((float*)(mat->data.ptr + mat->step*i))[j]
 
----------------------------------------------------------------------------
 
设有 64-bit 浮点数的复数矩阵 M (CvMat* mat):
 
----------------------------------------------------------------------------
 
Re M(i,j) ~ ((double*)(mat->data.ptr + mat->step*i))[j*2]
 
Im M(i,j) ~ ((double*)(mat->data.ptr + mat->step*i))[j*2+1]
 
----------------------------------------------------------------------------
 
对单通道矩阵,有宏 CV_MAT_ELEM( matrix, elemtype, row, col ), 例如对 32-bit
 
 浮点数的实数矩阵:
 
M(i,j) ~ CV_MAT_ELEM( mat, float, i, j ),
 
例如,这儿是一个 3x3 单位矩阵的初始化:
 
CV_MAT_ELEM( mat, float, 0, 0 ) = 1.f;
 
CV_MAT_ELEM( mat, float, 0, 1 ) = 0.f;
 
CV_MAT_ELEM( mat, float, 0, 2 ) = 0.f;
 
CV_MAT_ELEM( mat, float, 1, 0 ) = 0.f;
 
CV_MAT_ELEM( mat, float, 1, 1 ) = 1.f;
 
CV_MAT_ELEM( mat, float, 1, 2 ) = 0.f;
 
CV_MAT_ELEM( mat, float, 2, 0 ) = 0.f;
 
CV_MAT_ELEM( mat, float, 2, 1 ) = 0.f;
 
CV_MAT_ELEM( mat, float, 2, 2 ) = 1.f;
 

除特别注明外,本站所有文章均为 赢咖4注册 原创,转载请注明出处来自六、如何访问矩阵元素?(OpenCV学习笔记)

留言与评论(共有 0 条评论)
   
验证码:
[lianlun]1[/lianlun]