fileDirectShow.h
  0
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
/*
*  DirectShow.h
*
*  Created by Daisuke Nogami on Sep, 05.
*  opyright 2005 Daisuke Nogami [null-null.net]. Some rights reserved.
*/
 
#pragma once
 
// DirectShow
#include <dshow.h>
#include <qedit.h>
 
// OpenCV
#include "cv.h"
#include "highgui.h"
#include "cvcam.h"
 
#include <ctime>
 
class DirectShow{
private:
  //ds
  IGraphBuilder * pGraph;
  IMediaControl * pMC;
  ICaptureGraphBuilder2 * pCapture;
  IBaseFilter     *pF;
  ISampleGrabber  *pGrab;
  ICreateDevEnum * pDevEnum;
  
  long biSizeImage;
  BITMAPINFOHEADER bih;
  char* lpBmpData;
 
  //cv
  IplImage*  frameImage;
  IplImage* motion;
  IplImage* tmpMotion;
 
  // ring image buffer
  IplImage **buf;
  int last;
 
  // temporary images
  IplImage* silh;
  IplImage* mhi; // MHI
  IplImage* mask; // valid orientation mask
  IplImage* segmask; // motion segmentation map
 
  void init();
  void Release();
  void update_mhi( IplImage* img, IplImage* dst, int diff_threshold );
 
public:
  DirectShow();
  ~DirectShow();
 
  unsigned char* btmp;
  int _cHeight;
  int _cWidth;
  
  void start();
  void proc();
 
};
[トップ] [一覧] [最終更新] [検索] [バックアップ]