OpenCV基礎知識 多維矩陣

2021-04-19 08:10:34 字數 1869 閱讀 2420

多維矩陣的結構分析:

例子:#include "cv.h"

#include "highgui.h"

#include 

#include 

#include 

void main()

;cvma*** *mynd=cvcreatema***(3,size,cv_8sc1);

printf("1 size=%d    step=%d/n",mynd->dim[0]);

printf("2 size=%d    step=%d/n",mynd->dim[1]);

printf("3 size=%d    step=%d/n",mynd->dim[2]);

}結果:

1      size=2    step=12

2      size=3    step=4

3      size=4    step=1

經過opencv源**分析:

(1)在cvcreatema***函式中先後又呼叫了cvcreatema***header和cvcreatedata函式。

原始碼:cv_impl cvma****

cvcreatema***( int dims, const

int* sizes, int type )

(2)在cvcreatema***header中,首先為cvma***結構體分配了記憶體,然後接著呼叫了cvinitma***header函式。

原始碼:cv_impl cvma****

cvcreatema***header( int dims, const

int* sizes, int type )

(3)在cvinitma***header中,其初始化了結構體cvma***的各個成員變數。

原始碼:cv_impl cvma****

cvinitma***header( cvma**** mat, int dims, const

int* sizes,

int type, void* data )

mat->type = cv_ma***_magic_val | (step <= int_max ? cv_mat_cont_flag : 0) | type;

mat->dims = dims;

mat->data.ptr = (uchar*)data;

mat->refcount = 0;

mat->hdr_refcount = 0;

result = mat;

__end__;

if( cvgeterrstatus() < 0 && mat )

return result;

}(4)cvcratedata原始碼如下所示

原始碼:cv_impl void

cvcreatedata( cvarr* arr )

else

if( cv_is_image_hdr(arr))

else

cvipl.allocatedata( img, 0, 0 );

img->width = width;

img->depth = depth;}}

else

if( cv_is_ma***_hdr( arr ))

else

}cv_call( mat->refcount = (int*)cvalloc( total_size +

sizeof(int) + cv_malloc_align ));

mat->data.ptr = (uchar*)cvalignptr( mat->refcount + 1, cv_malloc_align );

*mat->refcount = 1;

}else

__end__;

}

OpenCV基礎知識

opencv 使用 bsd 許可證,因此對研究和商業用途均免費.opencv是乙個具有實時計算機視覺功能的程式設計庫,它可以免費用於學術和商業用途 bsd許可證 opencv庫的介紹,包括其主要模組和與庫相關的其他有用資訊。為什麼在研究工作中引用opencv 如果您在研究中使用opencv,建議您引...

矩陣基礎知識

本章介紹矩陣的概念 矩陣的基本運算 可逆矩陣分塊矩陣的概念及其運算.矩陣是乙個數表,它的行數和列數可以不相等.行列式是乙個算式,它的行數和列數必須相等.當a為n階方陣時,稱det a 或 a 為方陣a 生成的 a為非奇異矩陣.行列式.當det a 0時,稱a為奇異矩陣 當det a 0時,稱a為非奇...

矩陣的基礎知識

乘法結合律 ab c a bc 乘法左分配律 a b c ac bc 乘法右分配律 c a b ca cb 對數乘的結合性k ab ka b a kb 轉置 ab t btat 矩陣乘法一般不滿 換律 除了有些特殊的方陣之間的乘法 滿足乘法交換律的方陣稱為可交換矩陣,即矩陣a,b滿足 a b b a...