ropencv 0.0.19 → 0.0.20

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/ext/helper.rb +9 -10
  3. data/ext/rbind.rb +14 -4
  4. data/ropencv.gemspec +1 -1
  5. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1650b14ec2a2ce44837bf1975ecdd677c4bae996
4
- data.tar.gz: 0ffe7a2c605e9ade443040e70a307fc17a16de78
3
+ metadata.gz: d80992cd488fc9da556eafc91ec379f008232224
4
+ data.tar.gz: 560a506ffc0a3f10e3738fb951cebea84ddc175b
5
5
  SHA512:
6
- metadata.gz: 6bae2f59f42f6ae007c8cfe7e7b19de02e73ece1c5c47ff6a073192333b4fc5d31dbf2236355990a9f45940757ffee25174c8057f9c7821e567d46960bc92b28
7
- data.tar.gz: c1d4d40884066d282ef9325cd5c1aea5d9fa8bb9b10da7d3b6e3b716b66ced06849884fd4bf2f8d04a0a18821cffa48dc8af2ebea30074ea453c5faba01ecfce
6
+ metadata.gz: 63b6394bb116af88eb33061789eac7bf13510b1f9ba22d24b8a147eb76c7fae5b24c2dae1a6586910d0a7fd6dae1259a31ce9e22a768f916c413cc8e7c96e152
7
+ data.tar.gz: d9eec5dfc196d4f77dc106c21c1de14bdbd49022889bf0b23ab62d8c2ce90eb6b4ac9c97d1bf0070fba5431ed67852276ab2aa8a6caa8e7e8fb5d8e36d549692
@@ -91,14 +91,13 @@ def find_opencv
91
91
 
92
92
  #check opencv version
93
93
  out = IO.popen("pkg-config --modversion opencv")
94
- opencv_version = out.read.chomp
95
- opencv_version =~ /(\d+).(\d+).(\d+)/
96
- major = $1.to_i
97
- minor1 = $2.to_i
98
- minor2= $3.to_i
94
+ out.read.chomp =~ /(\d+).(\d+).(\d+)/
95
+ major = $1.to_i; minor = $2.to_i; revision = $3.to_i
99
96
 
100
97
  ##add opencv headers
101
- headers = if major >= 2 && major < 3
98
+ headers = if major < 1 || (major == 2 && minor <= 4 && revision<= 3)
99
+ raise "OpenCV version #{opencv_version} is not supported. At least OpenCV 2.4.4 is required"
100
+ elsif major == 2
102
101
  ["opencv2/core/core_c.h", "opencv2/core/types_c.h",
103
102
  "opencv2/core/core.hpp", "opencv2/flann/miniflann.hpp",
104
103
  "opencv2/imgproc/imgproc_c.h", "opencv2/imgproc/types_c.h",
@@ -110,7 +109,7 @@ def find_opencv
110
109
  "opencv2/highgui/highgui_c.h", "opencv2/highgui/highgui.hpp",
111
110
  "opencv2/contrib/contrib.hpp", "opencv2/nonfree/nonfree.hpp",
112
111
  "opencv2/nonfree/features2d.hpp"]
113
- elsif major >= 3
112
+ elsif major == 3
114
113
  ["opencv2/core.hpp", "opencv2/core/base.hpp", "opencv2/core/mat.hpp", "opencv2/core/ocl.hpp",
115
114
  "opencv2/core/opengl.hpp", "opencv2/core/optim.hpp", "opencv2/core/persistence.hpp", "opencv2/core/types.hpp",
116
115
  "opencv2/core/utility.hpp", "opencv2/imgproc.hpp", "opencv2/imgcodecs.hpp", "opencv2/videoio.hpp",
@@ -121,8 +120,9 @@ def find_opencv
121
120
  "opencv2/stitching/detail/seam_finders.hpp", "opencv2/stitching/detail/timelapsers.hpp", "opencv2/videostab/motion_core.hpp",
122
121
  "opencv2/viz/types.hpp", "opencv2/viz/widgets.hpp"]
123
122
  else
124
- raise "OpenCV version #{opencv_version} is not supported"
123
+ raise "OpenCV version #{opencv_version} is currently not supported"
125
124
  end
125
+
126
126
  temp = paths.clone
127
127
  temp.each do |path|
128
128
  if path =~ /(.*)opencv$/
@@ -145,6 +145,5 @@ def find_opencv
145
145
  nil
146
146
  end
147
147
  end.compact
148
- Rbind.log.warn "found opencv #{opencv_version}: #{paths[0]}"
149
- [opencv_version,headers]
148
+ [major,minor,revision,headers]
150
149
  end
@@ -3,7 +3,9 @@ require 'pp'
3
3
  require 'yaml'
4
4
 
5
5
  require File.join(File.dirname(__FILE__),'helper.rb')
6
- opencv_version,opencv_headers = find_opencv
6
+ major,minor,revision,opencv_headers = find_opencv
7
+ opencv_version = "#{major}.#{minor}.#{revision}"
8
+ Rbind.log.warn "found opencv #{opencv_version}"
7
9
 
8
10
  rbind = Rbind::Rbind.new("OpenCV")
9
11
  rbind.pkg_config << "opencv"
@@ -19,7 +21,7 @@ end
19
21
 
20
22
  # add some templates and alias
21
23
  rbind.parser.type_alias["const_c_string"] = rbind.c_string.to_const
22
- if opencv_version >= "3.0.0"
24
+ if major >= 3
23
25
  rbind.add_std_types
24
26
  rbind.parser.add_type OpenCVPtr2.new
25
27
  rbind.cv.add_type(Rbind::RClass.new("ShapeTransformer"))
@@ -45,7 +47,7 @@ rbind.parse_headers
45
47
  rbind.parse File.join(File.dirname(__FILE__),"post_opencv244.txt")
46
48
 
47
49
  # post parsing + patching wrong signatures
48
- if opencv_version >= "2.4.9" && opencv_version < "3.0.0"
50
+ if major == 2 && minor == 4 && revision>= 9
49
51
  rbind.parse File.join(File.dirname(__FILE__),"post_opencv249.txt")
50
52
 
51
53
  rbind.cv.calcOpticalFlowSF[0].parameter(0).remove_const!
@@ -67,7 +69,7 @@ if opencv_version >= "2.4.9" && opencv_version < "3.0.0"
67
69
  rbind.cv.BRISK.operation("BRISK")[1].parameter(0).remove_const!
68
70
  rbind.cv.BRISK.operation("BRISK")[1].parameter(1).remove_const!
69
71
  rbind.cv.putText.parameter(0).remove_const!
70
- elsif opencv_version >= "3.0.0"
72
+ elsif major >= 3
71
73
  rbind.parse File.join(File.dirname(__FILE__),"post_opencv249.txt")
72
74
  rbind.parse File.join(File.dirname(__FILE__),"post_opencv300.txt")
73
75
  rbind.cv.randShuffle.parameter(2).remove_const!
@@ -130,6 +132,14 @@ Rbind::GeneratorRuby.on_normalize_default_value do |parameter|
130
132
  end
131
133
  end
132
134
 
135
+ # add version
136
+ cmajor = Rbind::RParameter.new(:CV_VERSION_MAJOR,rbind.parser.type("const int"),major)
137
+ cminor= Rbind::RParameter.new(:CV_VERSION_MINOR,rbind.parser.type("const int"),minor)
138
+ crevision = Rbind::RParameter.new(:CV_VERSION_REVISION,rbind.parser.type("const int"),revision)
139
+ rbind.parser.add_const(cmajor)
140
+ rbind.parser.add_const(cminor)
141
+ rbind.parser.add_const(crevision)
142
+
133
143
  # generate files
134
144
  rbind.generator_ruby.file_prefix = "ropencv"
135
145
  rbind.generate(File.join(File.dirname(__FILE__),"src"),File.join(File.dirname(__FILE__),"..","lib","ropencv"))
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'ropencv'
3
- s.version = '0.0.19'
3
+ s.version = '0.0.20'
4
4
  s.date = '2015-03-13'
5
5
  s.platform = Gem::Platform::RUBY
6
6
  s.authors = ['Alexander Duda']
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ropencv
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.19
4
+ version: 0.0.20
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Duda