hornetseye-opencv 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -1,5 +1,25 @@
1
1
  hornetseye-opencv
2
- ======
3
- This Ruby extension provides conversions from {Hornetseye::MultiArray} to {OpenCV::CvMat} and vice versa.
2
+ ===============
4
3
 
4
+ **Author**: Jan Wedekind
5
+ **Copyright**: 2010, 2011
6
+ **License**: GPL
7
+
8
+ Synopsis
9
+ --------
10
+
11
+ This Ruby extension implements conversions between {OpenCV::CvMat} and {Hornetseye::MultiArray}.
12
+
13
+ Installation
14
+ ------------
15
+ To install this Ruby extension, use the following command:
16
+
17
+ $ sudo gem install hornetseye-opencv
18
+
19
+ Alternatively you can build and install the Ruby extension from source as follows:
20
+
21
+ $ rake
22
+ $ sudo rake install
23
+
24
+ See [https://github.com/wedesoft/ruby-opencv](https://github.com/wedesoft/ruby-opencv) for more information on how to install *opencv* for Ruby.
5
25
 
data/Rakefile CHANGED
@@ -7,7 +7,7 @@ require 'rake/loaders/makefile'
7
7
  require 'rbconfig'
8
8
 
9
9
  PKG_NAME = 'hornetseye-opencv'
10
- PKG_VERSION = '0.2.0'
10
+ PKG_VERSION = '0.3.0'
11
11
  CFG = RbConfig::CONFIG
12
12
  CXX = ENV[ 'CXX' ] || 'g++'
13
13
  RB_FILES = FileList[ 'lib/**/*.rb' ]
@@ -81,8 +81,7 @@ end
81
81
  begin
82
82
  require 'yard'
83
83
  YARD::Rake::YardocTask.new :yard do |y|
84
- y.options << '--no-private'
85
- y.files << FileList[ 'lib/**/*.rb' ]
84
+ y.files << RB_FILES
86
85
  end
87
86
  rescue LoadError
88
87
  STDERR.puts 'Please install \'yard\' if you want to generate documentation'
@@ -115,7 +114,7 @@ begin
115
114
  s.extra_rdoc_files = []
116
115
  s.rdoc_options = %w{--no-private}
117
116
  s.add_dependency %<malloc>, [ '~> 1.1' ]
118
- s.add_dependency %<multiarray>, [ '~> 0.15' ]
117
+ s.add_dependency %<multiarray>, [ '~> 0.23' ]
119
118
  s.add_dependency %<opencv>, [ '~> 0.0' ]
120
119
  s.add_development_dependency %q{rake}
121
120
  end
@@ -138,7 +137,7 @@ begin
138
137
  s.extra_rdoc_files = []
139
138
  s.rdoc_options = %w{--no-private}
140
139
  s.add_dependency %<malloc>, [ '~> 1.1' ]
141
- s.add_dependency %<multiarray>, [ '~> 0.15' ]
140
+ s.add_dependency %<multiarray>, [ '~> 0.23' ]
142
141
  s.add_dependency %<opencv>, [ '~> 0.0' ]
143
142
  end
144
143
  GEM_BINARY = "#{PKG_NAME}-#{PKG_VERSION}-#{$BINSPEC.platform}.gem"
data/ext/cvmat.cc CHANGED
@@ -83,11 +83,9 @@ VALUE CvMatExt::wrapToMultiArray( VALUE rbSelf )
83
83
  VALUE rbDest = rb_funcall( cMalloc, rb_intern( "new" ), 1, INT2NUM( size ) );
84
84
  char *dest; Data_Get_Struct( rbDest, char, dest );
85
85
  copy( cvMat->data.ptr, cvMat->data.ptr + size, dest );
86
- VALUE rbMultiArray = rb_funcall( mHornetseye, rb_intern( "MultiArray" ), 4,
87
- rbTypecode, INT2NUM( channels ),
88
- INT2NUM( width ), INT2NUM( height ) );
89
- VALUE rbImport = rb_funcall( rbMultiArray, rb_intern( "new" ), 1, rbDest );
90
- rbRetVal = rbImport;
86
+ rbRetVal = rb_funcall(rb_const_get(mHornetseye, rb_intern("MultiArray")),
87
+ rb_intern("import"), 5, rbTypecode, rbDest,
88
+ INT2NUM(channels), INT2NUM(width), INT2NUM(height));
91
89
  } catch( std::exception &e ) {
92
90
  rb_raise( rb_eRuntimeError, "%s", e.what() );
93
91
  };
data/ext/init.cc CHANGED
@@ -31,8 +31,8 @@ extern "C" {
31
31
 
32
32
  void Init_hornetseye_opencv(void)
33
33
  {
34
- rb_require( "opencv" );
35
- rb_require( "multiarray" );
34
+ rb_eval_string("require 'opencv'");
35
+ rb_eval_string("require 'multiarray'");
36
36
  VALUE mOpenCV = rb_define_module( "OpenCV" );
37
37
  VALUE mHornetseye = rb_define_module( "Hornetseye" );
38
38
  CvMatExt::registerRubyClass( mOpenCV );
data/ext/node.cc CHANGED
@@ -86,8 +86,8 @@ VALUE Node::wrapToCvMat( VALUE rbSelf )
86
86
  "Conversion to CvMat only supports UBYTE, BYTE, USINT, "
87
87
  "SINT, INT, SFLOAT, DFLOAT as basic types" );
88
88
  };
89
- VALUE rbTypeSize = rb_funcall( rbSelf, rb_intern( "storage_size" ), 0 );
90
- int typesize = NUM2INT( rbTypeSize );
89
+ VALUE rbTypeSize = rb_funcall(rbTypecode, rb_intern("storage_size"), 0);
90
+ int typesize = NUM2INT(rbTypeSize) * width * height * channels;
91
91
  VALUE cMalloc = rb_define_class_under( mModule, "Malloc", rb_cObject );
92
92
  unsigned char *source;
93
93
  dataGetStruct( rbMalloc, cMalloc, unsigned char, source );
@@ -25,11 +25,9 @@ module OpenCV
25
25
  when 1
26
26
  retval.roll[ 0 ]
27
27
  when 2
28
- Hornetseye::MultiArray( Hornetseye::COMPLEX( retval.typecode ),
29
- width, height ).new retval.memory
28
+ Hornetseye::MultiArray.import Hornetseye::COMPLEX(retval.typecode), retval.memory, width, height
30
29
  when 3
31
- Hornetseye::MultiArray( Hornetseye::RGB( retval.typecode ),
32
- width, height ).new retval.memory
30
+ Hornetseye::MultiArray.import Hornetseye::RGB(retval.typecode), retval.memory, width, height
33
31
  else
34
32
  retval
35
33
  end
@@ -22,12 +22,11 @@ module Hornetseye
22
22
  def to_cvmat
23
23
  data = memorise
24
24
  if typecode < Composite
25
- Hornetseye::MultiArray( data.typecode.element_type,
26
- data.typecode.num_elements, *data.shape ).
27
- new( data.memory ).orig_to_cvmat
25
+ MultiArray.import(data.typecode.basetype, data.memory,
26
+ data.typecode.num_elements, *data.shape).orig_to_cvmat
28
27
  elsif dimension == 2
29
- Hornetseye::MultiArray( data.typecode, 1, *data.shape ).new( data.memory ).
30
- orig_to_cvmat
28
+ MultiArray.import(data.typecode.basetype, data.memory,
29
+ 1, *data.shape).orig_to_cvmat
31
30
  else
32
31
  data.orig_to_cvmat
33
32
  end
@@ -13,6 +13,8 @@
13
13
  #
14
14
  # You should have received a copy of the GNU General Public License
15
15
  # along with this program. If not, see <http://www.gnu.org/licenses/>.
16
+ require 'opencv'
17
+ require 'multiarray'
16
18
  require 'hornetseye-opencv/cvmat'
17
19
  require 'hornetseye-opencv/iplimage'
18
20
  require 'hornetseye-opencv/node'
@@ -40,10 +40,10 @@ class TC_Hornetseye_OpenCV < Test::Unit::TestCase
40
40
  end
41
41
 
42
42
  def setup
43
- @m1 = M( I, 3, 2 )[ [ 1, 2, 3 ], [ 4, 5, 6 ] ]
44
- @m2 = M( X, 1, 2 )[ [ X( 1, 2 ) ], [ X( 3, 4 ) ] ]
45
- @m3 = M( C, 2, 1 )[ [ C( 1, 2, 3 ), C( 4, 5, 6 ) ] ]
46
- @m4 = M( I, 4, 1, 1 )[ [ [ 1, 2, 3, 4 ] ] ]
43
+ @m1 = M(I, 2)[ [ 1, 2, 3 ], [ 4, 5, 6 ] ]
44
+ @m2 = M(X, 2)[ [ X( 1, 2 ) ], [ X( 3, 4 ) ] ]
45
+ @m3 = M(C, 2)[ [ C( 1, 2, 3 ), C( 4, 5, 6 ) ] ]
46
+ @m4 = M(I, 3)[ [ [ 1, 2, 3, 4 ] ] ]
47
47
  end
48
48
 
49
49
  def teardown
metadata CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 0
7
- - 2
7
+ - 3
8
8
  - 0
9
- version: 0.2.0
9
+ version: 0.3.0
10
10
  platform: ruby
11
11
  authors:
12
12
  - Jan Wedekind
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-12-20 00:00:00 +00:00
17
+ date: 2011-06-29 00:00:00 +01:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -41,8 +41,8 @@ dependencies:
41
41
  - !ruby/object:Gem::Version
42
42
  segments:
43
43
  - 0
44
- - 15
45
- version: "0.15"
44
+ - 23
45
+ version: "0.23"
46
46
  type: :runtime
47
47
  version_requirements: *id002
48
48
  - !ruby/object:Gem::Dependency
@@ -85,18 +85,18 @@ files:
85
85
  - README.md
86
86
  - COPYING
87
87
  - .document
88
- - lib/hornetseye-opencv/iplimage.rb
89
88
  - lib/hornetseye-opencv/node.rb
90
89
  - lib/hornetseye-opencv/cvmat.rb
90
+ - lib/hornetseye-opencv/iplimage.rb
91
91
  - lib/hornetseye_opencv_ext.rb
92
92
  - ext/init.cc
93
- - ext/node.cc
94
93
  - ext/cvmat.cc
94
+ - ext/node.cc
95
+ - ext/node.hh
95
96
  - ext/rubytools.hh
96
- - ext/cvmat.hh
97
- - ext/rubyinc.hh
98
97
  - ext/error.hh
99
- - ext/node.hh
98
+ - ext/rubyinc.hh
99
+ - ext/cvmat.hh
100
100
  - ext/rubytools.tcc
101
101
  - test/ts_hornetseye_opencv.rb
102
102
  - test/tc_hornetseye_opencv.rb