网站首页 > 物联资讯 > 技术分享

1.0.1-学习Opencv与MFC混合编程之---播放AVI视频

2016-09-28 00:00:00 广州睿丰德信息科技有限公司 阅读
睿丰德科技 专注RFID识别技术和条码识别技术与管理软件的集成项目。质量追溯系统、MES系统、金蝶与条码系统对接、用友与条码系统对接

资源源代码:http://download.csdn.net/detail/nuptboyzhb/3961639

版本1.0.1新增内容

Ø  新建菜单项,Learning OpenCV——> OpenCVr入门——>播放AVI视频。

Ø  为’ 播放AVI视频’菜单项设置属性如下:

RFID,RFID仓储管理,RFID资产管理,RFID系统,RFID设备管理RFID资产管理,RFID仓库管理,RFID珠宝,RFID生产线,RFID手持机,RFID读写器,广州睿丰德

Ø  为上述菜单项建立类向导,设置如下:

RFID,RFID仓储管理,RFID资产管理,RFID系统,RFID设备管理RFID资产管理,RFID仓库管理,RFID珠宝,RFID生产线,RFID手持机,RFID读写器,广州睿丰德

Ø  编辑代码:

代码具体如下

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中间件 条码系统中间层 物联网软件集成