1.0.1-學習Opencv與MFC混合編程之---播放AVI視頻
資源源代碼:http://download.csdn.net/detail/nuptboyzhb/3961639
版本1.0.1新增內容
Ø 新建菜單項,Learning OpenCV——> OpenCVr入門——>播放AVI視頻。
Ø 為’ 播放AVI視頻’菜單項設置屬性如下:
Ø 為上述菜單項建立類向導,設置如下:
Ø 編輯代碼:
代碼具體如下
void CCVMFCView::OnPlAYAVITEST()
{
// TODO: Add your command handler code here
//鄭海波 2011年12月9日
//參考:learning opencv Page21
CString csFilter="AVI Files(*.AVI)|*.AVI||";
CString strFileName;
CFileDialog FileDlg(true,NULL,NULL,OFN_HIDEREADONLY,csFilter);
// 文件存盤對話框
if (FileDlg.DoModal()==IDOK )
{ // 選擇了文件名
strFileName = FileDlg.m_ofn.lpstrFile;
if (FileDlg.m_ofn.nFileExtension == 0)
{ // 無文件后綴
strFileName = strFileName + ".avi";
// 加文件后綴
}
CString WindowName1="Display by CV";//創建窗口的名稱
cvNamedWindow(WindowName1,CV_WINDOW_AUTOSIZE);//創建窗口
//------------------------------
CvCapture *capture =cvCreateFileCapture(strFileName);//由待播放的視頻名,創建CvCapture指針
IplImage *frame;//創建圖像指針 用作顯示的圖片
while(1)
{
frame=cvQueryFrame(capture);//從capture 獲取一幀圖像
if(!frame)
{
break;
}
cvShowImage(WindowName1,frame);
char c=cvWaitKey(33);//等待33毫秒,如果無按鍵,返回值c=-1。如果有按鍵,返回按鍵的ASCII值
if(c==27)//27是Esc按鍵的ASCII值
{
break;//按下ESc鍵,停止播放
}
}
cvReleaseCapture(&capture);
cvDestroyWindow(WindowName1);
}
}
from:http://blog.csdn.net/nupt123456789/article/details/7097890
RFID管理系統集成商 RFID中間件 條碼系統中間層 物聯網軟件集成