IHandVuFilter.h
上传用户:lijia5631
上传日期:2008-11-10
资源大小:1214k
文件大小:4k
源码类别:

视频捕捉/采集

开发平台:

MultiPlatform

  1. /**   * 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: IHandVuFilter.h,v 1.12 2005/10/30 23:00:43 matz Exp $ **/ #ifndef __IHANDVUFILTER__
  2. #define __IHANDVUFILTER__
  3. #include "HandVu.h"
  4. #include "HandVu.hpp"
  5. typedef struct _HandVuFilterParams
  6. {
  7.   int        immediate_apply; // how to apply changes
  8. } HandVuFilterParams;
  9. class CameraController;
  10. class HVFilterEventListener {
  11. public:
  12.   virtual void FrameTransformed(bool processed) = 0;
  13. };
  14. #ifdef __cplusplus
  15. extern "C" {
  16. #endif
  17.   // {0C2E9517-6BC4-4b64-933F-B3BEF0074868}
  18.   DEFINE_GUID(IID_IHandVuFilter, 
  19.   0xc2e9517, 0x6bc4, 0x4b64, 0x93, 0x3f, 0xb3, 0xbe, 0xf0, 0x7, 0x48, 0x68);
  20.   DECLARE_INTERFACE_(IHandVuFilter, IUnknown)
  21.   {
  22.     STDMETHOD(GetHandVuFilterParams)  (THIS_
  23.                                        HandVuFilterParams& params
  24.                                        ) const PURE;
  25.     STDMETHOD(SetHandVuFilterParams)  (THIS_
  26.                                        const HandVuFilterParams& params
  27.                                        ) PURE;
  28.     STDMETHOD (AddListener) (THIS_ HVFilterEventListener* pHVFListener) PURE;     STDMETHOD (RemoveListener) (THIS_ HVFilterEventListener* pHVFListener) PURE;     STDMETHOD (ToggleMaintenanceApp) (THIS_) PURE;     STDMETHOD (ToggleFDLOnly) (THIS_) PURE;     STDMETHOD (Initialize) (THIS_ int width, int height, int iPixelSize, CameraController* pCC) PURE;     STDMETHOD (LoadConductor) (THIS_ const string& filename) PURE;     STDMETHOD (ConductorLoaded) (THIS_ bool* pLoaded) PURE;     STDMETHOD (StartRecognition) (THIS_ int obj_id) PURE;     STDMETHOD (StopRecognition) (THIS_ int obj_id) PURE;     STDMETHOD (IsActive) (THIS_ bool* pActive) PURE;     STDMETHOD (GetState) (THIS_ int obj_id, hvState& state) PURE;     STDMETHOD (SetOverlayLevel) (THIS_ int level) PURE;     STDMETHOD (GetOverlayLevel) (THIS_ int* pLevel) PURE;     STDMETHOD (CorrectDistortion) (THIS_ bool enable) PURE;     STDMETHOD (CanCorrectDistortion) (THIS_ bool* pPossible) PURE;     STDMETHOD (IsCorrectingDistortion) (THIS_ bool* pOn) PURE;     STDMETHOD (SetDetectionArea) (THIS_ int left, int top, int right, int bottom) PURE;     STDMETHOD (RecomputeNormalLatency) (THIS_ ) PURE;     STDMETHOD (SetAdjustExposure) (THIS_ bool enable) PURE;     STDMETHOD (CanAdjustExposure) (THIS_ bool* pPossible) PURE;     STDMETHOD (IsAdjustingExposure) (THIS_ bool* pEnabled) PURE;     STDMETHOD (OnLButtonUp) (THIS_ UINT nFlags, double x, double y) PURE;
  29.   STDMETHOD (OnMouseMove) (THIS_ UINT nFlags, double x, double y) PURE;
  30.   STDMETHOD (TakeSnapshot) (THIS_) PURE;
  31.     STDMETHOD (GetVersion) (THIS_ string& version) PURE;
  32. #if defined(HAVE_USER_STUDY)
  33.   STDMETHOD (AbortStudyHV1Task) (THIS_) PURE;
  34.   STDMETHOD (AbortStudyHV1Session) (THIS_) PURE;
  35.   STDMETHOD (StartStudyHV1) (THIS_) PURE;
  36.   STDMETHOD (StartStudyHV2) (THIS_) PURE;
  37. #endif
  38.   STDMETHOD (SetTimecodeReader) (THIS_ IUnknown* tcr) PURE;
  39.   STDMETHOD (SetVerbosity) (THIS_ int level, const string& logfilename) PURE;
  40.   };
  41.   
  42. #ifdef __cplusplus
  43. }
  44. #endif
  45. #endif // __IHANDVUFILTER__
  46.