ropencv 0.0.19 → 0.0.20

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