opencv 정시 녹화 기능 실현

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
",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
"<<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; }
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기