⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 show_video_v4l_main.c

📁 一个可以进行视频采集和显示的源代码,在LINUX操作系统下使用,可通过修改移植到ARM.
💻 C
字号:
/*==========================================================================  $Id$  show_video_v4l_main.c: Main routine for capturing video using GLUT and V4L.  Written by Naoyuki Ichimura, AIST, 2001.==========================================================================*/#include "show_video_v4l.h"int extract_skin_color;	/* global variable for enabling image processing */int main( int argc , char *argv[] ){    static char window_title[1024]="Video Capture";    int i,j;    int video_input;    double zoom_rate;	/* for zooming *//*======= Set option =========================================*/    zoom_rate = DEFAULT_ZOOM_RATE;    video_input = S_VIDEO;    extract_skin_color = 0;    for( i = j = 1 ; i < argc ; i++ ) {	if( argv[i][0] == '-' || argv[i][0] == '/' ) {	    switch( argv[i][1] ) {	      case 'z':		zoom_rate = atof(&argv[i][2]);		break;	      case 'v':		video_input = atoi(&argv[i][2]);		break;	      case 's':		extract_skin_color = 1;		break;	      default:		break;	    }	} else {	    argv[j++] = argv[i];	}    }    argc = j;/*======= Initialize GLUT ====================================*/    glutInit( &argc , argv );    glutInitDisplayMode( GLUT_RGBA | GLUT_DOUBLE ); /* enable double buffering of video board *//*======= Initialize window ==================================*/    glutInitWindowPosition( INIT_WINDOW_POS_X , INIT_WINDOW_POS_Y );	/* initial window position */    glutInitWindowSize( (int)(zoom_rate*IMAGE_WIDTH_DS) , (int)(zoom_rate*IMAGE_HEIGHT_DS) );	/* set window size */    glutCreateWindow( window_title );	/* creat window with name *//*======= Initialize projection ==============================*/    glOrtho( 0.0 , IMAGE_WIDTH_DS-1.0 , 0.0 , IMAGE_HEIGHT_DS , -1.0 , 1.0 );    glPixelZoom( zoom_rate , zoom_rate );/*======= Initilize capture device ============================*/    ShowVideoInitCaptureDevice( DEFAULT_DEVICE_NAME , video_input );/*======= Initilize buffer ====================================*/    glClearColor( 0.0 , 0.0 , 0.0 , 0.0 );    glClear( GL_COLOR_BUFFER_BIT );    glutSwapBuffers();    glFlush();/*======= Register callback functions =========================*/    glutDisplayFunc( ShowVideoDisplayImage );    glutMouseFunc( ShowVideoMouseCheck );    glutIdleFunc( ShowVideoCaptureImage );	/* global idle callback *//*======= Begin event loop ====================================*/    glutMainLoop();    exit(0);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -