ropencv 0.0.22 → 0.0.34
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/ext/helper.rb +21 -18
- data/ext/opencv.txt +113 -29
- data/ext/post_opencv244.txt +0 -11
- data/ext/post_opencv300a.txt +19 -0
- data/ext/post_opencv400.txt +30 -0
- data/ext/pre_opencv244.txt +4 -0
- data/ext/rbind.rb +68 -13
- data/ext/src/CMakeLists.txt +5 -7
- data/lib/ropencv/ropencv_ruby.rb +8 -10
- data/ropencv.gemspec +4 -4
- metadata +12 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 663872452e7ff2563896ccf1c3ae0d215d646f8f4175c26c0e5d1ac101be3f7e
|
4
|
+
data.tar.gz: a6deabc2ae5c6a0f47174e9d3cb577a446f5d9b0d7cc7181f5f47b92b5787f68
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f147a1682fdf6ec36504ab2a98b273933ed58ba98c9f2690b1087d4dd153f6938b2e60a8e4c1b43c122c6054430b6dd2240015ccf9ed6764e91651f98a453ede
|
7
|
+
data.tar.gz: a1d115dd6ef68373dfff24e5461d11ba2cda39a512d2f17f15173ed230cf6a3b589eb4bbdf9df681b180ab74c8fafed6b0df962c88aac757bcc3194005f5aa23
|
data/ext/helper.rb
CHANGED
@@ -92,17 +92,16 @@ class Vec < Rbind::RClass
|
|
92
92
|
end
|
93
93
|
|
94
94
|
# find opencv version and headers needed to be parsed by rbind
|
95
|
-
def find_opencv
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
95
|
+
def find_opencv(hint)
|
96
|
+
hint =~ /\[(.*)\]\[v(.*)\(\)\]/
|
97
|
+
paths = [$1]
|
98
|
+
opencv_version = $2
|
99
|
+
if !opencv_version || !paths
|
100
|
+
raise "hint #{hint} is not encoding opencv loaction and version. It must have the format [PATH][vMAJOR.MINRO.REVISION()]"
|
100
101
|
end
|
101
|
-
|
102
|
+
paths << File.join(paths.first,"include")
|
102
103
|
|
103
|
-
|
104
|
-
out = IO.popen("pkg-config --modversion opencv")
|
105
|
-
out.read.chomp =~ /(\d+).(\d+).(\d+)/
|
104
|
+
opencv_version =~ /(\d+).(\d+).(\d+)/
|
106
105
|
major = $1.to_i; minor = $2.to_i; revision = $3.to_i
|
107
106
|
|
108
107
|
##add opencv headers
|
@@ -130,19 +129,23 @@ def find_opencv
|
|
130
129
|
"opencv2/stitching/detail/blenders.hpp", "opencv2/stitching/detail/exposure_compensate.hpp", "opencv2/stitching/detail/motion_estimators.hpp",
|
131
130
|
"opencv2/stitching/detail/seam_finders.hpp", "opencv2/stitching/detail/timelapsers.hpp", "opencv2/videostab/motion_core.hpp",
|
132
131
|
"opencv2/viz/types.hpp", "opencv2/viz/widgets.hpp"]
|
132
|
+
elsif major == 4
|
133
|
+
headers = ["opencv2/core.hpp", "opencv2/core/base.hpp", "opencv2/core/mat.hpp", "opencv2/core/ocl.hpp",
|
134
|
+
"opencv2/core/opengl.hpp", "opencv2/core/optim.hpp", "opencv2/core/persistence.hpp", "opencv2/core/types.hpp",
|
135
|
+
"opencv2/core/utility.hpp", "opencv2/imgproc.hpp", "opencv2/imgcodecs.hpp", "opencv2/videoio.hpp",
|
136
|
+
"opencv2/highgui.hpp", "opencv2/video/background_segm.hpp", "opencv2/video/tracking.hpp", "opencv2/flann/miniflann.hpp",
|
137
|
+
"opencv2/ml.hpp", "opencv2/features2d.hpp", "opencv2/calib3d.hpp", "opencv2/objdetect.hpp", "opencv2/photo.hpp",
|
138
|
+
"opencv2/shape/shape_distance.hpp", "opencv2/shape/shape_transformer.hpp", "opencv2/stitching.hpp",
|
139
|
+
"opencv2/stitching/detail/blenders.hpp", "opencv2/stitching/detail/exposure_compensate.hpp", "opencv2/stitching/detail/motion_estimators.hpp",
|
140
|
+
"opencv2/stitching/detail/seam_finders.hpp", "opencv2/stitching/detail/timelapsers.hpp", "opencv2/videostab/motion_core.hpp",
|
141
|
+
"opencv2/viz/types.hpp", "opencv2/viz/widgets.hpp"]
|
142
|
+
headers.map do |h|
|
143
|
+
File.join("opencv4",h)
|
144
|
+
end
|
133
145
|
else
|
134
146
|
raise "OpenCV version #{opencv_version} is currently not supported"
|
135
147
|
end
|
136
148
|
|
137
|
-
temp = paths.clone
|
138
|
-
temp.each do |path|
|
139
|
-
if path =~ /(.*)opencv$/
|
140
|
-
paths << $1
|
141
|
-
elsif path =~ /(.*)opencv2$/
|
142
|
-
paths << $1
|
143
|
-
end
|
144
|
-
end
|
145
|
-
|
146
149
|
# check that all headers are available
|
147
150
|
headers = headers.map do |i|
|
148
151
|
path = paths.find do |p|
|
data/ext/opencv.txt
CHANGED
@@ -11,6 +11,7 @@ const cv.CV_16S 3
|
|
11
11
|
const cv.CV_32S 4
|
12
12
|
const cv.CV_32F 5
|
13
13
|
const cv.CV_64F 6
|
14
|
+
const cv.CV_16F 7
|
14
15
|
const cv.CV_8UC1 (1-1)*8 + CV_8U
|
15
16
|
const cv.CV_8UC2 (2-1)*8 + CV_8U
|
16
17
|
const cv.CV_8UC3 (3-1)*8 + CV_8U
|
@@ -74,26 +75,6 @@ cv.Range.operator+ Range
|
|
74
75
|
int delta
|
75
76
|
cv.Range.operator- Range
|
76
77
|
int delta
|
77
|
-
class cv.String
|
78
|
-
cv.String.String
|
79
|
-
cv.String.String
|
80
|
-
c_string str
|
81
|
-
size_t length
|
82
|
-
cv.String.String
|
83
|
-
String other
|
84
|
-
cv.String.size size_t
|
85
|
-
cv.String.length size_t
|
86
|
-
cv.String.operator[] char
|
87
|
-
size_t idx
|
88
|
-
cv.String.c_str const_c_string
|
89
|
-
cv.String.begin char =str_begin
|
90
|
-
cv.String.end char =str_end
|
91
|
-
cv.String.empty bool
|
92
|
-
cv.String.clear void
|
93
|
-
cv.String.compare int
|
94
|
-
String str
|
95
|
-
cv.String.swap void
|
96
|
-
String str /IO
|
97
78
|
class cv.Scalar
|
98
79
|
double* val
|
99
80
|
cv.Scalar.Scalar
|
@@ -497,13 +478,6 @@ cv.Mat.ptr uchar*
|
|
497
478
|
int i2
|
498
479
|
cv.Mat.operator () Mat =block
|
499
480
|
Rect rect
|
500
|
-
const cv.Mat.MAGIC_VAL 0x42FF0000
|
501
|
-
const cv.Mat.AUTO_STEP 0
|
502
|
-
const cv.Mat.CONTINUOUS_FLAG CV_MAT_CONT_FLAG
|
503
|
-
const cv.Mat.SUBMATRIX_FLAG CV_SUBMAT_FLAG
|
504
|
-
const cv.Mat.MAGIC_MASK 0xFFFF0000
|
505
|
-
const cv.Mat.TYPE_MASK 0x00000FFF
|
506
|
-
const cv.Mat.DEPTH_MASK 7
|
507
481
|
class cv.RNG
|
508
482
|
uint64 state
|
509
483
|
cv.RNG.RNG
|
@@ -673,10 +647,120 @@ cv.FileNode.operator>> void =read_vector_string
|
|
673
647
|
cv.FileNode.begin FileNodeIterator
|
674
648
|
cv.FileNode.end FileNodeIterator
|
675
649
|
cv.FileNodeIterator.operator++ FileNodeIterator
|
676
|
-
cv.FileNodeIterator.operator-- FileNodeIterator
|
677
650
|
cv.FileNodeIterator.operator* FileNode =to_node
|
678
651
|
cv.FileNodeIterator.operator== bool
|
679
652
|
FileNodeIterator other
|
680
653
|
cv.FileNodeIterator.operator!= bool
|
681
654
|
FileNodeIterator other
|
682
|
-
|
655
|
+
class cv.UMat
|
656
|
+
int flags
|
657
|
+
int rows
|
658
|
+
int cols
|
659
|
+
size_t step
|
660
|
+
cv.UMat.UMat
|
661
|
+
cv.UMat.UMat
|
662
|
+
UMat m
|
663
|
+
cv.UMat.UMat
|
664
|
+
vector_Point vec
|
665
|
+
bool copy false
|
666
|
+
cv.UMat.UMat
|
667
|
+
vector_Point2f vec
|
668
|
+
bool copy false
|
669
|
+
cv.UMat.UMat
|
670
|
+
vector_Point2d vec
|
671
|
+
bool copy false
|
672
|
+
cv.UMat.UMat
|
673
|
+
vector_Point3f vec
|
674
|
+
bool copy false
|
675
|
+
cv.UMat.UMat
|
676
|
+
vector_Point3d vec
|
677
|
+
bool copy false
|
678
|
+
cv.UMat.row UMat
|
679
|
+
int y
|
680
|
+
cv.UMat.col UMat
|
681
|
+
int c
|
682
|
+
cv.UMat.rowRange UMat
|
683
|
+
int startrow
|
684
|
+
int endrow
|
685
|
+
cv.UMat.rowRange UMat
|
686
|
+
Range r
|
687
|
+
cv.UMat.colRange UMat
|
688
|
+
int startcol
|
689
|
+
int endcol
|
690
|
+
cv.UMat.colRange UMat
|
691
|
+
Range r
|
692
|
+
cv.UMat.diag UMat
|
693
|
+
int d 0
|
694
|
+
cv.UMat.clone UMat
|
695
|
+
cv.UMat.copyTo void
|
696
|
+
UMat m /O
|
697
|
+
cv.UMat.copyTo void
|
698
|
+
UMat m /O
|
699
|
+
UMat mask /IO
|
700
|
+
cv.UMat.convertTo void
|
701
|
+
UMat m /O
|
702
|
+
int rtype
|
703
|
+
double alpha 1
|
704
|
+
double beta 0
|
705
|
+
cv.UMat.assignTo void
|
706
|
+
UMat m /O
|
707
|
+
int type -1
|
708
|
+
cv.UMat.reshape UMat
|
709
|
+
int cn
|
710
|
+
int rows 0
|
711
|
+
cv.UMat.t UMat
|
712
|
+
cv.UMat.inv UMat
|
713
|
+
int method DECOMP_LU
|
714
|
+
cv.UMat.mul UMat
|
715
|
+
UMat m
|
716
|
+
double scale 1
|
717
|
+
cv.UMat.dot double
|
718
|
+
UMat m
|
719
|
+
cv.UMat.diag UMat /S
|
720
|
+
UMat d
|
721
|
+
cv.UMat.zeros UMat /S
|
722
|
+
int rows
|
723
|
+
int cols
|
724
|
+
int type
|
725
|
+
cv.UMat.zeros UMat /S
|
726
|
+
Size size
|
727
|
+
int type
|
728
|
+
cv.UMat.ones UMat /S
|
729
|
+
int rows
|
730
|
+
int cols
|
731
|
+
int type
|
732
|
+
cv.UMat.ones UMat /S
|
733
|
+
Size size
|
734
|
+
int type
|
735
|
+
cv.UMat.eye UMat /S
|
736
|
+
int rows
|
737
|
+
int cols
|
738
|
+
int type
|
739
|
+
cv.UMat.eye UMat /S
|
740
|
+
Size size
|
741
|
+
int type
|
742
|
+
cv.UMat.create void
|
743
|
+
int rows
|
744
|
+
int cols
|
745
|
+
int type
|
746
|
+
cv.UMat.create void
|
747
|
+
Size size
|
748
|
+
int type
|
749
|
+
cv.UMat.isContinuous bool
|
750
|
+
cv.UMat.isSubmatrix bool
|
751
|
+
cv.UMat.elemSize size_t
|
752
|
+
cv.UMat.elemSize1 size_t
|
753
|
+
cv.UMat.size Size
|
754
|
+
cv.UMat.type int
|
755
|
+
cv.UMat.depth int
|
756
|
+
cv.UMat.channels int
|
757
|
+
cv.UMat.step1 size_t
|
758
|
+
int i 0
|
759
|
+
cv.UMat.empty bool
|
760
|
+
cv.UMat.total size_t
|
761
|
+
cv.UMat.checkVector int
|
762
|
+
int elemChannels
|
763
|
+
int depth -1
|
764
|
+
bool requireContinuous true
|
765
|
+
cv.UMat.operator () UMat =block
|
766
|
+
Rect rect
|
data/ext/post_opencv244.txt
CHANGED
@@ -1,14 +1,3 @@
|
|
1
|
-
cv.drawMatches void
|
2
|
-
Mat img1
|
3
|
-
vector_KeyPoint keypoints1
|
4
|
-
Mat img2
|
5
|
-
vector_KeyPoint keypoints2
|
6
|
-
vector_DMatch matches1to2
|
7
|
-
Mat outImg /O
|
8
|
-
Scalar matchColor Scalar::all(-1)
|
9
|
-
Scalar singlePointColor Scalar::all(-1)
|
10
|
-
vector_char matchesMask std::vector<char>()
|
11
|
-
int flags DrawMatchesFlags::DEFAULT
|
12
1
|
cv.morphologyDefaultBorderValue Scalar
|
13
2
|
cv.polyfit void
|
14
3
|
Mat srcx
|
@@ -0,0 +1,19 @@
|
|
1
|
+
class cv.String
|
2
|
+
cv.String.String
|
3
|
+
cv.String.String
|
4
|
+
c_string str
|
5
|
+
size_t length
|
6
|
+
cv.String.String
|
7
|
+
String other
|
8
|
+
cv.String.size size_t
|
9
|
+
cv.String.length size_t
|
10
|
+
cv.String.operator[] char
|
11
|
+
size_t idx
|
12
|
+
cv.String.c_str const_c_string
|
13
|
+
cv.String.empty bool
|
14
|
+
cv.String.clear void
|
15
|
+
cv.String.compare int
|
16
|
+
String str
|
17
|
+
cv.String.swap void
|
18
|
+
String str /IO
|
19
|
+
|
@@ -0,0 +1,30 @@
|
|
1
|
+
cv.UMat.getMat Mat
|
2
|
+
AccessFlag flags
|
3
|
+
cv.UMat.UMat
|
4
|
+
Size size
|
5
|
+
int type
|
6
|
+
UMatUsageFlags usageFlags USAGE_DEFAULT
|
7
|
+
cv.UMat.UMat
|
8
|
+
int rows
|
9
|
+
int cols
|
10
|
+
int type
|
11
|
+
UMatUsageFlags usageFlags USAGE_DEFAULT
|
12
|
+
cv.UMat.UMat
|
13
|
+
int rows
|
14
|
+
int cols
|
15
|
+
int type
|
16
|
+
Scalar scalar
|
17
|
+
UMatUsageFlags usageFlags USAGE_DEFAULT
|
18
|
+
cv.UMat.UMat
|
19
|
+
Size size
|
20
|
+
int type
|
21
|
+
Scalar scalar
|
22
|
+
UMatUsageFlags usageFlags USAGE_DEFAULT
|
23
|
+
cv.UMat.UMat
|
24
|
+
UMat m
|
25
|
+
Range row_range
|
26
|
+
Range col_range Range::all()
|
27
|
+
cv.UMat.UMat
|
28
|
+
UMat m
|
29
|
+
Rect roi
|
30
|
+
|
data/ext/pre_opencv244.txt
CHANGED
@@ -46,3 +46,7 @@ const cv.CV_WND_PROP_ASPECT_RATIO 2
|
|
46
46
|
const cv.CV_WND_PROP_OPENGL 3
|
47
47
|
const cv.InputArray.KINDSHIFT 16
|
48
48
|
const cv.DBL_EPSILON Float::EPSILON
|
49
|
+
const cv.CV_CALIB_CB_ADAPTIVE_THRESH 1
|
50
|
+
const cv.CV_CALIB_CB_NORMALIZE_IMAGE 2
|
51
|
+
const cv.CV_CALIB_CB_FILTER_QUADS 4
|
52
|
+
const cv.CV_CALIB_CB_FAST_CHECK 8
|
data/ext/rbind.rb
CHANGED
@@ -3,12 +3,12 @@ require 'pp'
|
|
3
3
|
require 'yaml'
|
4
4
|
|
5
5
|
require File.join(File.dirname(__FILE__),'helper.rb')
|
6
|
-
|
6
|
+
|
7
|
+
major,minor,revision,opencv_headers = find_opencv(ARGV[0])
|
7
8
|
opencv_version = "#{major}.#{minor}.#{revision}"
|
8
9
|
Rbind.log.warn "found opencv #{opencv_version}"
|
9
10
|
|
10
11
|
rbind = Rbind::Rbind.new("OpenCV")
|
11
|
-
rbind.pkg_config << "opencv"
|
12
12
|
rbind.includes = opencv_headers
|
13
13
|
|
14
14
|
# add Vec types
|
@@ -21,18 +21,40 @@ end
|
|
21
21
|
|
22
22
|
# add some templates and alias
|
23
23
|
rbind.parser.type_alias["const_c_string"] = rbind.c_string.to_const
|
24
|
-
if major >= 3
|
24
|
+
if major >= 3 && major < 4
|
25
|
+
rbind.pkg_config << "opencv"
|
25
26
|
rbind.add_std_types
|
27
|
+
rbind.cv.add_type(Rbind::RClass.new("String"))
|
28
|
+
rbind.cv.type_alias["string"] = rbind.cv.String
|
26
29
|
rbind.parser.add_type OpenCVPtr2.new
|
27
30
|
rbind.cv.add_type(Rbind::RClass.new("ShapeTransformer"))
|
28
31
|
rbind.cv.add_type(Rbind::RClass.new("Feature2D"))
|
32
|
+
rbind.cv.add_type(Rbind::RClass.new("KeyPoint"))
|
33
|
+
rbind.cv.add_type(Rbind::RClass.new("DMatch"))
|
29
34
|
rbind.cv.type_alias["FeatureDetector"] = rbind.cv.Feature2D
|
30
35
|
rbind.cv.type_alias["DescriptorExtractor"] = rbind.cv.Feature2D
|
31
|
-
|
32
|
-
rbind.
|
33
|
-
rbind.
|
34
|
-
rbind.cv.
|
36
|
+
elsif major >= 4
|
37
|
+
rbind.pkg_config << "opencv4"
|
38
|
+
rbind.add_std_types
|
39
|
+
rbind.cv.type_alias["string"] = rbind.std.string
|
40
|
+
rbind.cv.type_alias["String"] = rbind.std.string
|
41
|
+
rbind.parser.add_type OpenCVPtr2.new
|
42
|
+
rbind.cv.add_type(Rbind::RClass.new("Feature2D"))
|
43
|
+
rbind.cv.add_type(Rbind::RClass.new("KeyPoint"))
|
44
|
+
rbind.cv.add_type(Rbind::RClass.new("DMatch"))
|
45
|
+
rbind.cv.type_alias["FeatureDetector"] = rbind.cv.Feature2D
|
46
|
+
rbind.cv.type_alias["DescriptorExtractor"] = rbind.cv.Feature2D
|
47
|
+
rbind.cv.add_namespace("detail")
|
48
|
+
rbind.cv.detail.add_type(Rbind::RClass.new("GraphCutSeamFinderBase"))
|
49
|
+
rbind.cv.detail.add_type(Rbind::RClass.new("ImageFeatures"))
|
50
|
+
rbind.cv.detail.add_type(Rbind::RClass.new("CameraParams"))
|
51
|
+
rbind.cv.detail.add_type(Rbind::RClass.new("MatchesInfo"))
|
52
|
+
if(minor >= 5)
|
53
|
+
rbind.cv.add_type(Rbind::RClass.new("HistogramCostExtractor"))
|
54
|
+
rbind.cv.add_type(Rbind::RClass.new("ShapeTransformer"))
|
55
|
+
end
|
35
56
|
else
|
57
|
+
rbind.pkg_config << "opencv"
|
36
58
|
rbind.add_std_vector
|
37
59
|
rbind.parser.add_type OpenCVPtr.new
|
38
60
|
end
|
@@ -42,11 +64,10 @@ rbind.use_namespace rbind.std
|
|
42
64
|
rbind.parse File.join(File.dirname(__FILE__),"pre_opencv244.txt")
|
43
65
|
rbind.parse File.join(File.dirname(__FILE__),"opencv.txt")
|
44
66
|
rbind.use_namespace rbind.cv
|
45
|
-
rbind.cv.type_alias["string"] = rbind.cv.String
|
46
67
|
rbind.parse_headers
|
47
68
|
rbind.parse File.join(File.dirname(__FILE__),"post_opencv244.txt")
|
48
|
-
rbind.cv.String.begin.return_type = rbind.cv.String.begin.return_type.to_const.to_ptr
|
49
|
-
rbind.cv.String.end.return_type = rbind.cv.String.end.return_type.to_const.to_ptr
|
69
|
+
#rbind.cv.String.begin.return_type = rbind.cv.String.begin.return_type.to_const.to_ptr
|
70
|
+
#rbind.cv.String.end.return_type = rbind.cv.String.end.return_type.to_const.to_ptr
|
50
71
|
|
51
72
|
# post parsing + patching wrong signatures
|
52
73
|
if major == 2 && minor == 4 && revision>= 9
|
@@ -71,19 +92,48 @@ if major == 2 && minor == 4 && revision>= 9
|
|
71
92
|
rbind.cv.BRISK.operation("BRISK")[1].parameter(0).remove_const!
|
72
93
|
rbind.cv.BRISK.operation("BRISK")[1].parameter(1).remove_const!
|
73
94
|
rbind.cv.putText.parameter(0).remove_const!
|
74
|
-
elsif major
|
95
|
+
elsif major == 3
|
75
96
|
rbind.parse File.join(File.dirname(__FILE__),"post_opencv249.txt")
|
76
97
|
rbind.parse File.join(File.dirname(__FILE__),"post_opencv300.txt")
|
98
|
+
rbind.parse File.join(File.dirname(__FILE__),"post_opencv300a.txt")
|
77
99
|
rbind.parse File.join(File.dirname(__FILE__),"post_opencv310.txt") if minor >= 1
|
78
100
|
|
79
|
-
rbind.cv.randShuffle.parameter(2).remove_const!
|
80
|
-
rbind.cv.AlignExposures.process.parameter(1).remove_const!
|
101
|
+
# rbind.cv.randShuffle.parameter(2).remove_const!
|
102
|
+
# rbind.cv.AlignExposures.process.parameter(1).remove_const!
|
103
|
+
rbind.cv.AlignMTB.process[0].parameter(1).remove_const!
|
104
|
+
rbind.cv.AlignMTB.process[1].parameter(1).remove_const!
|
105
|
+
rbind.CvDTreeNode.ignore = true
|
106
|
+
rbind.CvSlice.ignore = true
|
107
|
+
rbind.CvTermCriteria.ignore = true
|
108
|
+
rbind.cv.polyfit.ignore = true
|
109
|
+
|
110
|
+
# is removed on opencv master
|
111
|
+
rbind.ml.StatModel.getParams.ignore = true if(rbind.ml.StatModel.operation?('getParams'))
|
112
|
+
|
113
|
+
# is removed on opencv master
|
114
|
+
# mark none polymorphic class
|
115
|
+
rbind.ml.DTrees.Params.polymorphic = false if(rbind.ml.DTrees.type?("Params"))
|
116
|
+
elsif major >= 4
|
117
|
+
rbind.parse File.join(File.dirname(__FILE__),"post_opencv249.txt")
|
118
|
+
rbind.parse File.join(File.dirname(__FILE__),"post_opencv300.txt")
|
119
|
+
rbind.parse File.join(File.dirname(__FILE__),"post_opencv400.txt")
|
120
|
+
|
81
121
|
rbind.cv.AlignMTB.process[0].parameter(1).remove_const!
|
82
122
|
rbind.cv.AlignMTB.process[1].parameter(1).remove_const!
|
83
123
|
rbind.CvDTreeNode.ignore = true
|
84
124
|
rbind.CvSlice.ignore = true
|
85
125
|
rbind.CvTermCriteria.ignore = true
|
86
126
|
rbind.cv.polyfit.ignore = true
|
127
|
+
rbind.cv.FlannBasedMatcher.write[0].ignore = true
|
128
|
+
rbind.cv.FlannBasedMatcher.write[1].ignore = true
|
129
|
+
rbind.cv.FlannBasedMatcher.read[0].ignore = true
|
130
|
+
# issues with UMat
|
131
|
+
rbind.detail.NoExposureCompensator.feed.ignore = true
|
132
|
+
rbind.detail.GainCompensator.feed.ignore = true
|
133
|
+
rbind.detail.BlocksGainCompensator.feed.ignore = true
|
134
|
+
|
135
|
+
# issues with enum using full namespace name
|
136
|
+
rbind.cv.HOGDescriptor.ignore = true
|
87
137
|
|
88
138
|
# is removed on opencv master
|
89
139
|
rbind.ml.StatModel.getParams.ignore = true if(rbind.ml.StatModel.operation?('getParams'))
|
@@ -91,6 +141,10 @@ elsif major >= 3
|
|
91
141
|
# is removed on opencv master
|
92
142
|
# mark none polymorphic class
|
93
143
|
rbind.ml.DTrees.Params.polymorphic = false if(rbind.ml.DTrees.type?("Params"))
|
144
|
+
|
145
|
+
if minor > 5
|
146
|
+
rbind.cv.createShapeContextDistanceExtractor.ignore = true
|
147
|
+
end
|
94
148
|
end
|
95
149
|
|
96
150
|
# add some more vector types
|
@@ -103,6 +157,7 @@ rbind.parser.type("std::vector<uint64_t>")
|
|
103
157
|
rbind.parser.type("std::vector<int8_t>")
|
104
158
|
rbind.parser.type("std::vector<int64_t>")
|
105
159
|
rbind.parser.type("std::vector<Scalar>")
|
160
|
+
rbind.parser.type("std::vector<Range>")
|
106
161
|
rbind.parser.type("std::vector<std::vector<Point2d> >")
|
107
162
|
|
108
163
|
# add some extra documentation
|
data/ext/src/CMakeLists.txt
CHANGED
@@ -2,12 +2,11 @@ cmake_minimum_required(VERSION 2.6)
|
|
2
2
|
PROJECT(rbind_opencv CXX)
|
3
3
|
|
4
4
|
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
5
|
+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
|
6
|
+
|
5
7
|
include(FindPkgConfig)
|
6
|
-
|
7
|
-
add_definitions(${OPENCV_CFLAGS})
|
8
|
+
find_package(OpenCV REQUIRED)
|
8
9
|
include_directories(${OPENCV_INCLUDE_DIRS})
|
9
|
-
link_directories(${OPENCV_LIBRARY_DIRS})
|
10
|
-
|
11
10
|
|
12
11
|
# use, i.e. don't skip the full RPATH for the build tree
|
13
12
|
SET(CMAKE_SKIP_BUILD_RPATH FALSE)
|
@@ -40,10 +39,9 @@ SET(RBIND_SRC
|
|
40
39
|
"${CMAKE_CURRENT_SOURCE_DIR}/conversions.cc")
|
41
40
|
|
42
41
|
add_custom_command(OUTPUT ${RBIND_SRC}
|
43
|
-
|
44
|
-
|
42
|
+
COMMAND ruby "${CMAKE_CURRENT_SOURCE_DIR}/../rbind.rb" ARGS "\"${FIND_PACKAGE_MESSAGE_DETAILS_OpenCV}\"")
|
45
43
|
ADD_LIBRARY(rbind_opencv SHARED ${RBIND_SRC})
|
46
|
-
TARGET_LINK_LIBRARIES(rbind_opencv ${
|
44
|
+
TARGET_LINK_LIBRARIES(rbind_opencv ${OpenCV_LIBS})
|
47
45
|
|
48
46
|
set(ROOT_FOLDER ${CMAKE_CURRENT_SOURCE_DIR}/../..)
|
49
47
|
install(TARGETS rbind_opencv LIBRARY DESTINATION ${ROOT_FOLDER}/lib/ropencv)
|
data/lib/ropencv/ropencv_ruby.rb
CHANGED
@@ -82,9 +82,7 @@ module OpenCV
|
|
82
82
|
end
|
83
83
|
end
|
84
84
|
def to_s
|
85
|
-
|
86
|
-
return "" if s == 0
|
87
|
-
str_begin.read_string_length(s)
|
85
|
+
c_str
|
88
86
|
end
|
89
87
|
end
|
90
88
|
|
@@ -208,7 +206,7 @@ module OpenCV
|
|
208
206
|
end
|
209
207
|
|
210
208
|
def <<(val)
|
211
|
-
if val.is_a?(
|
209
|
+
if val.is_a?(1.class)
|
212
210
|
write_int(val)
|
213
211
|
elsif val.is_a?(Float)
|
214
212
|
write_double(val)
|
@@ -396,7 +394,7 @@ module OpenCV
|
|
396
394
|
[obj.size,1,obj.first]
|
397
395
|
end
|
398
396
|
end
|
399
|
-
setter,step,type = if e.is_a?
|
397
|
+
setter,step,type = if e.is_a? 1.class
|
400
398
|
[:put_array_of_int32,4*w,CV_32SC1]
|
401
399
|
elsif e.is_a? Float
|
402
400
|
[:put_array_of_float64,8*w,CV_64FC1]
|
@@ -463,7 +461,7 @@ module OpenCV
|
|
463
461
|
case other
|
464
462
|
when Float
|
465
463
|
[other,to_f]
|
466
|
-
when
|
464
|
+
when 1.class
|
467
465
|
[other,to_i]
|
468
466
|
else
|
469
467
|
raise TypeError, "#{self.class} can't be coerced into #{other.class}"
|
@@ -539,7 +537,7 @@ module OpenCV
|
|
539
537
|
def -(val)
|
540
538
|
if val.is_a? Float
|
541
539
|
Rbind::cv_mat_operator_minus__2( self, val)
|
542
|
-
elsif val.is_a?
|
540
|
+
elsif val.is_a? 1.class
|
543
541
|
Rbind::cv_mat_operator_minus__3( self, val)
|
544
542
|
else
|
545
543
|
Rbind::cv_mat_operator_minus( self, val)
|
@@ -549,7 +547,7 @@ module OpenCV
|
|
549
547
|
def +(val)
|
550
548
|
if val.is_a? Float
|
551
549
|
Rbind::cv_mat_operator_plus__2( self, val)
|
552
|
-
elsif val.is_a?
|
550
|
+
elsif val.is_a? 1.class
|
553
551
|
Rbind::cv_mat_operator_plus__3( self, val)
|
554
552
|
else
|
555
553
|
Rbind::cv_mat_operator_plus( self, val)
|
@@ -559,7 +557,7 @@ module OpenCV
|
|
559
557
|
def /(val)
|
560
558
|
if val.is_a? Float
|
561
559
|
Rbind::cv_mat_operator_div__2( self, val)
|
562
|
-
elsif val.is_a?
|
560
|
+
elsif val.is_a? 1.class
|
563
561
|
Rbind::cv_mat_operator_div__3( self, val)
|
564
562
|
else
|
565
563
|
Rbind::cv_mat_operator_div( self, val)
|
@@ -569,7 +567,7 @@ module OpenCV
|
|
569
567
|
def *(val)
|
570
568
|
if val.is_a? Float
|
571
569
|
Rbind::cv_mat_operator_mult__2( self, val)
|
572
|
-
elsif val.is_a?
|
570
|
+
elsif val.is_a? 1.class
|
573
571
|
Rbind::cv_mat_operator_mult__3( self, val)
|
574
572
|
else
|
575
573
|
Rbind::cv_mat_operator_mult( self, val)
|
data/ropencv.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'ropencv'
|
3
|
-
s.version = '0.0.
|
4
|
-
s.date = '
|
3
|
+
s.version = '0.0.34'
|
4
|
+
s.date = '2021-02-14'
|
5
5
|
s.platform = Gem::Platform::RUBY
|
6
6
|
s.authors = ['Alexander Duda']
|
7
7
|
s.email = ['Alexander.Duda@me.com']
|
@@ -11,8 +11,8 @@ Gem::Specification.new do |s|
|
|
11
11
|
s.files = `git ls-files`.split("\n") + ["lib/ropencv/ropencv_types.rb","lib/ropencv/ropencv_ruby.rb"]
|
12
12
|
s.require_path = 'lib'
|
13
13
|
s.required_rubygems_version = ">= 1.3.6"
|
14
|
-
s.add_runtime_dependency "rbind", ">= 0.0.
|
15
|
-
s.add_runtime_dependency "ffi", "
|
14
|
+
s.add_runtime_dependency "rbind", ">= 0.0.30"
|
15
|
+
s.add_runtime_dependency "ffi", ">= 1.9.0"
|
16
16
|
s.add_development_dependency 'minitest', '~> 5.5'
|
17
17
|
s.extensions = ['ext/extconf.rb']
|
18
18
|
s.license = 'BSD'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ropencv
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.34
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexander Duda
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-02-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rbind
|
@@ -16,26 +16,26 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.0.
|
19
|
+
version: 0.0.30
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.0.
|
26
|
+
version: 0.0.30
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: ffi
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: 1.9.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: 1.9.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
@@ -92,7 +92,9 @@ files:
|
|
92
92
|
- ext/post_opencv244.txt
|
93
93
|
- ext/post_opencv249.txt
|
94
94
|
- ext/post_opencv300.txt
|
95
|
+
- ext/post_opencv300a.txt
|
95
96
|
- ext/post_opencv310.txt
|
97
|
+
- ext/post_opencv400.txt
|
96
98
|
- ext/pre_opencv244.txt
|
97
99
|
- ext/rbind.rb
|
98
100
|
- ext/src/CMakeLists.txt
|
@@ -115,7 +117,7 @@ homepage: http://www.ropencv.aduda.eu
|
|
115
117
|
licenses:
|
116
118
|
- BSD
|
117
119
|
metadata: {}
|
118
|
-
post_install_message:
|
120
|
+
post_install_message:
|
119
121
|
rdoc_options: []
|
120
122
|
require_paths:
|
121
123
|
- lib
|
@@ -130,9 +132,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
130
132
|
- !ruby/object:Gem::Version
|
131
133
|
version: 1.3.6
|
132
134
|
requirements: []
|
133
|
-
|
134
|
-
|
135
|
-
signing_key:
|
135
|
+
rubygems_version: 3.0.3
|
136
|
+
signing_key:
|
136
137
|
specification_version: 4
|
137
138
|
summary: Ruby bindings for opencv 2.4.4 and higher
|
138
139
|
test_files: []
|