hornetseye-opencv 0.2.0 → 0.3.0

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/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