MCPcopy Create free account
hub / github.com/creatale/node-dv / icvWriteMatND

Function icvWriteMatND

deps/opencv/modules/core/src/persistence.cpp:3624–3654  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3622
3623
3624static void
3625icvWriteMatND( CvFileStorage* fs, const char* name,
3626 const void* struct_ptr, CvAttrList /*attr*/ )
3627{
3628 CvMatND* mat = (CvMatND*)struct_ptr;
3629 CvMatND stub;
3630 CvNArrayIterator iterator;
3631 int dims, sizes[CV_MAX_DIM];
3632 char dt[16];
3633
3634 assert( CV_IS_MATND_HDR(mat) );
3635
3636 cvStartWriteStruct( fs, name, CV_NODE_MAP, CV_TYPE_NAME_MATND );
3637 dims = cvGetDims( mat, sizes );
3638 cvStartWriteStruct( fs, "sizes", CV_NODE_SEQ + CV_NODE_FLOW );
3639 cvWriteRawData( fs, sizes, dims, "i" );
3640 cvEndWriteStruct( fs );
3641 cvWriteString( fs, "dt", icvEncodeFormat( cvGetElemType(mat), dt ), 0 );
3642 cvStartWriteStruct( fs, "data", CV_NODE_SEQ + CV_NODE_FLOW );
3643
3644 if( mat->dim[0].size > 0 && mat->data.ptr )
3645 {
3646 cvInitNArrayIterator( 1, (CvArr**)&mat, 0, &stub, &iterator );
3647
3648 do
3649 cvWriteRawData( fs, iterator.ptr[0], iterator.size.width, dt );
3650 while( cvNextNArraySlice( &iterator ));
3651 }
3652 cvEndWriteStruct( fs );
3653 cvEndWriteStruct( fs );
3654}
3655
3656
3657static void*

Callers

nothing calls this directly

Calls 9

cvStartWriteStructFunction · 0.85
cvGetDimsFunction · 0.85
cvWriteRawDataFunction · 0.85
cvEndWriteStructFunction · 0.85
cvWriteStringFunction · 0.85
icvEncodeFormatFunction · 0.85
cvGetElemTypeFunction · 0.85
cvInitNArrayIteratorFunction · 0.85
cvNextNArraySliceFunction · 0.85

Tested by

no test coverage detected