opencv 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.txt +5 -0
- data/License.txt +30 -0
- data/Manifest.txt +115 -0
- data/README.txt +47 -0
- data/Rakefile +34 -0
- data/examples/convexhull.rb +41 -0
- data/examples/face_detect.rb +25 -0
- data/examples/houghcircle.rb +23 -0
- data/examples/inpaint.png +0 -0
- data/examples/inpaint.rb +43 -0
- data/examples/paint.rb +72 -0
- data/examples/snake.rb +43 -0
- data/examples/stuff.jpg +0 -0
- data/ext/curve.cpp +103 -0
- data/ext/curve.h +34 -0
- data/ext/cvavgcomp.cpp +67 -0
- data/ext/cvavgcomp.h +39 -0
- data/ext/cvbox2d.cpp +114 -0
- data/ext/cvbox2d.h +53 -0
- data/ext/cvcapture.cpp +276 -0
- data/ext/cvcapture.h +54 -0
- data/ext/cvchain.cpp +184 -0
- data/ext/cvchain.h +43 -0
- data/ext/cvchaincode.cpp +49 -0
- data/ext/cvchaincode.h +43 -0
- data/ext/cvcircle32f.cpp +90 -0
- data/ext/cvcircle32f.h +53 -0
- data/ext/cvcondensation.cpp +230 -0
- data/ext/cvcondensation.h +49 -0
- data/ext/cvconnectedcomp.cpp +115 -0
- data/ext/cvconnectedcomp.h +46 -0
- data/ext/cvcontour.cpp +219 -0
- data/ext/cvcontour.h +47 -0
- data/ext/cvcontourtree.cpp +86 -0
- data/ext/cvcontourtree.h +41 -0
- data/ext/cvconvexitydefect.cpp +103 -0
- data/ext/cvconvexitydefect.h +42 -0
- data/ext/cverror.cpp +140 -0
- data/ext/cverror.h +79 -0
- data/ext/cvfont.cpp +173 -0
- data/ext/cvfont.h +56 -0
- data/ext/cvhaarclassifiercascade.cpp +159 -0
- data/ext/cvhaarclassifiercascade.h +41 -0
- data/ext/cvhistogram.cpp +200 -0
- data/ext/cvhistogram.h +51 -0
- data/ext/cvindex.cpp +73 -0
- data/ext/cvindex.h +40 -0
- data/ext/cvline.cpp +106 -0
- data/ext/cvline.h +52 -0
- data/ext/cvmat.cpp +4809 -0
- data/ext/cvmat.h +286 -0
- data/ext/cvmatnd.cpp +44 -0
- data/ext/cvmatnd.h +28 -0
- data/ext/cvmemstorage.cpp +64 -0
- data/ext/cvmemstorage.h +53 -0
- data/ext/cvmoments.cpp +204 -0
- data/ext/cvmoments.h +48 -0
- data/ext/cvpoint.cpp +229 -0
- data/ext/cvpoint.h +59 -0
- data/ext/cvpoint2d32f.cpp +213 -0
- data/ext/cvpoint2d32f.h +61 -0
- data/ext/cvpoint3d32f.cpp +245 -0
- data/ext/cvpoint3d32f.h +64 -0
- data/ext/cvrect.cpp +340 -0
- data/ext/cvrect.h +79 -0
- data/ext/cvscalar.cpp +227 -0
- data/ext/cvscalar.h +63 -0
- data/ext/cvseq.cpp +583 -0
- data/ext/cvseq.h +71 -0
- data/ext/cvset.cpp +63 -0
- data/ext/cvset.h +39 -0
- data/ext/cvsize.cpp +223 -0
- data/ext/cvsize.h +63 -0
- data/ext/cvsize2d32f.cpp +180 -0
- data/ext/cvsize2d32f.h +59 -0
- data/ext/cvslice.cpp +82 -0
- data/ext/cvslice.h +53 -0
- data/ext/cvsparsemat.cpp +44 -0
- data/ext/cvsparsemat.h +28 -0
- data/ext/cvtermcriteria.cpp +183 -0
- data/ext/cvtermcriteria.h +71 -0
- data/ext/cvtwopoints.cpp +98 -0
- data/ext/cvtwopoints.h +50 -0
- data/ext/cvvector.cpp +206 -0
- data/ext/cvvector.h +54 -0
- data/ext/cvvideowriter.cpp +116 -0
- data/ext/cvvideowriter.h +41 -0
- data/ext/extconf.rb +61 -0
- data/ext/gui.cpp +65 -0
- data/ext/gui.h +33 -0
- data/ext/iplconvkernel.cpp +177 -0
- data/ext/iplconvkernel.h +52 -0
- data/ext/iplimage.cpp +238 -0
- data/ext/iplimage.h +54 -0
- data/ext/mouseevent.cpp +184 -0
- data/ext/mouseevent.h +59 -0
- data/ext/opencv.cpp +481 -0
- data/ext/opencv.h +356 -0
- data/ext/point3dset.cpp +41 -0
- data/ext/point3dset.h +31 -0
- data/ext/pointset.cpp +238 -0
- data/ext/pointset.h +69 -0
- data/ext/trackbar.cpp +122 -0
- data/ext/trackbar.h +65 -0
- data/ext/window.cpp +368 -0
- data/ext/window.h +56 -0
- data/images/CvMat_sobel.png +0 -0
- data/images/CvMat_sub_rect.png +0 -0
- data/images/CvSeq_relationmap.png +0 -0
- data/images/face_detect_from_lena.jpg +0 -0
- data/lib/opencv.rb +3 -0
- data/lib/version.rb +3 -0
- data/setup/setup.cygwin.rb +120 -0
- data/setup/setup.mingw.rb +99 -0
- data/setup/setup.mswin32.rb +103 -0
- data/test/test_opencv.rb +4 -0
- metadata +191 -0
data/ext/cvsize2d32f.cpp
ADDED
@@ -0,0 +1,180 @@
|
|
1
|
+
/************************************************************
|
2
|
+
|
3
|
+
cvsize2d32f.cpp -
|
4
|
+
|
5
|
+
$Author: lsxi $
|
6
|
+
|
7
|
+
Copyright (C) 2005-2006 Masakazu Yonekura
|
8
|
+
|
9
|
+
************************************************************/
|
10
|
+
#include "cvsize2d32f.h"
|
11
|
+
/*
|
12
|
+
* Document-class: OpenCV::CvSize2D32f
|
13
|
+
*
|
14
|
+
* This class means one size on X axis Y axis.
|
15
|
+
* X and Y takes the value of the Float.
|
16
|
+
*
|
17
|
+
* C structure is here, very simple.
|
18
|
+
* typdef struct CvSize2D32f{
|
19
|
+
* float width;
|
20
|
+
* float height;
|
21
|
+
* }CvSize2D32f;
|
22
|
+
*/
|
23
|
+
__NAMESPACE_BEGIN_OPENCV
|
24
|
+
__NAMESPACE_BEGIN_CVSIZE2D32F
|
25
|
+
|
26
|
+
VALUE rb_klass;
|
27
|
+
|
28
|
+
VALUE
|
29
|
+
rb_class()
|
30
|
+
{
|
31
|
+
return rb_klass;
|
32
|
+
}
|
33
|
+
|
34
|
+
void
|
35
|
+
define_ruby_class()
|
36
|
+
{
|
37
|
+
if(rb_klass)
|
38
|
+
return;
|
39
|
+
/*
|
40
|
+
* opencv = rb_define_module("OpenCV");
|
41
|
+
*
|
42
|
+
* note: this comment is used by rdoc.
|
43
|
+
*/
|
44
|
+
VALUE opencv = rb_module_opencv();
|
45
|
+
|
46
|
+
rb_klass = rb_define_class_under(opencv, "CvSize2D32f", rb_cObject);
|
47
|
+
rb_define_alloc_func(rb_klass, rb_allocate);
|
48
|
+
rb_define_singleton_method(rb_klass, "compatible?", RUBY_METHOD_FUNC(rb_compatible_q), 1);
|
49
|
+
rb_define_method(rb_klass, "initialize", RUBY_METHOD_FUNC(rb_initialize), -1);
|
50
|
+
rb_define_method(rb_klass, "width", RUBY_METHOD_FUNC(rb_width), 0);
|
51
|
+
rb_define_method(rb_klass, "width=", RUBY_METHOD_FUNC(rb_set_width), 1);
|
52
|
+
rb_define_method(rb_klass, "height", RUBY_METHOD_FUNC(rb_height), 0);
|
53
|
+
rb_define_method(rb_klass, "height=", RUBY_METHOD_FUNC(rb_set_height), 1);
|
54
|
+
}
|
55
|
+
|
56
|
+
/*
|
57
|
+
* call-seq:
|
58
|
+
* compatible?(obj)
|
59
|
+
*
|
60
|
+
* Return compatibility to CvSize2D32f. Return true if object have method #width and #height.
|
61
|
+
*
|
62
|
+
* For example.
|
63
|
+
* class MySize
|
64
|
+
* def width
|
65
|
+
* 10.1
|
66
|
+
* end
|
67
|
+
* def height
|
68
|
+
* 20.2
|
69
|
+
* end
|
70
|
+
* end
|
71
|
+
* mp = MySize.new
|
72
|
+
* CvSize2D32f.compatible?(mp) #=> true
|
73
|
+
* CvSize2D32f.new(mp) #=> same as CvSize2D32f.new(10.1, 20.2)
|
74
|
+
*/
|
75
|
+
VALUE
|
76
|
+
rb_compatible_q(VALUE klass, VALUE object)
|
77
|
+
{
|
78
|
+
return (rb_respond_to(object, rb_intern("width")) && rb_respond_to(object, rb_intern("height"))) ? Qtrue : Qfalse;
|
79
|
+
}
|
80
|
+
|
81
|
+
VALUE
|
82
|
+
rb_allocate(VALUE klass)
|
83
|
+
{
|
84
|
+
CvSize2D32f *ptr;
|
85
|
+
return Data_Make_Struct(klass, CvSize2D32f, 0, -1, ptr);
|
86
|
+
}
|
87
|
+
|
88
|
+
/*
|
89
|
+
* call-seq:
|
90
|
+
* new
|
91
|
+
* new(obj)
|
92
|
+
* new(width, height)
|
93
|
+
*
|
94
|
+
* Create new size of 2D, (width, height).
|
95
|
+
*
|
96
|
+
* new() is same as new(0.0, 0.0)
|
97
|
+
*
|
98
|
+
* new(obj) is same as new(obj.x.to_f, obj.y.to_f)
|
99
|
+
*/
|
100
|
+
VALUE
|
101
|
+
rb_initialize(int argc, VALUE *argv, VALUE self)
|
102
|
+
{
|
103
|
+
VALUE obj, x, y;
|
104
|
+
switch(argc){
|
105
|
+
case 0:
|
106
|
+
break;
|
107
|
+
case 1:
|
108
|
+
obj = argv[0];
|
109
|
+
if(rb_compatible_q(rb_klass, obj)){
|
110
|
+
CVSIZE2D32F(self)->width = NUM2DBL(rb_funcall(rb_funcall(obj, rb_intern("width"), 0), rb_intern("to_f"), 0));
|
111
|
+
CVSIZE2D32F(self)->height = NUM2DBL(rb_funcall(rb_funcall(obj, rb_intern("height"), 0), rb_intern("to_f"), 0));
|
112
|
+
}else{
|
113
|
+
rb_raise(rb_eArgError, "object is not compatible %s.", rb_class2name(rb_klass));
|
114
|
+
}
|
115
|
+
break;
|
116
|
+
case 2:
|
117
|
+
x = argv[0], y = argv[1];
|
118
|
+
CVSIZE2D32F(self)->width = NUM2DBL(x);
|
119
|
+
CVSIZE2D32F(self)->height = NUM2DBL(y);
|
120
|
+
break;
|
121
|
+
default:
|
122
|
+
rb_raise(rb_eArgError, "wrong number of arguments (%d for 0..2)", argc);
|
123
|
+
}
|
124
|
+
return self;
|
125
|
+
}
|
126
|
+
|
127
|
+
/*
|
128
|
+
* Return size of x-axis.
|
129
|
+
*/
|
130
|
+
VALUE
|
131
|
+
rb_width(VALUE self)
|
132
|
+
{
|
133
|
+
return rb_float_new(CVSIZE2D32F(self)->width);
|
134
|
+
}
|
135
|
+
|
136
|
+
/*
|
137
|
+
* call-seq:
|
138
|
+
* width = val
|
139
|
+
*
|
140
|
+
* Set x-axis size, return self.
|
141
|
+
*/
|
142
|
+
VALUE
|
143
|
+
rb_set_width(VALUE self, VALUE x)
|
144
|
+
{
|
145
|
+
CVSIZE2D32F(self)->width = NUM2DBL(x);
|
146
|
+
return self;
|
147
|
+
}
|
148
|
+
|
149
|
+
/*
|
150
|
+
* Return size of yaxis.
|
151
|
+
*/
|
152
|
+
VALUE
|
153
|
+
rb_height(VALUE self)
|
154
|
+
{
|
155
|
+
return rb_float_new(CVSIZE2D32F(self)->height);
|
156
|
+
}
|
157
|
+
|
158
|
+
/*
|
159
|
+
* call-seq:
|
160
|
+
* height = val
|
161
|
+
*
|
162
|
+
* Set y-axis size, return self.
|
163
|
+
*/
|
164
|
+
VALUE
|
165
|
+
rb_set_height(VALUE self, VALUE y)
|
166
|
+
{
|
167
|
+
CVSIZE2D32F(self)->height = NUM2DBL(y);
|
168
|
+
return self;
|
169
|
+
}
|
170
|
+
|
171
|
+
VALUE
|
172
|
+
new_object(CvSize2D32f size)
|
173
|
+
{
|
174
|
+
VALUE object = rb_allocate(rb_klass);
|
175
|
+
*CVSIZE2D32F(object) = size;
|
176
|
+
return object;
|
177
|
+
}
|
178
|
+
|
179
|
+
__NAMESPACE_END_CVSIZE2D32F
|
180
|
+
__NAMESPACE_END_OPENCV
|
data/ext/cvsize2d32f.h
ADDED
@@ -0,0 +1,59 @@
|
|
1
|
+
/************************************************************
|
2
|
+
|
3
|
+
cvsize2d32f.h -
|
4
|
+
|
5
|
+
$Author: lsxi $
|
6
|
+
|
7
|
+
Copyright (C) 2005-2006 Masakazu Yonekura
|
8
|
+
|
9
|
+
************************************************************/
|
10
|
+
#ifndef RUBY_OPENCV_CVSIZE2D32F_H
|
11
|
+
#define RUBY_OPENCV_CVSIZE2D32F_H
|
12
|
+
|
13
|
+
#include "opencv.h"
|
14
|
+
|
15
|
+
#define __NAMESPACE_BEGIN_CVSIZE2D32F namespace cCvSize2D32f{
|
16
|
+
#define __NAMESPACE_END_CVSIZE2D32F }
|
17
|
+
|
18
|
+
__NAMESPACE_BEGIN_OPENCV
|
19
|
+
__NAMESPACE_BEGIN_CVSIZE2D32F
|
20
|
+
|
21
|
+
VALUE rb_class();
|
22
|
+
|
23
|
+
void define_ruby_class();
|
24
|
+
|
25
|
+
VALUE rb_compatible_q(VALUE klass, VALUE object);
|
26
|
+
|
27
|
+
VALUE rb_allocate(VALUE klass);
|
28
|
+
VALUE rb_initialize(int argc, VALUE *argv, VALUE self);
|
29
|
+
VALUE rb_width(VALUE self);
|
30
|
+
VALUE rb_set_width(VALUE self, VALUE width);
|
31
|
+
VALUE rb_height(VALUE self);
|
32
|
+
VALUE rb_set_height(VALUE self, VALUE height);
|
33
|
+
|
34
|
+
VALUE new_object(CvSize2D32f size);
|
35
|
+
|
36
|
+
__NAMESPACE_END_CVSIZE2D32F
|
37
|
+
|
38
|
+
inline CvSize2D32f*
|
39
|
+
CVSIZE2D32F(VALUE object)
|
40
|
+
{
|
41
|
+
CvSize2D32f *ptr;
|
42
|
+
Data_Get_Struct(object, CvSize2D32f, ptr);
|
43
|
+
return ptr;
|
44
|
+
}
|
45
|
+
|
46
|
+
inline CvSize2D32f
|
47
|
+
VALUE_TO_CVSIZE2D32F(VALUE object)
|
48
|
+
{
|
49
|
+
if(cCvSize2D32f::rb_compatible_q(cCvSize2D32f::rb_class(), object)){
|
50
|
+
return cvSize2D32f(NUM2DBL(rb_funcall(object, rb_intern("width"), 0)),
|
51
|
+
NUM2DBL(rb_funcall(object, rb_intern("height"), 0)));
|
52
|
+
}else{
|
53
|
+
rb_raise(rb_eTypeError, "require %s or compatible object.", rb_class2name(cCvSize2D32f::rb_class()));
|
54
|
+
}
|
55
|
+
}
|
56
|
+
|
57
|
+
__NAMESPACE_END_OPENCV
|
58
|
+
|
59
|
+
#endif // RUBY_OPENCV_CVSIZE2D32F_H
|
data/ext/cvslice.cpp
ADDED
@@ -0,0 +1,82 @@
|
|
1
|
+
/************************************************************
|
2
|
+
|
3
|
+
cvslice.cpp -
|
4
|
+
|
5
|
+
$Author: lsxi $
|
6
|
+
|
7
|
+
Copyright (C) 2005-2006 Masakazu Yonekura
|
8
|
+
|
9
|
+
************************************************************/
|
10
|
+
#include "cvslice.h"
|
11
|
+
/*
|
12
|
+
* Document-class: OpenCV::CvClice
|
13
|
+
*
|
14
|
+
* C structure is here, very simple.
|
15
|
+
* typdef struct CvSlice{
|
16
|
+
* int start_index;
|
17
|
+
* int end_index;
|
18
|
+
* }CvSlice;
|
19
|
+
*/
|
20
|
+
__NAMESPACE_BEGIN_OPENCV
|
21
|
+
__NAMESPACE_BEGIN_CVSLICE
|
22
|
+
|
23
|
+
VALUE rb_klass;
|
24
|
+
|
25
|
+
VALUE
|
26
|
+
rb_class()
|
27
|
+
{
|
28
|
+
return rb_klass;
|
29
|
+
}
|
30
|
+
|
31
|
+
void
|
32
|
+
define_ruby_class()
|
33
|
+
{
|
34
|
+
if (rb_klass)
|
35
|
+
return;
|
36
|
+
/*
|
37
|
+
* opencv = rb_define_module("OpenCV");
|
38
|
+
*
|
39
|
+
* note: this comment is used by rdoc.
|
40
|
+
*/
|
41
|
+
VALUE opencv = rb_module_opencv();
|
42
|
+
rb_klass = rb_define_class_under(opencv, "CvSlice", rb_cObject);
|
43
|
+
rb_define_alloc_func(rb_klass, rb_allocate);
|
44
|
+
rb_define_singleton_method(rb_klass, "compatible?", RUBY_METHOD_FUNC(rb_compatible_q), 1);
|
45
|
+
rb_define_method(rb_klass, "initialize", RUBY_METHOD_FUNC(rb_initialize), 2);
|
46
|
+
}
|
47
|
+
|
48
|
+
/*
|
49
|
+
* call-seq:
|
50
|
+
* compatible?(<i>obj</i>)
|
51
|
+
*
|
52
|
+
* same Object#kind_of(Range)
|
53
|
+
*/
|
54
|
+
VALUE
|
55
|
+
rb_compatible_q(VALUE klass, VALUE object)
|
56
|
+
{
|
57
|
+
return rb_obj_is_kind_of(object, rb_cRange);
|
58
|
+
}
|
59
|
+
|
60
|
+
VALUE
|
61
|
+
rb_allocate(VALUE klass)
|
62
|
+
{
|
63
|
+
CvSlice *ptr;
|
64
|
+
return Data_Make_Struct(klass, CvSlice, 0, -1, ptr);
|
65
|
+
}
|
66
|
+
|
67
|
+
/*
|
68
|
+
* call-seq:
|
69
|
+
* new(<i>start, end</i>)
|
70
|
+
*
|
71
|
+
* Create new slice object.
|
72
|
+
*/
|
73
|
+
VALUE
|
74
|
+
rb_initialize(VALUE self, VALUE start, VALUE end)
|
75
|
+
{
|
76
|
+
CVSLICE(self)->start_index = NUM2INT(start);
|
77
|
+
CVSLICE(self)->end_index = NUM2INT(end);
|
78
|
+
return self;
|
79
|
+
}
|
80
|
+
|
81
|
+
__NAMESPACE_END_CVSLICE
|
82
|
+
__NAMESPACE_END_OPENCV
|
data/ext/cvslice.h
ADDED
@@ -0,0 +1,53 @@
|
|
1
|
+
/************************************************************
|
2
|
+
|
3
|
+
cvslice.h -
|
4
|
+
|
5
|
+
$Author: lsxi $
|
6
|
+
|
7
|
+
Copyright (C) 2005-2006 Masakazu Yonekura
|
8
|
+
|
9
|
+
************************************************************/
|
10
|
+
#ifndef RUBY_OPENCV_CVSLICE_H
|
11
|
+
#define RUBY_OPENCV_CVSLICE_H
|
12
|
+
|
13
|
+
#include "opencv.h"
|
14
|
+
|
15
|
+
#define __NAMESPACE_BEGIN_CVSLICE namespace cCvSlice{
|
16
|
+
#define __NAMESPACE_END_CVSLICE }
|
17
|
+
|
18
|
+
__NAMESPACE_BEGIN_OPENCV
|
19
|
+
__NAMESPACE_BEGIN_CVSLICE
|
20
|
+
|
21
|
+
VALUE rb_class();
|
22
|
+
|
23
|
+
void define_ruby_class();
|
24
|
+
|
25
|
+
VALUE rb_compatible_q(VALUE klass, VALUE object);
|
26
|
+
|
27
|
+
VALUE rb_allocate(VALUE klass);
|
28
|
+
VALUE rb_initialize(VALUE self, VALUE start, VALUE end);
|
29
|
+
|
30
|
+
__NAMESPACE_END_CVSLICE
|
31
|
+
|
32
|
+
inline CvSlice*
|
33
|
+
CVSLICE(VALUE object)
|
34
|
+
{
|
35
|
+
CvSlice *ptr;
|
36
|
+
Data_Get_Struct(object, CvSlice, ptr);
|
37
|
+
return ptr;
|
38
|
+
}
|
39
|
+
|
40
|
+
inline CvSlice
|
41
|
+
VALUE_TO_CVSLICE(VALUE object)
|
42
|
+
{
|
43
|
+
if(cCvSlice::rb_compatible_q(cCvSlice::rb_class(), object)){
|
44
|
+
return cvSlice(NUM2INT(rb_funcall(object, rb_intern("begin"), 0)),
|
45
|
+
rb_funcall(object, rb_intern("exclude_end?"), 0) ? NUM2INT(rb_funcall(object, rb_intern("end"), 0)) : NUM2INT(rb_funcall(object, rb_intern("end"), 0)) - 1);
|
46
|
+
}else{
|
47
|
+
rb_raise(rb_eTypeError, "require %s or compatible object.", rb_class2name(cCvSlice::rb_class()));
|
48
|
+
}
|
49
|
+
}
|
50
|
+
|
51
|
+
__NAMESPACE_END_OPENCV
|
52
|
+
|
53
|
+
#endif // RUBY_OPENCV_CVSLICE_H
|
data/ext/cvsparsemat.cpp
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
/***********************************************************
|
2
|
+
|
3
|
+
cvsparse.cpp -
|
4
|
+
|
5
|
+
$Author: lsxi $
|
6
|
+
|
7
|
+
Copyright (C) 2007 Masakazu Yonekura
|
8
|
+
|
9
|
+
************************************************************/
|
10
|
+
#include "cvsparsemat.h"
|
11
|
+
/*
|
12
|
+
* Document-class: OpenCV::CvSparseMat
|
13
|
+
*
|
14
|
+
*/
|
15
|
+
__NAMESPACE_BEGIN_OPENCV
|
16
|
+
__NAMESPACE_BEGIN_CVSPARSEMAT
|
17
|
+
|
18
|
+
VALUE rb_klass;
|
19
|
+
|
20
|
+
VALUE
|
21
|
+
rb_class()
|
22
|
+
{
|
23
|
+
return rb_klass;
|
24
|
+
}
|
25
|
+
|
26
|
+
void
|
27
|
+
define_ruby_class()
|
28
|
+
{
|
29
|
+
if (rb_klass)
|
30
|
+
return;
|
31
|
+
/*
|
32
|
+
* opencv = rb_define_module("OpenCV");
|
33
|
+
* cvmat = rb_define_class_under(opencv, "CvMat", rb_cObject);
|
34
|
+
*
|
35
|
+
* note: this comment is used by rdoc.
|
36
|
+
*/
|
37
|
+
VALUE opencv = rb_module_opencv(), cvmat = cCvMat::rb_class();
|
38
|
+
|
39
|
+
rb_klass = rb_define_class_under(opencv, "CvSparseMat", cvmat);
|
40
|
+
}
|
41
|
+
|
42
|
+
__NAMESPACE_END_CVSPARSEMAT
|
43
|
+
__NAMESPACE_END_OPENCV
|
44
|
+
|
data/ext/cvsparsemat.h
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
/************************************************************
|
2
|
+
|
3
|
+
cvsparsemat.h -
|
4
|
+
|
5
|
+
$Author: lsxi $
|
6
|
+
|
7
|
+
Copyright (C) 2005-2006 Masakazu Yonekura
|
8
|
+
|
9
|
+
************************************************************/
|
10
|
+
#ifndef RUBY_OPENCV_CVSPARSEMAT_H
|
11
|
+
#define RUBY_OPENCV_CVSPARSEMAT_H
|
12
|
+
|
13
|
+
#include "opencv.h"
|
14
|
+
|
15
|
+
#define __NAMESPACE_BEGIN_CVSPARSEMAT namespace cCvSparseMat{
|
16
|
+
#define __NAMESPACE_END_CVSPARSEMAT }
|
17
|
+
|
18
|
+
__NAMESPACE_BEGIN_OPENCV
|
19
|
+
__NAMESPACE_BEGIN_CVSPARSEMAT
|
20
|
+
|
21
|
+
VALUE rb_class();
|
22
|
+
|
23
|
+
void define_ruby_class();
|
24
|
+
|
25
|
+
__NAMESPACE_END_CVSPARSEMAT
|
26
|
+
__NAMESPACE_END_OPENCV
|
27
|
+
|
28
|
+
#endif // RUBY_OPENCV_CVSPARSEMAT_H
|