• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ cvCreateFileCapture函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中cvCreateFileCapture函数的典型用法代码示例。如果您正苦于以下问题:C++ cvCreateFileCapture函数的具体用法?C++ cvCreateFileCapture怎么用?C++ cvCreateFileCapture使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了cvCreateFileCapture函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: initCaptureFiles

// need to return positive or negative
void initCaptureFiles( int argc, char *argv[], CvCapture **capture, CvCapture **stereoCapture, int *webcamRun, int *enable3D ) {
    if( argc < 3 ) {;
        printf("Incorrect arguments:\n");
        printf("Webcam: mainTracker mean.xml cov.xml\n");
        printf("2D video: mainTracker mean.xml cov.xml video.avi");
        printf("3D video: mainTracker mean.xml cov.xml video.avi stereo.avi\n");
        
        exit(1);
    }


    char locationVideoActual[300];
    char locationVideoStereo[300];
    
    if( argc == 3 ) {
        printf("Running on webcam\n");
        *webcamRun = 1;
    } else if( argc == 4 ) {
        strncpy( locationVideoActual, argv[3], 300 );
    } else if( argc == 5 ) {
        strncpy( locationVideoActual, argv[3], 300 );
        strncpy( locationVideoStereo, argv[4], 300 );
    } else {
        printf("Incorrect arguments:\n");
        printf("Webcam: mainTracker mean.xml cov.xml\n");
        printf("2D video: mainTracker mean.xml cov.xml video.avi");
        printf("3D video: mainTracker mean.xml cov.xml video.avi stereo.avi\n");
        
        exit(1);
    }
    
    
    if( *webcamRun ) {
        *capture       = cvCaptureFromCAM(0);
        *stereoCapture = cvCreateFileCapture( "nonexistantfile.avi" );
    } else {
        *capture       = cvCreateFileCapture( locationVideoActual );
        *stereoCapture = cvCreateFileCapture( locationVideoStereo );
    }
    
    if ( !*capture ) {
       fprintf( stderr, "Cannot open regular video file\n" );
       exit(1);
  } else {
       fprintf( stderr, "\nRegular video loaded ok\n" );
  }
  
  if ( *stereoCapture ) {
    printf("Depth file found, enabling 3D tracking\n");
    *enable3D = 1;
  } else {
    fprintf( stderr, "Could not open depth file, using 2D tracking" );
    *enable3D = 0;
  }
         
}
开发者ID:NicGanon,项目名称:Condensation-Person-Tracker,代码行数:57,代码来源:mainTracker.c


示例2: test

void test() {
	CvCapture *capture = cvCreateFileCapture("D:\\²âÊÔÊÓƵ\\1344.avi");
	int frameWidth = cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_WIDTH);
	int frameHeight = cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_HEIGHT);
	codeBook *cb = new codeBook[frameWidth * frameHeight];
	memset(cb, 0, frameWidth * frameHeight * sizeof(codeBook));
	unsigned int bound[3] = { 10 ,10,10 };
	int minMod[3] = { 10 ,10,10 };
	int maxMod[3] = { 10 ,10,10 };
	IplImage *frame[1000];

	for (int i = 0; i < 1000; i++) {
		frame[i] = cvCreateImage(cvSize(frameWidth, frameHeight), 8, 3);
		cvCopy(cvQueryFrame(capture), frame[i]);
	}

	for (int i = 0; i < frameWidth * frameHeight; i++) {
		for (int j = 0; j < 1000; j++) {
			UpdateCodeBook((unsigned char*)frame[j]->imageData + i * 3, cb[i], bound, 3);
		}
	}

	IplImage *mask = cvCreateImage(cvSize(frameWidth, frameHeight), 8, 1);

	for (int i = 0; i < 1000; i++) {
		for (int j = 0; j < frameWidth * frameHeight; j++) {
			mask->imageData[j] = BackgroundDiff((unsigned char*)frame[i]->imageData + j * 3, cb[j], 3, minMod, maxMod);
		}
		FindConnectedComponents(mask);
		cvShowImage("1", mask);
		cvShowImage("2", frame[i]);
		cvWaitKey(30);
	}
}
开发者ID:zhouliguo,项目名称:VideoSynopsis,代码行数:34,代码来源:CodeBook.cpp


示例3: initVideoCapture

//Initialize capture from avi
int initVideoCapture(char* video_path)
{


	capture = cvCreateFileCapture(video_path);

	frames = (int) cvGetCaptureProperty(
		capture,
		CV_CAP_PROP_FRAME_COUNT
		);
  
// 	writer = cvCreateVideoWriter(
// 		"my_video.avi",
// 		CV_FOURCC('P','I','M','1'),
// 		30,
// 		size,
// 		isColor
// 		);

	printf("no of frames = %d", frames);

	if( !frames )
	{
		fprintf(stderr, "failed to initialize camera capture\n");
		return 0;
	}

	return 1;
}
开发者ID:mikesapi,项目名称:fasthpe,代码行数:30,代码来源:capture.cpp


示例4: cvCreateFileCapture

//--------------------------------------------------------------------------------------
// Name: CVInit()
// Desc: Initializate OpenCV
//--------------------------------------------------------------------------------------
bool GLCVUtils::CVInit (int mode)
{
	if (mode == VIDEO_FILE)
	{
		capture = cvCreateFileCapture ("Ratatouille.avi");
		if (! capture) printf ("\n\n\nerror creating file capture\n\n\n");
			
	}
	
	else if (mode == CAMERA)
	{
		// create capture
		capture = cvCreateCameraCapture (0);
		if (! capture)
		{
			printf ("\nError creating capture");
			return false;
		}

		// sets camera (hardware) resolution
		cvSetCaptureProperty (capture, CV_CAP_PROP_FRAME_WIDTH,  TEXTURE_W);
		cvSetCaptureProperty (capture, CV_CAP_PROP_FRAME_HEIGHT, TEXTURE_H);
		
	}
	else
	{
		printf ("\nWrong Mode");
	}

	return true;
}
开发者ID:andrecurvello,项目名称:gesture-recognition,代码行数:35,代码来源:glcvutils.cpp


示例5: main

int main(int argc, char* argv[]) {
	const char* filename = "./test.avi";
	if(argc > 1) {
		filename = argv[1];
	}

	CvCapture* cap = cvCreateFileCapture(filename);
	if(cap == NULL) {
		printf("open camera failed!\n");
		return -1;
	}
	cvSaveImage("video.jpg", cvQueryFrame(cap));

	const char* winName = "Go-OpenCV";
	cvNamedWindow(winName, 1);
	for(;;) {
		IplImage* img = cvQueryFrame(cap);
		cvShowImage(winName, img);
		if(cvWaitKey(50) == 27) {
			break;
		}
	}

	cvDestroyWindow(winName);
	cvReleaseCapture(&cap);
	return 0;
}
开发者ID:alejotima,项目名称:opencv,代码行数:27,代码来源:video.cpp


示例6: readVideoWithATrackbar

int readVideoWithATrackbar(char *fileName)
{
	cvNamedWindow( "win_1", CV_WINDOW_AUTOSIZE );
	g_capture = cvCreateFileCapture( fileName );
	int frames = (int) cvGetCaptureProperty(
			g_capture,
			CV_CAP_PROP_FRAME_COUNT
			);
	if( frames != 0 ) {
		cvCreateTrackbar(
				"Position",
				"win_1",
				&g_slider_position,
				frames,
				onTrackbarSlide
				);
	}
	IplImage* frame;
	while (1) {
		frame = cvQueryFrame( g_capture );
		if ( !frame ) {
			break;
		}
		cvShowImage( "win_1", frame );
		char c = cvWaitKey(33);
		if ( c == 27 ) {
			break;
		}

	}
	return (0);
}
开发者ID:atupal,项目名称:opencv_learn,代码行数:32,代码来源:video.cpp


示例7: main

int main(int argc, const char * argv[]) {
    CvCapture* capture = cvCreateFileCapture( argv[1] );
    if (!capture) return -1;
    
    IplImage* bgr_frame = cvQueryFrame( capture );
    double fps = cvGetCaptureProperty( capture ,  CV_CAP_PROP_FPS );
    CvSize size = cvSize(
        (int)cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_WIDTH),
        (int)cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_HEIGHT)
    );
    CvVideoWriter* writer = cvCreateVideoWriter( argv[2], CV_FOURCC('M', 'J', 'P', 'G'), fps, size);
    IplImage* logpolar_frame = cvCreateImage(size, IPL_DEPTH_8U, 3);
    
    while ( (bgr_frame = cvQueryFrame(capture)) != NULL ) {
        cvLogPolar(bgr_frame, logpolar_frame,
                   cvPoint2D32f(bgr_frame->width/2, bgr_frame->height/2),
                   40,
                   CV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS );
        cvWriteFrame(writer, logpolar_frame);
    }
    cvReleaseVideoWriter( &writer );
    cvReleaseImage( &logpolar_frame );
    cvReleaseCapture( &capture );
    return 0;
}
开发者ID:yourtion,项目名称:LearningOpenCV,代码行数:25,代码来源:videoConver.cpp


示例8: main

int main(int argc, char * const argv[])
{
	/* Initialize the camera */
	CvCapture *CamCapture = 0;
	CamCapture = cvCreateFileCapture("http://192.168.2.135:81/videostream.asf?user=viki&pwd=viki&resolution=640*480");
	if (!CamCapture)
	{printf("IP Cam not ready\n");
	return -1;}
	/* initialize video writer */
	CvVideoWriter *IPCamWriter = 0;
	CvSize size;
	size.width = 640;
	size.height = 480;
	IPCamWriter = cvCreateVideoWriter("/home/viki/Videos/IPCamOut.avi", CV_FOURCC('D','I','V','X'), 4, size, 1); //needs time index in naming

	/* time */
	time_t current_time;
	current_time = time (NULL);
	long int stop_time = current_time + 10;
	
	/* main loop */
	while( current_time < stop_time )
		{
		/* write image to file */
		cvWriteFrame(IPCamWriter, cvQueryFrame( CamCapture ));
		}
 
	/* Clean up memory */
	cvReleaseCapture ( &CamCapture );
	cvReleaseVideoWriter(&IPCamWriter);
}
开发者ID:SandKierkegaard,项目名称:CamTrap_Viper,代码行数:31,代码来源:node_webcam.cpp


示例9: capture_frame

VideoCapture::VideoCapture(std::string _path_to_video,
						   int32_t _snapshot_delay) 
	: capture_frame(nullptr), frame(nullptr), path_to_video(_path_to_video), snapshot_delay(_snapshot_delay), window_name("Capture"), btv_sr(nullptr)
{
	capture_frame = cvCreateFileCapture(path_to_video.c_str());
	btv_sr = new NS_SuperResolution::SuperResolution();
}
开发者ID:Allowq,项目名称:sr_2dpca,代码行数:7,代码来源:VideoCapture.cpp


示例10: main

int main( int argc, char** argv ) { 
	
	if (argc == 1) {
		std::cout << "ERROR: missing filename" << std::endl;
		return -1;
		}
	
    cvNamedWindow( "Video Capture", CV_WINDOW_AUTOSIZE );
    
    //CvCapture* capture = cvCaptureFromAVI( argv[1] ); // either one will work
    
    CvCapture* capture = cvCreateFileCapture( argv[1] );

	if (capture == NULL) {
		std::cout << "ERROR: can not open file " << argv[1] << std::endl;
		return -1;
		}
    
    IplImage* frame;
    while(1) {
        frame = cvQueryFrame( capture );
        if( !frame ) break;
        cvShowImage( "Video Capture", frame );
        char c = cvWaitKey(33);
        if( c == 27 ) break;
    }
    cvReleaseCapture( &capture );
    cvDestroyWindow( "Video Capture" );
}
开发者ID:alopesajr,项目名称:CG-Classes,代码行数:29,代码来源:ch2_ex2_2.cpp


示例11: main

int main( int argc, char** argv ) {
	cvNamedWindow( "Example3", CV_WINDOW_AUTOSIZE );
	g_capture = cvCreateFileCapture( argv [1] );
	int frames = (int) cvGetCaptureProperty(
			g_capture,
			CV_CAP_PROP_FRAME_COUNT
		);
	if( frames!= 0 ) {
		cvCreateTrackbar(
			"Position",
			"Example3",
			&g_slider_position,
			frames,
			onTrackbarSlide
		);
	}
	IplImage* frame;
	while(1) {
		frame = cvQueryFrame( g_capture );
		if( !frame ) break;
		cvShowImage( "Example3", frame );
		char c = cvWaitKey(33);
		if( c == 27 ) break;
	}
	cvReleaseCapture( &g_capture );
	cvDestroyWindow( "Example3" );

	return(0);
}
开发者ID:Adu143,项目名称:OpenCV,代码行数:29,代码来源:example2-3.cpp


示例12: main

int main(int argc, char** argv){
	// Example2という名前のウィンドウを作成する
	cvNamedWindow("Example2", CV_WINDOW_AUTOSIZE);
	// ビデオファイルからフレームを扱えるように準備する
	CvCapture *capture = cvCreateFileCapture(argv[1]);
	IplImage *frame;
	// ビデオファイルをループして表示する
	while(1){
		// ビデオファイルからフレームを読み出す
		frame = cvQueryFrame(capture);
		if(!frame){
			break;
		}
		// Example2のウィンドウにフレームを表示する
		cvShowImage("Example2", frame);
		// 33ミリ秒キー入力を待つ
		char c = cvWaitKey(33);
		// エスケープキーが押されればループを抜ける
		if(c == 27){
			break;
		}
	}
	// CvCapture変数を解放する
	cvReleaseCapture(&capture);
	// ウィンドウを閉じる
	cvDestroyWindow("Example2");
	return 0;
}
开发者ID:Fuminimax,项目名称:OpenCV,代码行数:28,代码来源:viewVideo.c


示例13: GetConfigurationString

void THISCLASS::OnStart() {
	// Open file
	wxString filename_string = GetConfigurationString(wxT("File"), wxT(""));
	wxFileName filename = mCore->GetProjectFileName(filename_string);
	if (! filename.FileExists()) {
	  wxString msg = wxT("The avi file does not exist: ");
	  msg << filename_string;
	  AddError(msg);
	  return;
	}
	if (filename.IsOk()) {
	  mCapture = cvCreateFileCapture(filename.GetFullPath().mb_str(wxConvFile));
	}

	// Error? Check whether the file exists or not, to give an appropriate error message to the user
	if (mCapture == NULL) {
		std::fstream f;
		f.open(filename.GetFullPath().mb_str(wxConvFile));
		if (f.is_open()) {
			f.close();
			AddError(wxT("Can open the AVI file as a file, but not with OpenCV."));
			return;
		} else {
			AddError(wxT("Cannot open AVI file: permissions problem or something?"));
			return;
		}
	}

	// Reset to first frame
	cvSetCaptureProperty(mCapture, CV_CAP_PROP_POS_FRAMES, 0);
}
开发者ID:gctronic,项目名称:swistrack,代码行数:31,代码来源:ComponentInputFileAVI.cpp


示例14: cvNamedWindow

void Kalman_Filter::video_extraction()
{
    cvNamedWindow( "video", CV_WINDOW_AUTOSIZE );
    CvCapture* capture = cvCreateFileCapture( "fi-br-m1.avi" );
    IplImage* frame;

    int frameNo = 0;

    while(1)
    {
        frame = cvQueryFrame( capture );

        if (frameNo == 0) cvSaveImage("model.png", frame, 0);

        if (frameNo == 30) cvSaveImage("data.png", frame, 0);

        if( !frame ) break;
        cvShowImage( "video", frame );
        char c = cvWaitKey(33);
        if( c == 27 ) break;

        frameNo++;
    }
    cvReleaseCapture( &capture );
    cvDestroyWindow( "video" );

}
开发者ID:anhnp82,项目名称:KalmanFilter,代码行数:27,代码来源:kalman_filter.cpp


示例15: main

int main(int argc, char** argv) {
  CvCapture* capture = 0;
  IplImage* input = 0;
  IplImage* output = 0;
  int tick = 0, prev_tick = 0;
  double now = 0.0;
  CvFont font;
  char buffer[256];
  const char* windowName = "median";

  if (argc == 1 || (argc == 2 && strlen(argv[1]) == 1 && isdigit(argv[1][0]))) {
    capture = cvCreateCameraCapture(argc == 2 ? argv[1][0] - '0' : 0);
  } else if (argc == 2) {
    capture = cvCreateFileCapture(argv[1]);
  }
  if (!capture) {
    fprintf(stderr, "ERROR: capture is NULL \n");
    return (-1);
  }

  cvNamedWindow(windowName, CV_WINDOW_AUTOSIZE);
  cvInitFont(&font, CV_FONT_HERSHEY_SIMPLEX, 1.0, 1.0, 0.0, 1, 0);
  input = cvQueryFrame(capture);
  if (!input) {
    fprintf(stderr, "Could not query frame...\n");
    return (-1);
  }
  output = cvCreateImage(cvSize(input->width, input->height), IPL_DEPTH_8U, 3);

  while (1) {
    input = cvQueryFrame(capture);
    if (!input) {
      fprintf(stderr, "Could not query frame...\n");
      break;
    }

    process(input, output);

    sprintf(buffer, "%3.1lfms", now / 1000);
    cvPutText(output, buffer, cvPoint(50, 150), &font, CV_RGB(255, 0, 0));

    cvShowImage(windowName, output);

    //If a certain key pressed
    if (cvWaitKey(10) >= 0) {
      break;
    }

    tick = cvGetTickCount();
    now = (tick - prev_tick) / cvGetTickFrequency();
    prev_tick = tick;
  }

  cvReleaseImage(&output);

  cvReleaseCapture(&capture);
  cvDestroyWindow(windowName);

  return 0;
}
开发者ID:rito96,项目名称:3Asemester,代码行数:60,代码来源:median.c


示例16: the_car

void the_project::project_init()
{
	car_of_pro = new the_car();


	//camera  480*640

	for_cam = cvCreateCameraCapture(1);
	for_video = cvCreateFileCapture("test.avi");
	image_size = cvSize(cvGetCaptureProperty(for_cam,3),cvGetCaptureProperty(for_cam,4));
	wr1 = cvCreateVideoWriter("record_ori.avi",CV_FOURCC('X','V','I','D') ,15,image_size);
	wr2 = cvCreateVideoWriter("record_cha.avi",CV_FOURCC('X','V','I','D') ,15,image_size);

	newpoints[0]=cvPoint2D32f(0,0);
	newpoints[1]=cvPoint2D32f(0,image_size.height);
	newpoints[2]=cvPoint2D32f(image_size.width,image_size.height);
	newpoints[3]=cvPoint2D32f(image_size.width,0);

	red_min=200;
	rg_max=100;
	rb_max=100;
	green_min=200;
	gb_max=100;
	gr_max=100;

}
开发者ID:zzzsss,项目名称:two_b,代码行数:26,代码来源:the_project.cpp


示例17: main

int main( int argc, char** argv ) {

    // CAPTURE VIDEO
    CvCapture* capture;
    capture = cvCreateFileCapture("trafficDay.avi");
    if( capture == NULL ) {
        fprintf (stderr, "cannot open file\n");
        exit(1);
    }


    // ALLOCATE SPACE FOR IplImage STRUCTURES.
    // DEFAULT ONE FROM VIDEO.
    IplImage *big_frame = cvQueryFrame(capture);
    IplImage *frame = cvCreateImage (cvSize(DEFAULT_SIZE(0), DEFAULT_SIZE(1)), big_frame->depth, big_frame->nChannels);
    IplImage *last_frame = cvCreateImage (cvSize(DEFAULT_SIZE(0), DEFAULT_SIZE(1)), big_frame->depth, big_frame->nChannels);
    IplImage *diff = cvCreateImage (cvSize(DEFAULT_SIZE(0), DEFAULT_SIZE(1)), big_frame->depth, big_frame->nChannels);
    cvResize (big_frame, last_frame, CV_INTER_LINEAR );


    // CREATE WINDOWS AND LOCATE THEM TO TOP LEFT OF THE SCREEN
    cvNamedWindow( "Video", CV_WINDOW_AUTOSIZE);
    cvNamedWindow( "Difference", CV_WINDOW_AUTOSIZE);
    cvMoveWindow ("Video", 100, 0);
    cvMoveWindow ("Difference", 100, 500);


    // MAIN LOOP
    while((big_frame = cvQueryFrame (capture)) != NULL) {
        // RESIZE IMAGE FROM VIDEO
        cvResize (big_frame, frame, CV_INTER_LINEAR );
        // SHOW CAPTURED AND RESIZED IMAGE
        cvShowImage("Video", frame);

        // COMPUTE AND SWOW DIFFERENCE
        cvSub (frame, last_frame, diff, NULL);
        cvShowImage("Difference", diff);

        // WAIT FOR BREAK AND TO ADJUST FPS
        char c = cvWaitKey(50);
        if(c == 27) break;

        // UPDATE LAST FRAME
        cvCopy (frame, last_frame, NULL);

    }

    //RELEASE IMAGE STRUCTURES
    cvReleaseImage (&last_frame);
    cvReleaseImage (&frame);
    cvReleaseImage (&diff);

    // RELEASE CAPTURE
    cvReleaseCapture(&capture);
    // DESTROY WINDOWS
    cvDestroyWindow("Video");
    cvDestroyWindow("Difference");
    return 0;
}
开发者ID:imark83,项目名称:opencv,代码行数:59,代码来源:test_frame_diff.c


示例18: SetVideoType

//----------------------------------------------------------------------------------------------------
BOOL CMyVideoOpenCV::CaptureVideoFile(CString szFileName)
{
	SetVideoType(VIDEO_FILE);
	SetFileName(szFileName);
	
	m_pCapture = cvCreateFileCapture(szFileName);
	if(!m_pCapture) return FALSE;

	return TRUE;
}
开发者ID:geetchoubey,项目名称:facial-feature-extraction,代码行数:11,代码来源:MyVideoOpenCV.cpp


示例19: IVideoCapture_create

bool VideoCapture::open(const String& filename)
{
    if (isOpened()) release();
    icap = IVideoCapture_create(filename);
    if (!icap.empty())
        return true;

    cap.reset(cvCreateFileCapture(filename.c_str()));
    return isOpened();
}
开发者ID:165-goethals,项目名称:opencv,代码行数:10,代码来源:cap.cpp


示例20: cvCreateFileCapture

void FaceDetect::detectVideo(const char* videoFile) {
  CvCapture* capture = cvCreateFileCapture(videoFile);
  cv::Mat frame;
  while(true) {
    frame = cvQueryFrame(capture);
    if(frame.empty())
      break;
    detect(frame);
  }
}
开发者ID:dalinhuang,项目名称:wushuu,代码行数:10,代码来源:facedetect.cpp



注:本文中的cvCreateFileCapture函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ cvCreateHist函数代码示例发布时间:2022-05-30
下一篇:
C++ cvCreateCameraCapture函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap