亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? hv_opencv.cpp

?? tracciatore di mani con webcam
?? CPP
字號(hào):
/*** HandVu - a library for computer vision-based hand gesture* recognition.* Copyright (C) 2004 Mathias Kolsch, matz@cs.ucsb.edu** This program is free software; you can redistribute it and/or* modify it under the terms of the GNU General Public License* as published by the Free Software Foundation; either version 2* of the License, or (at your option) any later version.** This program is distributed in the hope that it will be useful,* but WITHOUT ANY WARRANTY; without even the implied warranty of* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the* GNU General Public License for more details.** You should have received a copy of the GNU General Public License* along with this program; if not, write to the Free Software* Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA  02111-1307, USA.** $Id: hv_OpenCV.cpp,v 1.15 2006/01/03 21:44:15 matz Exp $**/#ifdef WIN32#include <windows.h>#endif#include <stdio.h>#include <cv.h>#include <highgui.h>#include <ctype.h>#include <time.h>#include "HandVu.h"IplImage *capture_image = 0;IplImage *display_image = 0;bool async_processing = false;int num_async_bufs = 30;IplImage *m_async_image = 0;int m_async_bufID = -1;bool sync_display = true;CvPoint origin;int select_object = 0;int sel_area_left=0, sel_area_top=0, sel_area_right=0, sel_area_bottom=0;bool correct_distortion = false;void OnMouse( int event, int x, int y, int /*flags*/, void* /*params*/ ){  if( !capture_image )    return;  if( capture_image->origin )    y = capture_image->height - y;  if( select_object )  {    sel_area_left = MIN(x,origin.x);    sel_area_top = MIN(y,origin.y);    sel_area_right = sel_area_left + CV_IABS(x - origin.x);    sel_area_bottom = sel_area_top + CV_IABS(y - origin.y);    sel_area_left = MAX( sel_area_left, 0 );    sel_area_top = MAX( sel_area_top, 0 );    sel_area_right = MIN( sel_area_right, capture_image->width );    sel_area_bottom = MIN( sel_area_bottom, capture_image->height );    if( sel_area_right-sel_area_left > 0 && sel_area_bottom-sel_area_top> 0 )      hvSetDetectionArea(sel_area_left, sel_area_top,                         sel_area_right, sel_area_bottom);  }  switch( event )  {  case CV_EVENT_LBUTTONDOWN:    origin = cvPoint(x,y);    sel_area_left = sel_area_right = x;    sel_area_top = sel_area_bottom = y;    select_object = 1;    break;  case CV_EVENT_LBUTTONUP:    select_object = 0;    break;  }}void showFrame(IplImage* img, hvAction action){  if (action==HV_DROP_FRAME) {    // HandVu recommends dropping the frame entirely    // printf("HandVuFilter: dropping frame\n");    return;  } else if (action==HV_SKIP_FRAME) {    // HandVu recommends displaying the frame, but not doing any further    // processing on it - keep going    // printf("HandVuFilter: supposed to skip frame\n");  } else if (action==HV_PROCESS_FRAME) {    // full processing was done and is recommended for following steps;    // keep going    //printf("HandVuFilter: processed frame\n");  } else {    assert(0); // unknown action  }    hvState state;  hvGetState(0, state);    cvShowImage( "HandVu", img );}void displayCallback(IplImage* img, hvAction action){  if (sync_display) {    cvCopy(img, display_image);  } else {    showFrame(img, action);  }}int main( int argc, char** argv ){  CvCapture* capture = 0;  if (argc<2) {    printf("you need to specify a conductor file as first argument\n");    printf("for example: ../config/default.conductor\n");    return -1;  }  string conductor_fname(argv[1]);  printf("will load conductor from file:\n%s\n", conductor_fname.c_str());  if( argc == 2 || argc == 3) {    int num = 0;    if (argc==3) {      num = atoi(argv[2]);    }    capture = cvCaptureFromCAM( num );    if (!capture) {      capture = cvCaptureFromAVI( argv[2] );     }  }  if( !capture )  {    fprintf(stderr,"Could not initialize capturing through OpenCV.\n");    return -1;  }  printf( "Hot keys: \n"    "\tESC - quit the program\n"    "\tr - restart the tracking\n"    "\t0-3 - set the overlay (verbosity) level\n"    "use the mouse to select the initial detection area\n" );   int p = 0; // according to docs, these calls don't work in OpenCV beta 4 yet  p = cvSetCaptureProperty(capture, CV_CAP_PROP_FRAME_WIDTH, 640);  p = cvSetCaptureProperty(capture, CV_CAP_PROP_FRAME_HEIGHT, 480);  capture_image = cvQueryFrame( capture );  if ( !capture_image ) {    fprintf(stderr,"Could not retrieve image through OpenCV.\n");    return -1;  }  /* allocate all the buffers */  CvSize size = cvGetSize(capture_image);  hvInitialize(size.width, size.height);  hvLoadConductor(conductor_fname);  hvStartRecognition();  hvSetOverlayLevel(2);  if (async_processing) {    hvAsyncSetup(num_async_bufs, displayCallback);    if (sync_display) display_image = cvCloneImage(capture_image);  }  cvSetMouseCallback( "HandVu", OnMouse );  int success = cvNamedWindow( "HandVu", 1 );  if (success!=1) {    printf("can't open window - did you compile OpenCV with highgui support?");    return -1;  }  fprintf(stderr, "initialized highgui\n");  for (;;) {    int c;        if (async_processing) {      // asynchronous processing in HandVu      if (sync_display) cvShowImage("HandVu", display_image);            // ------- main library call ---------      hvAsyncGetImageBuffer(&m_async_image, &m_async_bufID);      cvCopy(capture_image, m_async_image);      hvAsyncProcessFrame(m_async_bufID);      // -------          } else {      // synchronous processing in HandVu            // ------- main library call ---------      hvAction action = HV_INVALID_ACTION;      action = hvProcessFrame(capture_image);      // -------            showFrame(capture_image, action);          }        c = cvWaitKey(10);    if( c == 27 || c == 'q' )      break;    switch( c )      {      case 'r':        hvStopRecognition();        hvStartRecognition();        break;      case '0':        hvSetOverlayLevel(0);        break;      case '1':        hvSetOverlayLevel(1);        break;      case '2':        hvSetOverlayLevel(2);        break;      case '3':        hvSetOverlayLevel(3);        break;      case 'u':        if (hvCanCorrectDistortion()) {          correct_distortion = !correct_distortion;          hvCorrectDistortion(correct_distortion);        }        break;      default:        ;      }        // capture next image    capture_image = cvQueryFrame( capture );    if ( !capture_image ) {      fprintf(stderr,"Could not retrieve image through OpenCV.\n");      break;    }  }    cvReleaseCapture( &capture );  cvDestroyWindow("HandVu");  return 0;}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久91精品国产91久久小草| 青椒成人免费视频| 日韩亚洲国产中文字幕欧美| 国产在线观看免费一区| 亚洲一区二区三区激情| 国产无一区二区| 欧美一区二区三区免费在线看 | 日韩国产在线观看一区| 久久久99精品免费观看不卡| 欧美三级乱人伦电影| 国产iv一区二区三区| 无吗不卡中文字幕| 亚洲素人一区二区| 国产午夜亚洲精品午夜鲁丝片| 欧美日韩视频专区在线播放| 不卡一区二区三区四区| 国产一区二区三区四区五区美女| 亚洲一区二区在线免费观看视频| 国产女主播视频一区二区| 欧美一区二区福利视频| 色综合天天性综合| 国产麻豆一精品一av一免费| 热久久一区二区| 亚洲男人的天堂在线观看| 欧美tickling网站挠脚心| 色综合亚洲欧洲| 国产精品一线二线三线精华| 亚洲成人av在线电影| 91精品国产色综合久久| 99久久精品国产精品久久| 激情综合网最新| 一区二区三区小说| 中文字幕免费一区| 日韩欧美一级二级| 欧美日韩久久一区| 91色在线porny| 国产精品88av| 美女视频网站黄色亚洲| 亚洲一区二区精品视频| 亚洲色图丝袜美腿| 久久精品亚洲精品国产欧美kt∨| 91精品国产91热久久久做人人| 成人app软件下载大全免费| 国模一区二区三区白浆| 免费观看日韩电影| 亚洲成人免费看| 亚洲一区二区三区免费视频| 亚洲精品乱码久久久久久久久| 日韩午夜av电影| 欧美亚洲国产bt| 国产乱淫av一区二区三区| 精品一区二区三区不卡| 久久激情五月激情| 青青草原综合久久大伊人精品优势| 亚洲精品水蜜桃| 亚洲天天做日日做天天谢日日欢| 精品国产伦一区二区三区免费| 日韩欧美一区电影| 欧美一区二区三区小说| 制服丝袜在线91| 精品视频色一区| 成人精品国产一区二区4080| 日韩一区二区精品| 国产亚洲精品bt天堂精选| 精品国内片67194| 欧美精品亚洲一区二区在线播放| 在线视频一区二区三| 欧洲一区在线电影| 欧美午夜片在线看| 欧美亚洲一区二区在线观看| 色老汉av一区二区三区| 日本乱人伦aⅴ精品| 91在线国内视频| 日本福利一区二区| 色综合天天天天做夜夜夜夜做| 欧美亚洲禁片免费| 91网站最新地址| 欧美日韩一区二区在线观看| 欧美精品欧美精品系列| 在线观看日韩高清av| 不卡高清视频专区| 色哟哟一区二区| 欧美日韩三级一区| 欧美一区二区三区视频| 日韩精品一区二区三区中文不卡 | 中文字幕免费观看一区| 国产精品电影一区二区| 一区二区三区在线播| 日韩av电影天堂| 国产一区二区主播在线| 99久久伊人久久99| 欧美三级电影网站| 精品国产成人系列| 国产精品久久看| 性久久久久久久久久久久| 亚洲福中文字幕伊人影院| 天堂久久一区二区三区| 久久精品国产成人一区二区三区| 精品写真视频在线观看 | 亚洲国产精品久久久久婷婷884 | 激情综合色丁香一区二区| 国产福利一区在线观看| 色吧成人激情小说| 欧美一区二区三区不卡| 欧美自拍丝袜亚洲| 精品三级在线看| 欧美激情一区二区三区| 亚洲v日本v欧美v久久精品| 国产在线视频精品一区| 99久久99久久综合| 日韩一区二区三区视频在线| 国产日韩欧美一区二区三区乱码| 亚洲最大成人网4388xx| 国产精品自拍一区| av激情成人网| 精品伦理精品一区| 亚洲自拍偷拍九九九| 国产原创一区二区| 欧美视频精品在线| 日本一二三四高清不卡| 午夜精品久久久久久久蜜桃app| 奇米精品一区二区三区在线观看| 92国产精品观看| 久久蜜桃av一区精品变态类天堂 | 蜜臀av性久久久久蜜臀aⅴ| 久久精品国产**网站演员| av网站一区二区三区| 日韩欧美高清一区| 亚洲另类色综合网站| 国产精品影音先锋| 欧美一区二区人人喊爽| 亚洲美腿欧美偷拍| 国产精品影视天天线| 日韩亚洲欧美综合| 亚洲自拍偷拍麻豆| 91在线免费看| 国产午夜精品久久久久久久 | 成人国产精品免费观看动漫 | 欧美午夜电影网| 国产精品成人免费| 国产精品一区二区久久精品爱涩| 日韩午夜在线影院| 五月天精品一区二区三区| 成人午夜在线播放| 欧美不卡在线视频| 亚洲成a人v欧美综合天堂下载| 成人综合在线观看| 日韩欧美综合一区| 亚洲成a人片在线不卡一二三区| 精品久久国产老人久久综合| 国产亚洲一区二区三区四区 | 久久国内精品自在自线400部| 欧美日韩高清不卡| 一区二区在线观看免费视频播放| 国产成人免费视频精品含羞草妖精| 精品国产乱码久久久久久蜜臀| 免费观看一级欧美片| 欧美一级日韩不卡播放免费| 日本中文在线一区| 日韩一二在线观看| 麻豆一区二区三区| 91精选在线观看| 天天影视色香欲综合网老头| 欧美人动与zoxxxx乱| 日韩黄色在线观看| 欧美一区二区三区思思人| 日本一道高清亚洲日美韩| 6080亚洲精品一区二区| 免费的成人av| 久久久久久夜精品精品免费| 国产精品一色哟哟哟| 国产精品乱码一区二区三区软件| av资源网一区| 亚洲制服丝袜av| 欧美另类z0zxhd电影| 蜜臀精品一区二区三区在线观看| 日韩欧美中文字幕精品| 狠狠网亚洲精品| 日韩免费看的电影| 欧美日韩在线播| 午夜精品福利一区二区三区av| 欧美色国产精品| 美女免费视频一区二区| 久久综合资源网| 成人网在线播放| 亚洲乱码国产乱码精品精98午夜| 欧美日韩精品一区视频| 久久超碰97中文字幕| 国产日韩一级二级三级| 91丝袜呻吟高潮美腿白嫩在线观看| 亚洲电影视频在线| 日韩精品一区二区三区swag| 成人在线综合网站| 亚洲综合网站在线观看| 精品美女一区二区| 91网上在线视频| 麻豆视频观看网址久久| 国产精品麻豆久久久| 欧美剧情片在线观看| 美国欧美日韩国产在线播放|