国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

opencv實現定時錄像功能

2020-01-26 13:41:56
字體:
來源:轉載
供稿:網友

opencv作為一款強大的機器視覺庫,以其簡便性得到了各圖像處理開發人員的青睞。現在就給大家介紹如何用opencv實現定時錄像并以實際時間作為文件名保存。之前網上已經有一些類似的代碼,但是大多數網友反映程序無法執行,主要分析有兩個原因。電腦上未安裝視頻編碼器,這里推薦大家XviD,網上不好下載可以私信我或是留下郵箱,我統一發送。然后在選擇編碼格式上,我選擇的是'X', 'V', 'I', 'D'格式,也就是我們常見的avi格式。

  #include "cv.h"    #include "cxcore.h"    #include "highgui.h"    #include <iostream>    #include <time.h>   #include <Windows.h>   #include <Mmsystem.h>   #include "stdio.h"    int timea=100000;    using namespace std;  /*void times() {   SYSTEMTIME sys_time;    //將變量值設置為本地時間   GetLocalTime( &sys_time );    //輸出時間   printf( "%4d/%02d/%02d %02d:%02d:%02d.%03d 星期%1d/n",sys_time.wYear,     sys_time.wMonth,     sys_time.wDay,     sys_time.wHour,     sys_time.wMinute,     sys_time.wSecond,     sys_time.wMilliseconds,     sys_time.wDayOfWeek);   // system("time");   //  // system("pause");   return 0;   } */   int main()    {      CvCapture* capture=cvCaptureFromCAM(0);      CvVideoWriter* video=NULL;      IplImage* frame=NULL;      int n;      if(!capture) //如果不能打開攝像頭給出警告      {       cout<<"Can not open the camera."<<endl;       return -1;      }      else      {       frame=cvQueryFrame(capture); //首先取得攝像頭中的一幀      int c=0;     SYSTEMTIME sys_time;    //將變量值設置為本地時間     GetLocalTime( &sys_time );     char buf[1024];     sprintf(buf,"camera-%4d-%2d-%02d-%02d-%02d-%02d.avi",sys_time.wYear,sys_time.wMonth,sys_time.wDay,     sys_time.wHour,sys_time.wMinute, sys_time.wSecond);         video=cvCreateVideoWriter(buf, CV_FOURCC('X', 'V', 'I', 'D'), 25,       cvSize(frame->width,frame->height)); //創建CvVideoWriter對象并分配空間    //保存的文件名為camera.avi,編碼要在運行程序時選擇,大小就是攝像頭視頻的大小,幀頻率是32       if(video) //如果能創建CvVideoWriter對象則表明成功        {         cout<<"VideoWriter has created."<<endl;       }     cout<<"set the record time/n"<<endl;//設置錄像時間    cin>>timea;    int ti=timea*25;              cvNamedWindow("Camera Video",1); //新建一個窗口        int i = 0;       while(i <= ti) // 讓它循環ti次自動停止錄取        {         frame=cvQueryFrame(capture); //從CvCapture中獲得一幀         if(!frame)         {          cout<<"Can not get frame from the capture."<<endl;          break;         }         n=cvWriteFrame(video,frame); //判斷是否寫入成功,如果返回的是1,表示寫入成功         // cout<<n<<endl;         cvShowImage("Camera Video",frame); //顯示視頻內容的圖片         i++;         if(cvWaitKey(2)>0)           break; //有其他鍵盤響應,則退出       }           cvReleaseVideoWriter(&video); //如果不釋放則春不上      cvReleaseCapture(&capture);       cvDestroyWindow("Camera Video");      }      return 0;    }  

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 天气| 鄂州市| 喜德县| 万源市| 黔西县| 东兴市| 仁布县| 诏安县| 陈巴尔虎旗| 永丰县| 会理县| 云安县| 蓬溪县| 鄂托克旗| 安远县| 宜兴市| 伊金霍洛旗| 化州市| 清丰县| 巨鹿县| 临高县| 通江县| 岫岩| 德安县| 宁阳县| 屯昌县| 贵溪市| 大安市| 莲花县| 望都县| 横山县| 遵义县| 锦屏县| 呼和浩特市| 来安县| 南陵县| 凤翔县| 乌鲁木齐县| 牟定县| 奇台县| 车险|