?? cxcore reference manual.htm
字號(hào):
href="http://www.assuredigit.com/incoming/sourcecode/opencv/chinese_docs/ref/opencvref_cxcore_chinese.htm#decl_cvInitMatHeader">cvInitMatHeader</A>.
也就是說(shuō)他相當(dāng)于: <PRE> CvMat mat;
cvInitMatHeader( &mat, rows, cols, type, data, CV_AUTOSTEP );
</PRE>
<HR>
<H3><A name=decl_cvCloneMat>CloneMat</A></H3>
<P class=Blurb>創(chuàng)建矩陣拷貝</P><PRE>CvMat* cvCloneMat( const CvMat* mat );
</PRE>
<P>
<DL>
<DT>mat
<DD>輸入矩陣. </DD></DL>
<P>函數(shù) <A
href="http://www.assuredigit.com/incoming/sourcecode/opencv/chinese_docs/ref/opencvref_cxcore_chinese.htm#decl_cvCloneMat">cvCloneMat</A>
創(chuàng)建輸入矩陣的一個(gè)拷貝并且返回 該矩陣的指針. </P>
<HR>
<H3><A name=decl_cvCreateMatND>CreateMatND</A></H3>
<P class=Blurb>創(chuàng)建多維密集數(shù)組</P><PRE>CvMatND* cvCreateMatND( int dims, const int* sizes, int type );
</PRE>
<P>
<DL>
<DT>dims
<DD>數(shù)組維數(shù). 但不許超過(guò) CV_MAX_DIM (默認(rèn)=32,但這個(gè)默認(rèn)值可能在編譯時(shí)被改變 )的定義
<DT>sizes
<DD>數(shù)組的維大小.
<DT>type
<DD>數(shù)組元素類型. 與 <A
href="http://www.assuredigit.com/incoming/sourcecode/opencv/chinese_docs/ref/opencvref_cxcore_chinese.htm#decl_CvMat">CvMat</A>相同
</DD></DL>
<P>函數(shù)<A
href="http://www.assuredigit.com/incoming/sourcecode/opencv/chinese_docs/ref/opencvref_cxcore_chinese.htm#decl_cvCreateMatND">cvCreateMatND</A>
分配頭給多維密集數(shù)組并且分配下面的數(shù)據(jù),返回指向被創(chuàng)建數(shù)組的指針 . 是下列的縮減形式:</P><PRE> CvMatND* mat = cvCreateMatNDHeader( dims, sizes, type );
cvCreateData( mat );
</PRE>
<P>矩陣按行存貯. 所有的行以4個(gè)字節(jié)排列。. </P>
<HR>
<H3><A name=decl_cvCreateMatNDHeader>CreateMatNDHeader</A></H3>
<P class=Blurb>創(chuàng)建新的數(shù)組頭</P><PRE>CvMatND* cvCreateMatNDHeader( int dims, const int* sizes, int type );
</PRE>
<P>
<DL>
<DT>dims
<DD>數(shù)組維數(shù).
<DT>sizes
<DD>維大小.
<DT>type
<DD>數(shù)組元素類型. 與 <A
href="http://www.assuredigit.com/incoming/sourcecode/opencv/chinese_docs/ref/opencvref_cxcore_chinese.htm#decl_CvMat">CvMat</A>相同
</DD></DL>
<P>函數(shù)<A
href="http://www.assuredigit.com/incoming/sourcecode/opencv/chinese_docs/ref/opencvref_cxcore_chinese.htm#decl_cvCreateMatND">cvCreateMatND</A>
分配頭給多維密集數(shù)組。數(shù)組數(shù)據(jù)可以用 <A
href="http://www.assuredigit.com/incoming/sourcecode/opencv/chinese_docs/ref/opencvref_cxcore_chinese.htm#decl_cvCreateData">cvCreateData</A>
進(jìn)一步的被分配或利用<A
href="http://www.assuredigit.com/incoming/sourcecode/opencv/chinese_docs/ref/opencvref_cxcore_chinese.htm#decl_cvSetData">cvSetData</A>由用戶明確指定.
</P>
<HR>
<H3><A name=decl_cvReleaseMatND>ReleaseMatND</A></H3>
<P class=Blurb>刪除多維數(shù)組</P><PRE>void cvReleaseMatND( CvMatND** mat );
</PRE>
<P>
<DL>
<DT>mat
<DD>指向數(shù)組的雙指針. </DD></DL>
<P>函數(shù) <A
href="http://www.assuredigit.com/incoming/sourcecode/opencv/chinese_docs/ref/opencvref_cxcore_chinese.htm#decl_cvReleaseMatND">cvReleaseMatND</A>
縮減數(shù)組參考計(jì)數(shù)并釋放數(shù)組頭:</P><PRE> if( *mat )
cvDecRefData( *mat );
cvFree( (void**)mat );
</PRE>
<HR>
<H3><A name=decl_cvInitMatNDHeader>InitMatNDHeader</A></H3>
<P class=Blurb>初始化多維數(shù)組頭</P><PRE>CvMatND* cvInitMatNDHeader( CvMatND* mat, int dims, const int* sizes, int type, void* data=NULL );
</PRE>
<P>
<DL>
<DT>mat
<DD>指向要被出初始化的數(shù)組頭指針.
<DT>dims
<DD>數(shù)組維數(shù).
<DT>sizes
<DD>維大小.
<DT>type
<DD>數(shù)組元素類型. 與 <A
href="http://www.assuredigit.com/incoming/sourcecode/opencv/chinese_docs/ref/opencvref_cxcore_chinese.htm#decl_CvMat">CvMat</A>相同
<DT>data
<DD>可選的分配給矩陣頭的數(shù)據(jù)指針. </DD></DL>
<P>函數(shù) <A
href="http://www.assuredigit.com/incoming/sourcecode/opencv/chinese_docs/ref/opencvref_cxcore_chinese.htm#decl_cvInitMatNDHeader">cvInitMatNDHeader</A>
初始化 用戶指派的<A
href="http://www.assuredigit.com/incoming/sourcecode/opencv/chinese_docs/ref/opencvref_cxcore_chinese.htm#decl_CvMatND">CvMatND</A>
結(jié)構(gòu). </P>
<HR>
<H3><A name=decl_cvCloneMatND>CloneMatND</A></H3>
<P class=Blurb>創(chuàng)建多維數(shù)組的完整拷貝</P><PRE>CvMatND* cvCloneMatND( const CvMatND* mat );
</PRE>
<P>
<DL>
<DT>mat
<DD>輸入數(shù)組 </DD></DL>
<P>函數(shù) <A
href="http://www.assuredigit.com/incoming/sourcecode/opencv/chinese_docs/ref/opencvref_cxcore_chinese.htm#decl_cvCloneMatND">cvCloneMatND</A>
創(chuàng)建輸入數(shù)組的拷貝并返回指針. </P>
<HR>
<H3><A name=decl_cvDecRefData>DecRefData</A></H3>
<P class=Blurb>縮減數(shù)組數(shù)據(jù)的參考計(jì)數(shù)</P><PRE>void cvDecRefData( CvArr* arr );
</PRE>
<P>
<DL>
<DT>arr
<DD>數(shù)組頭. </DD></DL>
<P>函數(shù) <A
href="http://www.assuredigit.com/incoming/sourcecode/opencv/chinese_docs/ref/opencvref_cxcore_chinese.htm#decl_cvDecRefData">cvDecRefData</A>
縮減<A
href="http://www.assuredigit.com/incoming/sourcecode/opencv/chinese_docs/ref/opencvref_cxcore_chinese.htm#decl_CvMat">CvMat</A>
或<A
href="http://www.assuredigit.com/incoming/sourcecode/opencv/chinese_docs/ref/opencvref_cxcore_chinese.htm#decl_CvMatND">CvMatND</A>
數(shù)據(jù)的參考計(jì)數(shù),如參考計(jì)數(shù)指針?lè)荖ULL并且計(jì)數(shù)到0就刪除數(shù)據(jù),在當(dāng)前的執(zhí)行中只有當(dāng)數(shù)據(jù)是用<A
href="http://www.assuredigit.com/incoming/sourcecode/opencv/chinese_docs/ref/opencvref_cxcore_chinese.htm#decl_cvCreateData">cvCreateData</A>
分配的參考計(jì)算才會(huì)是非NULL,換句話說(shuō) :<BR>使用<A
href="http://www.assuredigit.com/incoming/sourcecode/opencv/chinese_docs/ref/opencvref_cxcore_chinese.htm#decl_cvSetData">cvSetData</A>指派外部數(shù)據(jù)給頭<BR>矩陣頭代表部分大的矩陣或圖像<BR>矩陣頭是從圖像頭或N維矩陣頭轉(zhuǎn)換過(guò)來(lái)的。
<BR>參考計(jì)數(shù)如果被設(shè)置成NULL就不會(huì)被縮減. 無(wú)論數(shù)據(jù)是否被刪除,數(shù)據(jù)指針和參考計(jì)數(shù)指針都將被這個(gè)函數(shù)清空。 </P>
<HR>
<H3><A name=decl_cvIncRefData>IncRefData</A></H3>
<P class=Blurb>增加數(shù)組數(shù)據(jù)的參考計(jì)數(shù)</P><PRE>int cvIncRefData( CvArr* arr );
</PRE>
<P>
<DL>
<DT>arr
<DD>數(shù)組頭. </DD></DL>
<P>函數(shù) <A
href="http://www.assuredigit.com/incoming/sourcecode/opencv/chinese_docs/ref/opencvref_cxcore_chinese.htm#decl_cvIncRefData">cvIncRefData</A>
增加 <A
href="http://www.assuredigit.com/incoming/sourcecode/opencv/chinese_docs/ref/opencvref_cxcore_chinese.htm#decl_CvMat">CvMat</A>
或 <A
href="http://www.assuredigit.com/incoming/sourcecode/opencv/chinese_docs/ref/opencvref_cxcore_chinese.htm#decl_CvMatND">CvMatND</A>
數(shù)據(jù)參考計(jì)數(shù),如果參考計(jì)數(shù)非空返回新的計(jì)數(shù)值 否則返回0。 </P>
<HR>
<H3><A name=decl_cvCreateData>CreateData</A></H3>
<P class=Blurb>分配數(shù)組數(shù)據(jù)</P><PRE>void cvCreateData( CvArr* arr );
</PRE>
<P>
<DL>
<DT>arr
<DD>數(shù)組頭. </DD></DL>
<P>函數(shù) <A
href="http://www.assuredigit.com/incoming/sourcecode/opencv/chinese_docs/ref/opencvref_cxcore_chinese.htm#decl_cvCreateData">cvCreateData</A>
分配圖像,矩陣或多維數(shù)組數(shù)據(jù). 對(duì)于矩陣類型使用OpenCV的分配函數(shù),對(duì)于
IplImage類型如果<CODE>CV_TURN_ON_IPL_COMPATIBILITY沒(méi)有被調(diào)用也是可以使用這種方法的反之使用</CODE> IPL
函數(shù)分配數(shù)據(jù) </P>
<HR>
<H3><A name=decl_cvReleaseData>ReleaseData</A></H3>
<P class=Blurb>釋放數(shù)組數(shù)據(jù)</P><PRE>void cvReleaseData( CvArr* arr );
</PRE>
<DL>
<DT>arr
<DD>數(shù)組頭 </DD></DL>
<P>函數(shù)<A
href="http://www.assuredigit.com/incoming/sourcecode/opencv/chinese_docs/ref/opencvref_cxcore_chinese.htm#decl_cvReleaseData">cvReleaseData</A>
釋放數(shù)組數(shù)據(jù). 對(duì)于 <A
href="http://www.assuredigit.com/incoming/sourcecode/opencv/chinese_docs/ref/opencvref_cxcore_chinese.htm#decl_CvMat">CvMat</A>
或 <A
href="http://www.assuredigit.com/incoming/sourcecode/opencv/chinese_docs/ref/opencvref_cxcore_chinese.htm#decl_CvMatND">CvMatND</A>
結(jié)構(gòu)只需調(diào)用 cvDecRefData(), 也就是說(shuō)這個(gè)函數(shù)不能刪除外部數(shù)據(jù)。見(jiàn) <A
href="http://www.assuredigit.com/incoming/sourcecode/opencv/chinese_docs/ref/opencvref_cxcore_chinese.htm#decl_cvCreateData">cvCreateData</A>.
</P>
<HR>
<H3><A name=decl_cvSetData>SetData</A></H3>
<P class=Blurb>指派用戶數(shù)據(jù)給數(shù)組頭</P><PRE>void cvSetData( CvArr* arr, void* data, int step );
</PRE>
<P>
<DL>
<DT>arr
<DD>數(shù)組頭.
<DT>data
<DD>用戶數(shù)據(jù).
<DT>step
<DD>整行字節(jié)長(zhǎng). </DD></DL>
<P>函數(shù)<A
href="http://www.assuredigit.com/incoming/sourcecode/opencv/chinese_docs/ref/opencvref_cxcore_chinese.htm#decl_cvSetData">cvSetData</A>
指派用記數(shù)據(jù)給數(shù)組頭. 頭應(yīng)該已經(jīng)使用 cvCreate*Header, cvInit*Header 或 <A
href="http://www.assuredigit.com/incoming/sourcecode/opencv/chinese_docs/ref/opencvref_cxcore_chinese.htm#decl_cvMat">cvMat</A>
(對(duì)于矩陣)初始化過(guò). </P>
<HR>
<H3><A name=decl_cvGetRawData>GetRawData</A></H3>
<P class=Blurb>返回組數(shù)的底層信息</P><PRE>void cvGetRawData( const CvArr* arr, uchar** data,
int* step=NULL, CvSize* roi_size=NULL );
</PRE>
<P>
<DL>
<DT>arr
<DD>數(shù)組頭.
<DT>data
<DD>輸出指針,指針指向整個(gè)圖像的結(jié)構(gòu)或ROI
<DT>step
<DD>輸出行字節(jié)長(zhǎng)
<DT>roi_size
<DD>輸出ROI尺寸 </DD></DL>
<P>函數(shù) <A
href="http://www.assuredigit.com/incoming/sourcecode/opencv/chinese_docs/ref/opencvref_cxcore_chinese.htm#decl_cvGetRawData">cvGetRawData</A>
添充給輸出變量數(shù)組的底層信息。所有的輸出參數(shù)是可選的 , 因此這些指針可設(shè)為NULL. 如果數(shù)組是設(shè)置了ROI的 <CODE>IplImage</CODE>
結(jié)構(gòu), ROI參數(shù)被返回。 </P>
<P>接下來(lái)的例子展示怎樣去接近數(shù)組元素。</P>
<P><FONT color=blue size=4>使用 GetRawData 計(jì)算單通道浮點(diǎn)數(shù)組的元素絕對(duì)值.</FONT> <PRE> float* data;
int step;
CvSize size;
int x, y;
cvGetRawData( array, (uchar**)&data, &step, &size );
step /= sizeof(data[0]);
for( y = 0; y < size.height; y++, data += step )
for( x = 0; x < size.width; x++ )
data[x] = (float)fabs(data[x]);
</PRE>
<HR>
<H3><A name=decl_cvGetMat>GetMat</A></H3>
<P class=Blurb>從不確定數(shù)組返回矩陣頭</P><PRE>CvMat* cvGetMat( const CvArr* arr, CvMat* header, int* coi=NULL, int allowND=0 );
</PRE>
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -