hornetseye-opencv 0.1.2 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -7,15 +7,15 @@ require 'rake/loaders/makefile'
7
7
  require 'rbconfig'
8
8
 
9
9
  PKG_NAME = 'hornetseye-opencv'
10
- PKG_VERSION = '0.1.2'
10
+ PKG_VERSION = '0.2.0'
11
+ CFG = RbConfig::CONFIG
11
12
  CXX = ENV[ 'CXX' ] || 'g++'
12
- STRIP = ENV[ 'STRIP' ] || 'strip'
13
13
  RB_FILES = FileList[ 'lib/**/*.rb' ]
14
14
  CC_FILES = FileList[ 'ext/*.cc' ]
15
15
  HH_FILES = FileList[ 'ext/*.hh' ] + FileList[ 'ext/*.tcc' ]
16
16
  TC_FILES = FileList[ 'test/tc_*.rb' ]
17
17
  TS_FILES = FileList[ 'test/ts_*.rb' ]
18
- SO_FILE = "ext/#{PKG_NAME.tr '\-', '_'}.so"
18
+ SO_FILE = "ext/#{PKG_NAME.tr '\-', '_'}.#{CFG[ 'DLEXT' ]}"
19
19
  PKG_FILES = [ 'Rakefile', 'README.md', 'COPYING', '.document' ] +
20
20
  RB_FILES + CC_FILES + HH_FILES + TS_FILES + TC_FILES
21
21
  BIN_FILES = [ 'README.md', 'COPYING', '.document', SO_FILE ] +
@@ -27,17 +27,18 @@ EMAIL = %q{jan@wedesoft.de}
27
27
  HOMEPAGE = %q{http://wedesoft.github.com/hornetseye-opencv/}
28
28
 
29
29
  OBJ = CC_FILES.ext 'o'
30
- $CXXFLAGS = ENV[ 'CXXFLAGS' ] || ''
31
- $CXXFLAGS = "#{$CXXFLAGS} -fPIC -DNDEBUG"
32
- if RbConfig::CONFIG[ 'rubyhdrdir' ]
33
- $CXXFLAGS = "#{$CXXFLAGS} -I#{RbConfig::CONFIG[ 'rubyhdrdir' ]} " +
34
- "-I#{RbConfig::CONFIG[ 'rubyhdrdir' ]}/#{RbConfig::CONFIG[ 'arch' ]}"
30
+ $CXXFLAGS = "-DNDEBUG #{CFG[ 'CPPFLAGS' ]} #{CFG[ 'CFLAGS' ]}"
31
+ if CFG[ 'rubyhdrdir' ]
32
+ $CXXFLAGS = "#{$CXXFLAGS} -I#{CFG[ 'rubyhdrdir' ]} " +
33
+ "-I#{CFG[ 'rubyhdrdir' ]}/#{CFG[ 'arch' ]}"
35
34
  else
36
- $CXXFLAGS = "#{$CXXFLAGS} -I#{RbConfig::CONFIG[ 'archdir' ]}"
35
+ $CXXFLAGS = "#{$CXXFLAGS} -I#{CFG[ 'archdir' ]}"
37
36
  end
38
- $LIBRUBYARG = RbConfig::CONFIG[ 'LIBRUBYARG' ]
39
- $SITELIBDIR = RbConfig::CONFIG[ 'sitelibdir' ]
40
- $SITEARCHDIR = RbConfig::CONFIG[ 'sitearchdir' ]
37
+ $LIBRUBYARG = "-L#{CFG[ 'libdir' ]} #{CFG[ 'LIBRUBYARG' ]} #{CFG[ 'LDFLAGS' ]} " +
38
+ "#{CFG[ 'SOLIBS' ]} #{CFG[ 'DLDLIBS' ]}"
39
+ $SITELIBDIR = CFG[ 'sitelibdir' ]
40
+ $SITEARCHDIR = CFG[ 'sitearchdir' ]
41
+ $LDSHARED = CFG[ 'LDSHARED' ][ CFG[ 'LDSHARED' ].index( ' ' ) .. -1 ]
41
42
 
42
43
  task :default => :all
43
44
 
@@ -46,7 +47,6 @@ task :all => [ SO_FILE ]
46
47
 
47
48
  file SO_FILE => OBJ do |t|
48
49
  sh "#{CXX} -shared -o #{t.name} #{OBJ} -lcv -lhighgui -lcvaux -lcxcore -lml #{$LIBRUBYARG}"
49
- # sh "#{STRIP} --strip-all #{t.name}"
50
50
  end
51
51
 
52
52
  task :test => [ SO_FILE ]
@@ -115,7 +115,7 @@ begin
115
115
  s.extra_rdoc_files = []
116
116
  s.rdoc_options = %w{--no-private}
117
117
  s.add_dependency %<malloc>, [ '~> 1.1' ]
118
- s.add_dependency %<multiarray>, [ '~> 0.10' ]
118
+ s.add_dependency %<multiarray>, [ '~> 0.15' ]
119
119
  s.add_dependency %<opencv>, [ '~> 0.0' ]
120
120
  s.add_development_dependency %q{rake}
121
121
  end
@@ -138,7 +138,7 @@ begin
138
138
  s.extra_rdoc_files = []
139
139
  s.rdoc_options = %w{--no-private}
140
140
  s.add_dependency %<malloc>, [ '~> 1.1' ]
141
- s.add_dependency %<multiarray>, [ '~> 0.10' ]
141
+ s.add_dependency %<multiarray>, [ '~> 0.15' ]
142
142
  s.add_dependency %<opencv>, [ '~> 0.0' ]
143
143
  end
144
144
  GEM_BINARY = "#{PKG_NAME}-#{PKG_VERSION}-#{$BINSPEC.platform}.gem"
@@ -171,7 +171,7 @@ rule '.o' => '.cc' do |t|
171
171
  end
172
172
 
173
173
  file ".depends.mf" do |t|
174
- sh "g++ -MM #{$CXXFLAGS} #{CC_FILES.join ' '} | " +
174
+ sh "g++ -MM #{CC_FILES.join ' '} | " +
175
175
  "sed -e :a -e N -e 's/\\n/\\$/g' -e ta | " +
176
176
  "sed -e 's/ *\\\\\\$ */ /g' -e 's/\\$/\\n/g' | sed -e 's/^/ext\\//' > #{t.name}"
177
177
  end
@@ -28,7 +28,6 @@ module OpenCV
28
28
  Hornetseye::MultiArray( Hornetseye::COMPLEX( retval.typecode ),
29
29
  width, height ).new retval.memory
30
30
  when 3
31
- # swap rgb!
32
31
  Hornetseye::MultiArray( Hornetseye::RGB( retval.typecode ),
33
32
  width, height ).new retval.memory
34
33
  else
@@ -0,0 +1,27 @@
1
+ # hornetseye-opencv - OpenCV integration for Hornetseye
2
+ # Copyright (C) 2010 Jan Wedekind
3
+ #
4
+ # This program is free software: you can redistribute it and/or modify
5
+ # it under the terms of the GNU General Public License as published by
6
+ # the Free Software Foundation, either version 3 of the License, or
7
+ # (at your option) any later version.
8
+ #
9
+ # This program is distributed in the hope that it will be useful,
10
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ # GNU General Public License for more details.
13
+ #
14
+ # You should have received a copy of the GNU General Public License
15
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
16
+ module OpenCV
17
+
18
+ class IplImage
19
+
20
+ def to_multiarray
21
+ to_CvMat.to_multiarray
22
+ end
23
+
24
+ end
25
+
26
+ end
27
+
@@ -20,16 +20,16 @@ module Hornetseye
20
20
  alias_method :orig_to_cvmat, :to_cvmat
21
21
 
22
22
  def to_cvmat
23
+ data = memorise
23
24
  if typecode < Composite
24
- # swap RGB!
25
- Hornetseye::MultiArray( typecode.element_type,
26
- typecode.num_elements, *shape ).new( memory ).
27
- orig_to_cvmat
25
+ Hornetseye::MultiArray( data.typecode.element_type,
26
+ data.typecode.num_elements, *data.shape ).
27
+ new( data.memory ).orig_to_cvmat
28
28
  elsif dimension == 2
29
- Hornetseye::MultiArray( typecode, 1, *shape ).new( memory ).
29
+ Hornetseye::MultiArray( data.typecode, 1, *data.shape ).new( data.memory ).
30
30
  orig_to_cvmat
31
31
  else
32
- orig_to_cvmat
32
+ data.orig_to_cvmat
33
33
  end
34
34
  end
35
35
 
@@ -14,5 +14,6 @@
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
16
  require 'hornetseye-opencv/cvmat'
17
+ require 'hornetseye-opencv/iplimage'
17
18
  require 'hornetseye-opencv/node'
18
19
 
@@ -0,0 +1,59 @@
1
+ # multiarray - Lazy multi-dimensional arrays for Ruby
2
+ # Copyright (C) 2010 Jan Wedekind
3
+ #
4
+ # This program is free software: you can redistribute it and/or modify
5
+ # it under the terms of the GNU General Public License as published by
6
+ # the Free Software Foundation, either version 3 of the License, or
7
+ # (at your option) any later version.
8
+ #
9
+ # This program is distributed in the hope that it will be useful,
10
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ # GNU General Public License for more details.
13
+ #
14
+ # You should have received a copy of the GNU General Public License
15
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
16
+
17
+ require 'test/unit'
18
+ begin
19
+ require 'rubygems'
20
+ rescue LoadError
21
+ end
22
+ Kernel::require 'hornetseye_opencv'
23
+
24
+ class TC_Hornetseye_OpenCV < Test::Unit::TestCase
25
+
26
+ I = Hornetseye::INT
27
+ X = Hornetseye::SCOMPLEX
28
+ C = Hornetseye::UBYTERGB
29
+
30
+ def M( *args )
31
+ Hornetseye::MultiArray *args
32
+ end
33
+
34
+ def C( *args )
35
+ Hornetseye::RGB *args
36
+ end
37
+
38
+ def X( *args )
39
+ Complex *args
40
+ end
41
+
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 ] ] ]
47
+ end
48
+
49
+ def teardown
50
+ end
51
+
52
+ def test_to_cvmat
53
+ assert_equal @m1, @m1.to_cvmat.to_multiarray
54
+ assert_equal @m2, @m2.to_cvmat.to_multiarray
55
+ assert_equal @m3, @m3.to_cvmat.to_multiarray
56
+ assert_equal @m4, @m4.to_cvmat.to_multiarray
57
+ end
58
+
59
+ end
@@ -0,0 +1,18 @@
1
+ #!/usr/bin/env ruby
2
+ # multiarray - Lazy multi-dimensional arrays for Ruby
3
+ # Copyright (C) 2010 Jan Wedekind
4
+ #
5
+ # This program is free software: you can redistribute it and/or modify
6
+ # it under the terms of the GNU General Public License as published by
7
+ # the Free Software Foundation, either version 3 of the License, or
8
+ # (at your option) any later version.
9
+ #
10
+ # This program is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ # GNU General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU General Public License
16
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
17
+ require 'tc_hornetseye_opencv'
18
+
metadata CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 0
7
- - 1
8
7
  - 2
9
- version: 0.1.2
8
+ - 0
9
+ version: 0.2.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-10-12 00:00:00 +01:00
17
+ date: 2010-12-20 00:00:00 +00: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
- - 10
45
- version: "0.10"
44
+ - 15
45
+ version: "0.15"
46
46
  type: :runtime
47
47
  version_requirements: *id002
48
48
  - !ruby/object:Gem::Dependency
@@ -85,6 +85,7 @@ files:
85
85
  - README.md
86
86
  - COPYING
87
87
  - .document
88
+ - lib/hornetseye-opencv/iplimage.rb
88
89
  - lib/hornetseye-opencv/node.rb
89
90
  - lib/hornetseye-opencv/cvmat.rb
90
91
  - lib/hornetseye_opencv_ext.rb
@@ -97,6 +98,8 @@ files:
97
98
  - ext/error.hh
98
99
  - ext/node.hh
99
100
  - ext/rubytools.tcc
101
+ - test/ts_hornetseye_opencv.rb
102
+ - test/tc_hornetseye_opencv.rb
100
103
  has_rdoc: yard
101
104
  homepage: http://wedesoft.github.com/hornetseye-opencv/
102
105
  licenses: []
@@ -130,5 +133,5 @@ rubygems_version: 1.3.7
130
133
  signing_key:
131
134
  specification_version: 3
132
135
  summary: OpenCV integration for Hornetseye
133
- test_files: []
134
-
136
+ test_files:
137
+ - test/tc_hornetseye_opencv.rb