File: pix_mano.h

package info (click to toggle)
gem 1%3A0.93.3-7
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 28,548 kB
  • ctags: 29,332
  • sloc: cpp: 134,188; sh: 11,215; makefile: 2,853; ansic: 84
file content (85 lines) | stat: -rw-r--r-- 2,080 bytes parent folder | download | duplicates (3)
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
////////////////////////////////////////////////////////
//
// pix_mano - an object to track a hand and its fingers
//
// Jaime Oliver,  
//
// jaime.oliver2@gmail.com
// this is still a testing version, no guarantees...
//
// the license for this object is GNU 
//
// for more information: www.jaimeoliver.pe
// Silent Percussion Project
//
// GEM - Graphics Environment for Multimedia
// zmoelnig@iem.kug.ac.at
//
// Implementation file
//    Copyright (c) 1997-1998 Mark Danks.
//    Copyright (c) Günther Geiger.
//    Copyright (c) 2001-2002 IOhannes m zmoelnig. forum::für::umläute. IEM
//    For information on usage and redistribution, and for a DISCLAIMER OF ALL
//    WARRANTIES, see the file, "LICENSE.txt" in this distribution.
//
/////////////////////////////////////////////////////////

#ifndef INCLUDE_pix_mano_H_
#define INCLUDE_pix_mano_H_

#include "Base/GemPixObj.h"

class GEM_EXPORT pix_mano : public GemPixObj
{
  CPPEXTERN_HEADER(pix_mano, GemPixObj)

    public:

  //////////
  // Constructor
  pix_mano();
    	
 protected:
    	
  //////////
  // Destructor
  virtual ~pix_mano();

  //////////
  // Do the processing
  virtual void 	processGrayImage(imageStruct &image);

  //////////
  // Set the new threshold vector
  void	    	vecBoundsMess(t_symbol*,int argc, t_atom *argv);
    	
  //////////
  // Set the new threshold value
  void	    	vecThreshMess(t_symbol*,int argc, t_atom *argv);
		
  //////////
  // Set the new threshold value
  void	    	vecParamsMess(t_symbol*,int argc, t_atom *argv);
    	
  //////////
  // The new color
  t_outlet *outlet1;
  t_outlet *outlet2;
  t_outlet *outlet3;
  t_outlet *outlet4;
  t_outlet *outlet5;
  t_outlet *outlet6;
  int head, bottom, mode, left, right, pixtip, min_entry_size, min_perim, pixsamp;
  unsigned int pixavg;
  float thresh, tip_scalar;
  float partialx_prev[10000], partialy_prev[10000];
  unsigned int Xsize, Ysize;
  int hop, prev_tip;
  float tp_i[50], tp_x[50], tp_y[50], tp_m[50], tp_a[50], tp_s[50];
    
 private:
  class PIMPL;
  PIMPL*m_pimpl;
};

#endif	// for header file