?? highgui中文參考手冊.htm
字號:
<hr><h3><a name="decl_cvCaptureFromCAM">cvCaptureFromCAM</a></h3><p class="Blurb">初始化從攝像頭中獲取視頻</p><pre>CvCapture* cvCaptureFromCAM( int index );</pre><dl><dt>index<dd>要使用的攝像頭索引。如果只有一個攝像頭或者用哪個攝像頭也無所謂,那使用參數-1應該便可以。</dl><p>函數<code>cvCaptureFromCAM</code>給從攝像頭的視頻流分配和初始化CvCapture結構。目前在Windows下可使用兩種接口:Video for Windows(VFW)和Matrox Imaging Library(MIL);Linux下也有兩種接口:V4L和FireWire(IEEE1394)。</p><p>釋放這個結構,使用函數<a href="#decl_cvReleaseCapture">cvReleaseCapture</a>。</p><hr><h3><a name="decl_cvReleaseCapture">cvReleaseCapture</a></h3><p class="Blurb">釋放CvCapture結構</p><pre>void cvReleaseCapture( CvCapture** capture );</pre><dl><dt>capture<dd>視頻獲取結構指針。</dl><p>函數<code>cvReleaseCapture</code>釋放由<a href="#decl_cvCaptureFromFile">cvCaptureFromFile</a>或者<a href="#decl_cvCaptureFromCAM">cvCaptureFromCAM</a>申請的CvCapture結構。</p><hr><h3><a name="decl_cvGrabFrame">cvGrabFrame</a></h3><p class="Blurb">從攝像頭或者視頻文件中抓取幀</p><pre>int cvGrabFrame( CvCapture* capture );</pre><dl><dt>capture<dd>視頻獲取結構指針。</dl><p>函數<code>cvGrabFrame</code>從攝像頭或者文件中抓取幀。被抓取的幀在內部被存儲。這個函數的目的是<em>快速</em>的抓取幀,這一點對同時從幾個攝像頭讀取數據的同步是很重要的。被抓取的幀可能是壓縮的格式(由攝像頭/驅動定義),所以沒有被公開出來。如果要取回獲取的幀,請使用<a href="#decl_cvRetrieveFrame">cvRetrieveFrame</a>。</p><hr><h3><a name="decl_cvRetrieveFrame">cvRetrieveFrame</a></h3><p class="Blurb">取回由函數cvGrabFrame抓取的圖像</p><pre>IplImage* cvRetrieveFrame( CvCapture* capture );</pre><dl><dt>capture<dd>視頻獲取結構。</dl><p>函數<code>cvRetrieveFrame</code>返回由函數<a href="#decl_cvGrabFrame">cvGrabFrame</a>抓取的圖像的指針。返回的圖像不可以被用戶釋放或者修改。</p><hr><h3><a name="decl_cvQueryFrame">cvQueryFrame</a></h3><p class="Blurb">從攝像頭或者文件中抓取并返回一幀</p><pre>IplImage* cvQueryFrame( CvCapture* capture );</pre><dl><dt>capture<dd>視頻獲取結構。</dl><p>函數<code>cvQueryFrame</code>從攝像頭或者文件中抓取一幀,然后解壓并返回這一幀。這個函數僅僅是函數<a href="#decl_cvGrabFrame">cvGrabFrame</a>和函數<a href="#decl_cvRetrieveFrame">cvRetrieveFrame</a>在一起調用的組合。返回的圖像不可以被用戶釋放或者修改。</p><hr><h3><a name="decl_cvGetCaptureProperty">cvGetCaptureProperty</a></h3><p class="Blurb">獲得視頻獲取結構的屬性</p><pre>double cvGetCaptureProperty( CvCapture* capture, int property_id );</pre><dl><dt>capture<dd>視頻獲取結構。<dt>property_id<dd>屬性標識。可以是下面之一:<br> <code>CV_CAP_PROP_POS_MSEC</code> - 影片目前位置,為毫秒數或者視頻獲取時間戳<br> <code>CV_CAP_PROP_POS_FRAMES</code> - 將被下一步解壓/獲取的幀索引,以0為起點<br> <code>CV_CAP_PROP_POS_AVI_RATIO</code> - 視頻文件的相對位置(0 - 影片的開始,1 - 影片的結尾)<br> <code>CV_CAP_PROP_FRAME_WIDTH</code> - 視頻流中的幀寬度<br> <code>CV_CAP_PROP_FRAME_HEIGHT</code> - 視頻流中的幀高度<br> <code>CV_CAP_PROP_FPS</code> - 幀率<br> <code>CV_CAP_PROP_FOURCC</code> - 表示codec的四個字符 <code>CV_CAP_PROP_FRAME_COUNT</code> - 視頻文件中幀的總數 </dl><p>函數<code>cvGetCaptureProperty</code>獲得攝像頭或者視頻文件的指定屬性。</p><p>譯者注:有時候這個函數在cvQueryFrame被調用一次后,再調用cvGetCaptureProperty才會返回正確的數值。</p><hr><h3><a name="decl_cvSetCaptureProperty">cvSetCaptureProperty</a></h3><p class="Blurb">設置視頻獲取屬性</p><pre>int cvSetCaptureProperty( CvCapture* capture, int property_id, double value );</pre><dl><dt>capture<dd>視頻獲取結構。<dt>property_id<dd>屬性標識符。可以是下面之一:<br> <code>CV_CAP_PROP_POS_MSEC</code> - 從文件開始的位置,單位為毫秒<br> <code>CV_CAP_PROP_POS_FRAMES</code> - 單位為幀數的位置(只對視頻文件有效)<br> <code>CV_CAP_PROP_POS_AVI_RATIO</code> - 視頻文件的相對位置(0 - 影片的開始,1 - 影片的結尾)<br> <code>CV_CAP_PROP_FRAME_WIDTH</code> - 視頻流的幀寬度(只對攝像頭有效)<br> <code>CV_CAP_PROP_FRAME_HEIGHT</code> - 視頻流的幀高度(只對攝像頭有效)<br> <code>CV_CAP_PROP_FPS</code> - 幀率(只對攝像頭有效)<br> <code>CV_CAP_PROP_FOURCC</code> - 表示codec的四個字符(只對攝像頭有效)<dt>value<dd>屬性的值。</dl><p>函數<code>cvSetCaptureProperty</code>設置指定視頻獲取的屬性。目前這個函數對視頻文件只支持:<code>CV_CAP_PROP_POS_MSEC, CV_CAP_PROP_POS_FRAMES, CV_CAP_PROP_POS_AVI_RATIO<code></p><hr><h3><a name="decl_cvCreateVideoWriter">cvCreateVideoWriter</a></h3><p class="Blurb">創建視頻文件寫入器</p><pre>typedef struct CvVideoWriter CvVideoWriter;CvVideoWriter* cvCreateVideoWriter( const char* filename, int fourcc, double fps, CvSize frame_size, int is_color=1 );</pre><dl><dt>filename<dd>輸出視頻文件名。<dt>fourcc<dd>四個字符用來表示壓縮幀的codec 例如,<code>CV_FOURCC('P','I','M','1')</code>是MPEG-1 codec, <code>CV_FOURCC('M','J','P','G')</code>是motion-jpeg codec等。 在Win32下,如果傳入參數-1,可以從一個對話框中選擇壓縮方法和壓縮參數。<dt>fps<dd>被創建視頻流的幀率。<dt>frame_size<dd>視頻流的大小。<dt>is_color<dd>如果非零,編碼器將希望得到彩色幀并進行編碼;否則,是灰度幀(只有在Windows下支持這個標志)。</dl><p>函數<code>cvCreateVideoWriter</code>創建視頻寫入器結構。</p><hr><h3><a name="decl_cvReleaseVideoWriter">cvReleaseVideoWriter</a></h3><p class="Blurb">釋放視頻寫入器</p><pre>void cvReleaseVideoWriter( CvVideoWriter** writer );</pre><dl><dt>writer<dd>指向視頻寫入器的指針。</dl><p>函數<code>cvReleaseVideoWriter</code>結束視頻文件的寫入并且釋放這個結構。</p><hr><h3><a name="decl_cvWriteFrame">cvWriteFrame</a></h3><p class="Blurb">寫入一幀到一個視頻文件中</p><pre>int cvWriteFrame( CvVideoWriter* writer, const IplImage* image );</pre><dl><dt>writer<dd>視頻寫入器結構。<dt>image</dt><dd>被寫入的幀。</dl><p>函數<code>cvWriteFrame</code>寫入/附加到視頻文件一幀。</p><hr><h2><a name="highgui_utils">實用函數與系統函數</a></h2><hr><h3><a name="decl_cvInitSystem">cvInitSystem</a></h3><p class="Blurb">初始化HighGUI</p><pre>int cvInitSystem( int argc, char** argv );</pre><dl><dt>argc<dd>命令行參數個數。<dt>argv<dd>命令行參數數組。</dl><p>函數<code>cvInitSystem</code>初始化HighGUI。如果在第一個窗口被創建前這個函數不能被用戶顯式地調用,這個函數將以參數<code>argc</code>=0,<code>argv</code>=NULL隱式地被調用。在Win32下,沒有必要顯式調用這個函數。在X Window下,參數也許被用來自定義一個HighGUI窗口和控件的外觀。</p><hr><h3><a name="decl_cvConvertImage">cvConvertImage</a></h3><p class="Blurb">Converts one image to another with optional vertical flip</p><pre>void cvConvertImage( const CvArr* src, CvArr* dst, int flags=0 );</pre><dl><dt>src<dd>輸入圖像。<dt>dst<dd>目標圖像。必須為單通道或者3通道8位圖像。<dt>flags</dt><dd>操作標志:<br> <code>CV_CVTIMG_FLIP</code> - 垂直翻轉圖像。 <code>CV_CVTIMG_SWAP_RB</code> - 交換紅藍通道。 在OpenCV中,彩色圖像的通道順序是 <code><font color="blue">B</font><font color="green">G</font><font color="red">R</font></code> 然而在一些系統中,在顯式圖像之前通道順序應該被翻轉為 (<a href="#decl_cvShowImage">cvShowImage</a>能夠自動轉換)。</dl><p>函數<code>cvConvertImage</code>轉換一幅圖像到另一幅圖像,如果需要的話可以垂直翻轉圖像。這個函數被<a href="#decl_cvShowImage">cvShowImage</a>使用。</p><hr><h1><a name="highgui_func_index">按字母順序排列的函數列表</a></h1><hr><h3>C</h3><table width="100%"><tr><td width="25%"><a href="#decl_cvCaptureFromCAM">CaptureFromCAM</a></td><td width="25%"><a href="#decl_cvConvertImage">ConvertImage</a></td><td width="25%"><a href="#decl_cvCreateVideoWriter">CreateVideoWriter</a></td></tr><tr><td width="25%"><a href="#decl_cvCaptureFromFile">CaptureFromFile</a></td><td width="25%"><a href="#decl_cvCreateTrackbar">CreateTrackbar</a></td><td width="25%%"></td></tr></table><hr><h3>D</h3><table width="100%"><tr><td width="25%"><a href="#decl_cvDestroyAllWindows">DestroyAllWindows</a></td><td width="25%"><a href="#decl_cvDestroyWindow">DestroyWindow</a></td><td width="25%%"></td></tr></table><hr><h3>G</h3><table width="100%"><tr><td width="25%"><a href="#decl_cvGetCaptureProperty">GetCaptureProperty</a></td><td width="25%"><a href="#decl_cvGetWindowHandle">GetWindowHandle</a></td><td width="25%"><a href="#decl_cvGrabFrame">GrabFrame</a></td></tr><tr><td width="25%"><a href="#decl_cvGetTrackbarPos">GetTrackbarPos</a></td><td width="25%"><a href="#decl_cvGetWindowName">GetWindowName</a></td><td width="25%%"></td></tr></table><hr><h3>I</h3><table width="100%"><tr><td width="25%"><a href="#decl_cvInitSystem">InitSystem</a></td><td width="25%%"></td><td width="25%%"></td></tr></table><hr><h3>L</h3><table width="100%"><tr><td width="25%"><a href="#decl_cvLoadImage">LoadImage</a></td><td width="25%%"></td><td width="25%%"></td></tr></table><hr><h3>M</h3><table width="100%"><tr><td width="25%"><a href="#decl_cvMoveWindow">MoveWindow</a></td><td width="25%%"></td><td width="25%%"></td></tr></table><hr><h3>N</h3><table width="100%"><tr><td width="25%"><a href="#decl_cvNamedWindow">NamedWindow</a></td><td width="25%%"></td><td width="25%%"></td></tr></table><hr><h3>Q</h3><table width="100%"><tr><td width="25%"><a href="#decl_cvQueryFrame">QueryFrame</a></td><td width="25%%"></td><td width="25%%"></td></tr></table><hr><h3>R</h3><table width="100%"><tr><td width="25%"><a href="#decl_cvReleaseCapture">ReleaseCapture</a></td><td width="25%"><a href="#decl_cvResizeWindow">ResizeWindow</a></td><td width="25%%"></td></tr><tr><td width="25%"><a href="#decl_cvReleaseVideoWriter">ReleaseVideoWriter</a></td><td width="25%"><a href="#decl_cvRetrieveFrame">RetrieveFrame</a></td><td width="25%%"></td></tr></table><hr><h3>S</h3><table width="100%"><tr><td width="25%"><a href="#decl_cvSaveImage">SaveImage</a></td><td width="25%"><a href="#decl_cvSetMouseCallback">SetMouseCallback</a></td><td width="25%"><a href="#decl_cvShowImage">ShowImage</a></td></tr><tr><td width="25%"><a href="#decl_cvSetCaptureProperty">SetCaptureProperty</a></td><td width="25%"><a href="#decl_cvSetTrackbarPos">SetTrackbarPos</a></td><td width="25%%"></td></tr></table><hr><h3>W</h3><table width="100%"><tr><td width="25%"><a href="#decl_cvWaitKey">WaitKey</a></td><td width="25%"><a href="#decl_cvWriteFrame">WriteFrame</a></td><td width="25%%"></td></tr></table></body></html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -