<menu id="w8yyk"><menu id="w8yyk"></menu></menu>
  • <dd id="w8yyk"><nav id="w8yyk"></nav></dd>
    <menu id="w8yyk"></menu>
    <menu id="w8yyk"><code id="w8yyk"></code></menu>
    <menu id="w8yyk"></menu>
    <xmp id="w8yyk">
    <xmp id="w8yyk"><nav id="w8yyk"></nav>
  • 網站首頁 > 物聯資訊 > 技術分享

    1.1-學習Opencv與MFC混合編程之---利用畫圖函數,生成視頻,并寫入視頻文件

    2016-09-28 00:00:00 廣州睿豐德信息科技有限公司 閱讀
    睿豐德科技 專注RFID識別技術和條碼識別技術與管理軟件的集成項目。質量追溯系統、MES系統、金蝶與條碼系統對接、用友與條碼系統對接

    源代碼地址:http://download.csdn.net/detail/nuptboyzhb/3961674

    寫視頻文件


    Ø 新建菜單項,Learning OpenCV——> OpenCVr入門——>寫視頻文件

    Ø 菜單項設置如下

    RFID設備管理軟件

    Ø 建立類向導

    Ø 編輯代碼

    voidCCVMFCView::OnMyWriteVedio()

    {

           // TODO: Add your command handler codehere

           CStringcsAVI="AVI Files(*.avi)|*.avi|";

          

        CStringcsFilter=csAVI;

          

           CStringname[]={"","avi",""};

          

           CStringstrFileName;

           CStringstrExtension;

          

           CFileDialogFileDlg(false,NULL,NULL,OFN_HIDEREADONLY,csFilter);

           //  文件存盤對話框

           if(FileDlg.DoModal()==IDOK ) {        //  選擇了文件名

                  strFileName= FileDlg.m_ofn.lpstrFile;

                  if(FileDlg.m_ofn.nFileExtension == 0) { //  無文件后綴

                         strExtension= name[FileDlg.m_ofn.nFilterIndex];

                         strFileName= strFileName + '.' + strExtension;

                         //  加文件后綴

                  }

                  int width = 1000, height = 700;

                  //-----------------------------------------------------

                  CvVideoWriter *vw;

                  vw= cvCreateVideoWriter (strFileName,-1,25, cvSize(width,height),1);  //-1可以

                  //-----------------------------------------------------

                  int line_type = CV_AA; // changeit to 8 to see non-antialiased graphics

                  int i;

                  CvPoint pt1,pt2,pt_zhb;

                  double angle;

                  CvSize sz;

                  CvPoint  ptt[6];

                  CvPoint* pt[2];

                  int  arr[2];

                  CvFont font;

                  CvRNG rng;

                  int width3 = width*3, height3 =height*3;

                  CvSize text_size;

                  int ymin = 0;

                  // Load the source image

                  IplImage* image = cvCreateImage(cvSize(width,height), 8, 3 );

                  IplImage* image2;

                 

                  // Create a window

                  cvNamedWindow(wndnamed, 1 );

                  cvZero( image );

                  cvShowImage(wndnamed,image);

                  cvWriteFrame(vw,image); 

                 

                  rng = cvRNG((unsigned)-1);

                  pt[0] = &(ptt[0]);

                  pt[1] = &(ptt[3]);

                 

                  arr[0] = 3;

                  arr[1] = 3;

                 

                  m_ImageType=-3;

                  for (i = 0; i< NUMBER; i++)

                  {

                         pt1.x=cvRandInt(&rng) %width3 - width;

                         pt1.y=cvRandInt(&rng) %height3 - height;

                         pt2.x=cvRandInt(&rng) %width3 - width;

                         pt2.y=cvRandInt(&rng) %height3 - height;

                        

                         cvLine( image, pt1, pt2,random_color(&rng), cvRandInt(&rng)%10, line_type, 0 );

                         cvShowImage(wndnamed,image);

                         cvWriteFrame (vw,image); 

                         cvWaitKey(DELAY);

                  }

                 

                  for (i = 0; i< NUMBER; i++)

                  {

                         pt1.x=cvRandInt(&rng) %width3 - width;

                         pt1.y=cvRandInt(&rng) %height3 - height;

                         pt2.x=cvRandInt(&rng) %width3 - width;

                         pt2.y=cvRandInt(&rng) %height3 - height;

                        

                         cvRectangle( image,pt1,pt2, random_color(&rng), cvRandInt(&rng)%10-1, line_type, 0 );

                         cvShowImage(wndnamed,image);

                         cvWriteFrame (vw,image); 

                         cvWaitKey(DELAY);

                  }

                 

                  for (i = 0; i< NUMBER; i++)

                  {

                         pt1.x=cvRandInt(&rng) %width3 - width;

                         pt1.y=cvRandInt(&rng) %height3 - height;

                         sz.width=cvRandInt(&rng)%200;

                         sz.height=cvRandInt(&rng)%200;

                         angle =(cvRandInt(&rng)%1000)*0.180;

                        

                         cvEllipse( image, pt1, sz,angle, angle - 100, angle + 200,

                                random_color(&rng),cvRandInt(&rng)%10-1, line_type, 0 );

                         cvShowImage(wndnamed,image);

                         cvWriteFrame (vw,image); 

                         cvWaitKey(DELAY);

                  }

                 

                  for (i = 0; i< NUMBER; i++)

                  {

                         pt[0][0].x=cvRandInt(&rng)% width3 - width;

                         pt[0][0].y=cvRandInt(&rng)% height3 - height;

                         pt[0][1].x=cvRandInt(&rng)% width3 - width;

                         pt[0][1].y=cvRandInt(&rng)% height3 - height;

                         pt[0][2].x=cvRandInt(&rng)% width3 - width;

                         pt[0][2].y=cvRandInt(&rng)% height3 - height;

                         pt[1][0].x=cvRandInt(&rng)% width3 - width;

                         pt[1][0].y=cvRandInt(&rng)% height3 - height;

                         pt[1][1].x=cvRandInt(&rng)% width3 - width;

                         pt[1][1].y=cvRandInt(&rng)% height3 - height;

                         pt[1][2].x=cvRandInt(&rng)% width3 - width;

                         pt[1][2].y=cvRandInt(&rng)% height3 - height;

                        

                         cvPolyLine( image, pt, arr,2, 1, random_color(&rng), cvRandInt(&rng)%10, line_type, 0 );

                         cvShowImage(wndnamed,image);

                         cvWriteFrame (vw,image); 

                         cvWaitKey(DELAY);

                  }

                 

                  for (i = 0; i< NUMBER; i++)

                  {

                         pt[0][0].x=cvRandInt(&rng)% width3 - width;

                         pt[0][0].y=cvRandInt(&rng)% height3 - height;

                         pt[0][1].x=cvRandInt(&rng)% width3 - width;

                         pt[0][1].y=cvRandInt(&rng)% height3 - height;

                         pt[0][2].x=cvRandInt(&rng)% width3 - width;

                         pt[0][2].y=cvRandInt(&rng)% height3 - height;

                         pt[1][0].x=cvRandInt(&rng)% width3 - width;

                         pt[1][0].y=cvRandInt(&rng)% height3 - height;

                         pt[1][1].x=cvRandInt(&rng)% width3 - width;

                         pt[1][1].y=cvRandInt(&rng)% height3 - height;

                         pt[1][2].x=cvRandInt(&rng)% width3 - width;

                         pt[1][2].y=cvRandInt(&rng)% height3 - height;

                        

                         cvFillPoly( image, pt, arr,2, random_color(&rng), line_type, 0 );

                         cvShowImage(wndnamed,image);

                         cvWriteFrame (vw,image); 

                         cvWaitKey(DELAY);

                  }

                 

                  for (i = 0; i< NUMBER; i++)

                  {

                         pt1.x=cvRandInt(&rng) %width3 - width;

                         pt1.y=cvRandInt(&rng) %height3 - height;

                        

                         cvCircle( image, pt1,cvRandInt(&rng)%300, random_color(&rng),

                                cvRandInt(&rng)%10-1,line_type, 0 );

                         cvShowImage(wndnamed,image);

                         cvWriteFrame (vw,image); 

                         cvWaitKey(DELAY);

                  }

                 

                  for (i = 1; i< NUMBER; i++)

                  {

                         pt1.x=cvRandInt(&rng) %width3 - width;

                         pt1.y=cvRandInt(&rng) %height3 - height;

                        

                         cvInitFont( &font,cvRandInt(&rng) % 8,

                                (cvRandInt(&rng)%100)*0.05+0.1,(cvRandInt(&rng)%100)*0.05+0.1,

                                (cvRandInt(&rng)%5)*0.1,cvRound(cvRandInt(&rng)%10), line_type );

                        

                         cvPutText( image, "Ilove zjq!", pt1, &font, random_color(&rng));

                         cvShowImage(wndnamed,image);

                         cvWriteFrame(vw,image); 

                         cvWaitKey(DELAY);

                  }

                 

                  cvInitFont( &font, CV_FONT_HERSHEY_COMPLEX,3, 3, 0.0, 5, line_type );

                 

                  cvGetTextSize( "OpenCVforever!", &font, &text_size, &ymin );

                 

                  pt1.x = (width -text_size.width)/2-80;

                  pt1.y = (height +text_size.height)/2-100;

                  image2 = cvCloneImage(image);

                  pt_zhb.x=pt1.x;

                  pt_zhb.y=pt1.y+300;

                  for( i = 0; i < 255; i++ )

                  {

                         cvSubS( image2,cvScalarAll(i), image, 0 );

                         cvPutText( image,"OpenCV forever!", pt1, &font, CV_RGB(255,i,i));

                         cvPutText( image,"Made By ZhengHB!", pt_zhb, &font, CV_RGB(255,i,i));

                         cvShowImage(wndnamed,image);

                         cvWriteFrame(vw,image); 

                         cvWaitKey(DELAY);

                  }

                  // Wait for a key stroke; the samefunction arranges events processing

                  cvReleaseVideoWriter (&vw);

                  cvWaitKey(0);

                  cvReleaseImage(&image);

                  cvReleaseImage(&image2);

                  cvDestroyWindow(wndnamed);

                 

           }

          

    }

     

    from:http://blog.csdn.net/nupt123456789/article/details/7100125

    RFID管理系統集成商 RFID中間件 條碼系統中間層 物聯網軟件集成
    最近免费观看高清韩国日本大全