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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? handvu_cintf.cpp

?? tracciatore di mani con webcam
?? CPP
?? 第 1 頁 / 共 2 頁
字號(hào):
// HandVu_Cintf.cpp: C interface to the C++ classes in HandVu.cpp//#include "Common.h"#include "HandVu.hpp"#include "HandVu.h"#include "GestureServer.h"#if defined(WIN32)#if defined(GetMessage)#undef GetMessage#endif#include <time.h>#define CLOCKS_PER_USEC ((double)(CLOCKS_PER_SEC)/1000000.0)class RefClockWindows : public RefClock {public:  virtual RefTime GetCurrentTimeUsec() const;};RefTime RefClockWindows::GetCurrentTimeUsec() const{  clock_t ct = clock();  return (RefTime) (ct/CLOCKS_PER_USEC);}#define RefClockArch RefClockWindows#else //WIN32#define CLOCKS_PER_USEC ((double)(CLOCKS_PER_SEC)/1000000.0)class RefClockLinux : public RefClock {public:  virtual RefTime GetCurrentTimeUsec() const;};RefTime RefClockLinux::GetCurrentTimeUsec() const{  clock_t ct = clock();  return (RefTime) (ct/CLOCKS_PER_USEC);}#define RefClockArch RefClockLinux#endif //WIN32class DisplayCallbackCintf : public DisplayCallback { public:  DisplayCallbackCintf(void (*cb)(IplImage* img, hvAction action)) :    m_cb(cb) {}  virtual void Display(IplImage* img, HandVu::HVAction action); protected:  void (*m_cb)(IplImage*, hvAction);};void DisplayCallbackCintf::Display(IplImage* img, HandVu::HVAction action){  CV_FUNCNAME( "hvDisplayCallback" ); // declare cvFuncName  __BEGIN__;  hvAction act;  switch (action) {  case HandVu::HV_INVALID_ACTION:    act = HV_INVALID_ACTION; break;  case HandVu::HV_PROCESS_FRAME:    act = HV_PROCESS_FRAME; break;  case HandVu::HV_SKIP_FRAME:    act = HV_SKIP_FRAME; break;  case HandVu::HV_DROP_FRAME:    act = HV_DROP_FRAME; break;  default:    CV_ERROR(CV_StsError, "unknown HVAction code");  }    m_cb(img, act);  __END__;}typedef GestureServer* GestureServerPtr;vector<GestureServerPtr> g_pservers;HandVu* g_pHandVu = NULL;RefClockArch* g_pClock = NULL;DisplayCallbackCintf* g_displayCallback = NULL;void hvInitialize(int image_width, int image_height){  CV_FUNCNAME( "hvInitialize" ); // declare cvFuncName  __BEGIN__;  if (image_width<0 || image_height<0) {    CV_ERROR(CV_BadImageSize, "negative image width or height");  }  if (g_pHandVu) {    CV_ERROR(CV_StsError, "HandVu already initialized");  }  try {    g_pHandVu = new HandVu();    g_pClock = new RefClockArch();    g_pHandVu->Initialize(image_width, image_height, g_pClock, NULL);  } catch (HVException& hve) {    CV_ERROR(CV_StsError, hve.GetMessage().c_str());  }  __END__;}void hvUninitialize(){  CV_FUNCNAME( "hvUninitialize" ); // declare cvFuncName  __BEGIN__;  if (!g_pHandVu) {    CV_ERROR(CV_StsError, "HandVu not initialized");  }  try {    g_pHandVu->~HandVu();    g_pHandVu = NULL;    delete g_pClock;    g_pClock = NULL;    if (g_displayCallback) {      delete g_displayCallback;    }    // gesture servers    for (int i=0; i<(int)g_pservers.size(); i++) delete g_pservers[i];    g_pservers.clear();  } catch (HVException& hve) {    CV_ERROR(CV_StsError, hve.GetMessage().c_str());  }  __END__;}void hvLoadConductor(const string& filename){  CV_FUNCNAME( "hvLoadConductor" ); // declare cvFuncName  __BEGIN__;  if (!g_pHandVu) {    CV_ERROR(CV_StsError, "HandVu not initialized");  }  try {    g_pHandVu->LoadConductor(filename);  } catch (HVException& hve) {    CV_ERROR(CV_StsError, hve.GetMessage().c_str());  }  __END__;}bool hvConductorLoaded(){  CV_FUNCNAME( "hvConductorLoaded" ); // declare cvFuncName  __BEGIN__;  if (!g_pHandVu) {    CV_ERROR(CV_StsError, "HandVu not initialized");  }  try {    return g_pHandVu->ConductorLoaded();  } catch (HVException& hve) {    CV_ERROR(CV_StsError, hve.GetMessage().c_str());  }  __END__;}void hvStartRecognition(int obj_id){  CV_FUNCNAME( "hvStartRecognition" ); // declare cvFuncName  __BEGIN__;  if (!g_pHandVu) {    CV_ERROR(CV_StsError, "HandVu not initialized");  }  try {    g_pHandVu->StartRecognition(obj_id);  } catch (HVException& hve) {    CV_ERROR(CV_StsError, hve.GetMessage().c_str());  }  __END__;}void hvStopRecognition(int obj_id){  CV_FUNCNAME( "hvStopRecognition" ); // declare cvFuncName  __BEGIN__;  if (!g_pHandVu) {    CV_ERROR(CV_StsError, "HandVu not initialized");  }  try {    g_pHandVu->StopRecognition(obj_id);  } catch (HVException& hve) {    CV_ERROR(CV_StsError, hve.GetMessage().c_str());  }  __END__;}hvAction hvProcessFrame(IplImage* inOutImage, IplImage* rightImage){  CV_FUNCNAME( "hvProcessFrame" ); // declare cvFuncName  __BEGIN__;  if (!g_pHandVu) {    CV_ERROR(CV_StsError, "HandVu not initialized");  }  try {    RefTime t = g_pClock->GetCurrentTimeUsec();    GrabbedImage gi(inOutImage, t, -1);    HandVu::HVAction action = g_pHandVu->ProcessFrame(gi, rightImage);    switch (action) {      case HandVu::HV_INVALID_ACTION:        return HV_INVALID_ACTION;      case HandVu::HV_PROCESS_FRAME:        return HV_PROCESS_FRAME;      case HandVu::HV_SKIP_FRAME:        return HV_SKIP_FRAME;      case HandVu::HV_DROP_FRAME:        return HV_DROP_FRAME;      default:        CV_ERROR(CV_StsError, "unknown HandVu::HVAction");    }  } catch (HVException& hve) {    CV_ERROR(CV_StsError, hve.GetMessage().c_str());  }  __END__;}bool hvIsActive(){  CV_FUNCNAME( "hvIsActive" ); // declare cvFuncName  __BEGIN__;  if (!g_pHandVu) {    CV_ERROR(CV_StsError, "HandVu not initialized");  }  try {    bool active = g_pHandVu->IsActive();    return active;  } catch (HVException& hve) {    CV_ERROR(CV_StsError, hve.GetMessage().c_str());  }  __END__;}void hvAsyncSetup(int num_buffers, void (*cb)(IplImage* img, hvAction action)){  CV_FUNCNAME( "hvAsyncSetup" ); // declare cvFuncName  __BEGIN__;  if (!g_pHandVu) {    CV_ERROR(CV_StsError, "HandVu not initialized");  }  try {    if (g_displayCallback) {      delete g_displayCallback;    }    g_displayCallback = new DisplayCallbackCintf(cb);    g_pHandVu->AsyncSetup(num_buffers, g_displayCallback);      } catch (HVException& hve) {    CV_ERROR(CV_StsError, hve.GetMessage().c_str());  }  __END__;}void hvAsyncGetImageBuffer(IplImage** pImage, int* pBufferID){  CV_FUNCNAME( "hvAsyncGetImageBuffer" ); // declare cvFuncName  __BEGIN__;  if (!g_pHandVu) {    CV_ERROR(CV_StsError, "HandVu not initialized");  }  try {    g_pHandVu->AsyncGetImageBuffer(pImage, pBufferID);  } catch (HVException& hve) {    CV_ERROR(CV_StsError, hve.GetMessage().c_str());  }  __END__;}void hvAsyncProcessFrame(int bufferID){  CV_FUNCNAME( "hvAsyncProcessFrame" ); // declare cvFuncName  __BEGIN__;  if (!g_pHandVu) {    CV_ERROR(CV_StsError, "HandVu not initialized");  }  try {    RefTime t = g_pClock->GetCurrentTimeUsec();    g_pHandVu->AsyncProcessFrame(bufferID, t);  } catch (HVException& hve) {    CV_ERROR(CV_StsError, hve.GetMessage().c_str());  }  __END__;}void hvGetState(int obj_id, hvState& state){  CV_FUNCNAME( "hvGetState" ); // declare cvFuncName  __BEGIN__;  if (!g_pHandVu) {    CV_ERROR(CV_StsError, "HandVu not initialized");  }  try {    HVState hsta;    g_pHandVu->GetState(obj_id, hsta);    state.obj_id = hsta.m_obj_id;    state.tracked = hsta.m_tracked;    state.recognized = hsta.m_recognized;    state.center_xpos = hsta.m_center_xpos;    state.center_ypos = hsta.m_center_ypos;    state.scale = hsta.m_scale;    state.posture = hsta.m_posture;    state.tstamp = hsta.m_tstamp;  } catch (HVException& hve) {    CV_ERROR(CV_StsError, hve.GetMessage().c_str());  }  __END__;}void hvSetDetectionArea(int left, int top, int right, int bottom){  CV_FUNCNAME( "hvSetDetectionArea" ); // declare cvFuncName  __BEGIN__;  if (!g_pHandVu) {    CV_ERROR(CV_StsError, "HandVu not initialized");  }  try {    g_pHandVu->SetDetectionArea(left, top, right, bottom);  } catch (HVException& hve) {    CV_ERROR(CV_StsError, hve.GetMessage().c_str());  }  __END__;}void hvGetDetectionArea(int* pLeft, int* pTop, int* pRight, int* pBottom){  CV_FUNCNAME( "hvAsyncProcessFrame" ); // declare cvFuncName  __BEGIN__;  if (!g_pHandVu) {    CV_ERROR(CV_StsError, "HandVu not initialized");  }  try {    CQuadruple area;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久久久久果冻传媒 | 天堂一区二区在线免费观看| 中文字幕精品一区| 久久久久高清精品| 26uuu久久综合| 久久久91精品国产一区二区精品| 久久亚洲私人国产精品va媚药| 欧美一区二区在线视频| 4438x成人网最大色成网站| 日韩西西人体444www| 欧美变态tickling挠脚心| 精品人伦一区二区色婷婷| 国产亚洲欧美一区在线观看| 国产精品私人影院| 一区二区国产盗摄色噜噜| 性做久久久久久免费观看欧美| 亚洲成av人片一区二区三区| 蜜臀va亚洲va欧美va天堂| 蓝色福利精品导航| 国产成人免费视频网站高清观看视频 | 亚洲一区二区三区中文字幕| 天天色综合天天| 久久99国内精品| 成人免费黄色大片| 欧美日韩国产美| 26uuu亚洲| 一区二区三区国产精华| 日韩和欧美一区二区| 国产精品1区2区3区在线观看| 国产999精品久久久久久| 欧美中文字幕亚洲一区二区va在线 | 国产精品久久久久久久岛一牛影视 | 欧美一区日韩一区| 国产日韩欧美高清在线| 亚洲超碰精品一区二区| 狠狠色2019综合网| 91成人在线精品| 久久麻豆一区二区| 亚洲国产精品久久人人爱| 国产一区二区免费在线| 在线观看视频欧美| 日本一区二区成人在线| 亚洲二区在线观看| 成人91在线观看| 欧美大尺度电影在线| 亚洲男同性视频| 国产伦精品一区二区三区免费迷| 色乱码一区二区三区88| 久久久精品日韩欧美| 亚洲成人一区二区在线观看| 成人国产精品免费观看动漫| 日韩三级高清在线| 亚洲一区在线观看视频| 99综合电影在线视频| 欧美mv日韩mv| 日韩成人免费看| 在线观看视频欧美| 亚洲精品中文在线| www.欧美.com| 国产视频一区在线观看| 久久97超碰色| 日韩视频永久免费| 日韩精品一区第一页| 欧洲人成人精品| 亚洲一区在线播放| 日本道精品一区二区三区| 自拍视频在线观看一区二区| 国产精品亚洲第一区在线暖暖韩国 | 美女高潮久久久| 欧美精品xxxxbbbb| 日韩精品国产欧美| 制服.丝袜.亚洲.中文.综合| 日韩综合一区二区| 欧美精品亚洲一区二区在线播放| 中文av字幕一区| 懂色av一区二区三区免费看| 国产欧美精品在线观看| 成人性生交大合| 亚洲色图色小说| 91免费观看视频在线| 亚洲免费在线看| 欧美老肥妇做.爰bbww| 奇米影视一区二区三区| 精品久久国产字幕高潮| 国产福利一区二区三区| 国产精品毛片久久久久久| av亚洲精华国产精华精| 夜夜嗨av一区二区三区| 欧美精品在线观看一区二区| 精品影视av免费| 国产目拍亚洲精品99久久精品| 国产成人免费在线观看不卡| 国产精品二区一区二区aⅴ污介绍| av资源网一区| 手机精品视频在线观看| 日韩三级高清在线| 99国产精品久久久久久久久久久| 亚洲精品你懂的| 日韩欧美在线123| av在线播放一区二区三区| 亚洲成人精品一区| 国产日韩欧美一区二区三区乱码 | 91啪九色porn原创视频在线观看| 一个色综合网站| 日韩欧美www| 一本久久a久久免费精品不卡| 亚洲成a人在线观看| 久久久久国产一区二区三区四区| 一本到高清视频免费精品| 开心九九激情九九欧美日韩精美视频电影| 久久夜色精品国产欧美乱极品| 91麻豆精品一区二区三区| 麻豆精品久久久| 一区二区三区丝袜| 国产日韩亚洲欧美综合| 欧美日本乱大交xxxxx| 成人动漫一区二区三区| 偷拍与自拍一区| 亚洲婷婷国产精品电影人久久| 日韩精品专区在线影院观看| 91一区一区三区| 国产一区二区三区四区五区入口| 亚洲一区二区精品视频| 国产精品无人区| 久久影院午夜片一区| 91精品国产91热久久久做人人| 成人美女在线视频| 国产精品一区二区久久不卡 | 99国产欧美久久久精品| 国产福利一区二区三区视频| 麻豆免费看一区二区三区| 一区二区三区免费观看| 国产精品麻豆久久久| 久久久www成人免费毛片麻豆| 欧美一区二区三区视频在线观看| 91一区一区三区| av成人免费在线| 丁香婷婷综合五月| 韩国一区二区三区| 久久99久久久欧美国产| 看电影不卡的网站| 免费高清在线一区| 日韩av一区二区在线影视| 亚洲国产一区二区三区| 亚洲美女偷拍久久| 亚洲色图欧洲色图| 亚洲欧美激情一区二区| 亚洲欧美激情小说另类| 亚洲精品伦理在线| 亚洲欧美日韩一区| 亚洲精品久久嫩草网站秘色| 亚洲日本在线观看| 亚洲精品国产第一综合99久久| 亚洲精品免费看| 亚洲国产成人tv| 蜜臀a∨国产成人精品| 欧美aaa在线| 国产一区二区不卡老阿姨| 国产精品一二一区| 国产黄色精品视频| 成人免费视频免费观看| 色香蕉成人二区免费| 在线观看日产精品| 制服.丝袜.亚洲.中文.综合| 精品日韩欧美在线| 国产三级精品在线| 亚洲视频在线一区| 洋洋av久久久久久久一区| 午夜精品福利一区二区蜜股av| 日韩极品在线观看| 国产成人在线色| 91麻豆免费看| 欧美va在线播放| 日本一区二区三区在线观看| 亚洲色图.com| 理论片日本一区| 成人福利在线看| 制服丝袜日韩国产| 久久久精品影视| 亚洲国产视频一区| 激情欧美一区二区| 日本韩国一区二区三区视频| 日韩一级在线观看| 中文字幕日韩一区二区| 首页综合国产亚洲丝袜| 本田岬高潮一区二区三区| 欧美午夜在线观看| 国产欧美日韩三级| 日本强好片久久久久久aaa| 国产成人福利片| 欧美日韩国产免费一区二区 | 欧美综合在线视频| 日韩精品一区二区三区在线| 亚洲日本一区二区| 国内久久婷婷综合| 欧美日韩亚洲综合一区二区三区 | 99久久精品免费看国产| 欧美精品三级日韩久久| 国产精品视频一区二区三区不卡| 视频在线在亚洲|