ruby-opencv 0.0.8.pre-mswin32 → 0.0.9.pre2-mswin32
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.
- checksums.yaml +7 -0
- data/DEVELOPERS_NOTE.md +137 -0
- data/Gemfile +1 -1
- data/License.txt +30 -30
- data/Manifest.txt +7 -5
- data/README.md +98 -0
- data/Rakefile +63 -5
- data/config.yml +7 -0
- data/examples/alpha_blend.rb +21 -21
- data/examples/find_obj.rb +169 -169
- data/examples/match_kdtree.rb +88 -88
- data/ext/opencv/cvcapture.cpp +19 -12
- data/ext/opencv/cvutils.cpp +192 -194
- data/ext/opencv/cvutils.h +30 -29
- data/{extconf.rb → ext/opencv/extconf.rb} +12 -4
- data/lib/opencv.rb +12 -3
- data/lib/opencv/psyched_yaml.rb +22 -22
- data/lib/opencv/version.rb +1 -1
- data/ruby-opencv.gemspec +44 -43
- data/test/helper.rb +1 -1
- data/test/runner.rb +30 -30
- data/test/test_curve.rb +1 -1
- data/test/test_cvavgcomp.rb +24 -24
- data/test/test_cvbox2d.rb +76 -76
- data/test/test_cvcapture.rb +183 -183
- data/test/test_cvchain.rb +108 -108
- data/test/test_cvcircle32f.rb +41 -41
- data/test/test_cvconnectedcomp.rb +61 -61
- data/test/test_cvcontour.rb +150 -150
- data/test/test_cvcontourtree.rb +43 -43
- data/test/test_cverror.rb +1 -1
- data/test/test_cvfeaturetree.rb +65 -65
- data/test/test_cvfont.rb +58 -58
- data/test/test_cvhaarclassifiercascade.rb +63 -63
- data/test/test_cvhistogram.rb +1 -1
- data/test/test_cvhumoments.rb +83 -83
- data/test/test_cvline.rb +50 -50
- data/test/test_cvmat.rb +1 -1
- data/test/test_cvmat_drawing.rb +1 -1
- data/test/test_cvmat_dxt.rb +1 -1
- data/test/test_cvmat_imageprocessing.rb +1 -1
- data/test/test_cvmat_matching.rb +1 -1
- data/test/test_cvmoments.rb +180 -180
- data/test/test_cvpoint.rb +75 -75
- data/test/test_cvpoint2d32f.rb +75 -75
- data/test/test_cvpoint3d32f.rb +93 -93
- data/test/test_cvrect.rb +144 -144
- data/test/test_cvscalar.rb +113 -113
- data/test/test_cvseq.rb +295 -295
- data/test/test_cvsize.rb +75 -75
- data/test/test_cvsize2d32f.rb +75 -75
- data/test/test_cvslice.rb +31 -31
- data/test/test_cvsurfparams.rb +57 -57
- data/test/test_cvsurfpoint.rb +66 -66
- data/test/test_cvtermcriteria.rb +56 -56
- data/test/test_cvtwopoints.rb +40 -40
- data/test/test_cvvideowriter.rb +58 -58
- data/test/test_iplconvkernel.rb +54 -54
- data/test/test_iplimage.rb +1 -1
- data/test/test_mouseevent.rb +17 -17
- data/test/test_opencv.rb +1 -1
- data/test/test_pointset.rb +1 -1
- data/test/test_preliminary.rb +130 -130
- data/test/test_trackbar.rb +47 -47
- data/test/test_window.rb +115 -115
- metadata +28 -56
- data/README.rdoc +0 -149
- data/ext/opencv/lib/opencv.rb +0 -3
- data/ext/opencv/lib/opencv/psyched_yaml.rb +0 -22
- data/ext/opencv/lib/opencv/version.rb +0 -3
data/test/test_iplimage.rb
CHANGED
data/test/test_mouseevent.rb
CHANGED
@@ -1,17 +1,17 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
# -*- mode: ruby; coding: utf-8
|
3
|
-
require 'test/unit'
|
4
|
-
require 'opencv'
|
5
|
-
require File.expand_path(File.dirname(__FILE__)) + '/helper'
|
6
|
-
|
7
|
-
include OpenCV
|
8
|
-
include GUI
|
9
|
-
|
10
|
-
# Tests for OpenCV::MouseEvent
|
11
|
-
class TestMouseEvent < OpenCVTestCase
|
12
|
-
def test_initialize
|
13
|
-
assert_not_nil(MouseEvent.new)
|
14
|
-
assert_equal(MouseEvent, MouseEvent.new.class)
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# -*- mode: ruby; coding: utf-8 -*-
|
3
|
+
require 'test/unit'
|
4
|
+
require 'opencv'
|
5
|
+
require File.expand_path(File.dirname(__FILE__)) + '/helper'
|
6
|
+
|
7
|
+
include OpenCV
|
8
|
+
include GUI
|
9
|
+
|
10
|
+
# Tests for OpenCV::MouseEvent
|
11
|
+
class TestMouseEvent < OpenCVTestCase
|
12
|
+
def test_initialize
|
13
|
+
assert_not_nil(MouseEvent.new)
|
14
|
+
assert_equal(MouseEvent, MouseEvent.new.class)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
data/test/test_opencv.rb
CHANGED
data/test/test_pointset.rb
CHANGED
data/test/test_preliminary.rb
CHANGED
@@ -1,130 +1,130 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
# -*- mode: ruby; coding: utf-8
|
3
|
-
require 'test/unit'
|
4
|
-
require 'digest/md5'
|
5
|
-
require 'opencv'
|
6
|
-
require File.expand_path(File.dirname(__FILE__)) + '/helper'
|
7
|
-
|
8
|
-
include OpenCV
|
9
|
-
|
10
|
-
# Tests to run first; check the handful of basic operations that the later tests rely on
|
11
|
-
class TestPreliminary < OpenCVTestCase
|
12
|
-
def test_assert_array_equal
|
13
|
-
assert_array_equal([1, 2, 3, 4], [1, 2, 3, 4])
|
14
|
-
|
15
|
-
# Uncomment the following line to check the fail case
|
16
|
-
# assert_array_equal([1, 2, 3, 4], [1, 2, 3, 0])
|
17
|
-
end
|
18
|
-
|
19
|
-
def test_assert_cvscalar_equal
|
20
|
-
assert_cvscalar_equal(CvScalar.new(1, 2, 3, 4), CvScalar.new(1, 2, 3, 4))
|
21
|
-
assert_cvscalar_equal(CvScalar.new(0.1, 0.2, 0.3, 0.4), CvScalar.new(0.1, 0.2, 0.3, 0.4))
|
22
|
-
|
23
|
-
# Uncomment the following lines to check the fail cases
|
24
|
-
# assert_cvscalar_equal(CvScalar.new(1, 2, 3, 4), CvScalar.new(1, 2, 3, 0))
|
25
|
-
# assert_cvscalar_equal(CvScalar.new(0.1, 0.2, 0.3, 0.4), CvScalar.new(0.1, 0.2, 0.3, 0.0))
|
26
|
-
end
|
27
|
-
|
28
|
-
def test_assert_in_delta
|
29
|
-
assert_in_delta(1, 0.9999, 0.1)
|
30
|
-
assert_in_delta(CvScalar.new(1, 2, 3, 4), CvScalar.new(1.01, 2.01, 3.01, 4.01), 0.1)
|
31
|
-
assert_in_delta(CvScalar.new(1, 2, 3, 4), [1.01, 2.01, 3.01, 4.01], 0.1)
|
32
|
-
assert_in_delta([1, 2, 3, 4], CvScalar.new(1.01, 2.01, 3.01, 4.01), 0.1)
|
33
|
-
assert_in_delta([1, 2, 3, 4], [1.01, 2.01, 3.01, 4.01], 0.1)
|
34
|
-
|
35
|
-
# Uncomment the following lines to check the fail cases
|
36
|
-
# assert_in_delta(1, 0.009, 0.1)
|
37
|
-
# assert_in_delta(CvScalar.new(1, 2, 3, 4), CvScalar.new(1.01, 2.01, 3.01, 4.01), 0.001)
|
38
|
-
# assert_in_delta(CvScalar.new(1, 2, 3, 4), [1.01, 2.01, 3.01, 4.01], 0.001)
|
39
|
-
# assert_in_delta([1, 2, 3, 4], CvScalar.new(1.01, 2.01, 3.01, 4.01), 0.001)
|
40
|
-
# assert_in_delta([1, 2, 3, 4], [1.01, 2.01, 3.01, 4.01], 0.001)
|
41
|
-
end
|
42
|
-
|
43
|
-
def test_assert_each_cvscalar
|
44
|
-
mat1 = CvMat.new(5, 5, :cv32f, 4)
|
45
|
-
mat2 = CvMat.new(5, 5, :cv32f, 4)
|
46
|
-
c = 0
|
47
|
-
mat1.height.times { |j|
|
48
|
-
mat1.width.times { |i|
|
49
|
-
mat1[j, i] = CvScalar.new(c * 0.1, c * 0.2, c * 0.3, c * 0.4)
|
50
|
-
mat2[j, i] = CvScalar.new(c, c, c, c)
|
51
|
-
c += 1
|
52
|
-
}
|
53
|
-
}
|
54
|
-
|
55
|
-
assert_each_cvscalar(mat1, 0.001) { |j, i, n|
|
56
|
-
CvScalar.new(n * 0.1, n * 0.2, n * 0.3, n * 0.4)
|
57
|
-
}
|
58
|
-
assert_each_cvscalar(mat2) { |j, i, n|
|
59
|
-
CvScalar.new(n, n, n, n)
|
60
|
-
}
|
61
|
-
|
62
|
-
# Uncomment the following lines to check the fail cases
|
63
|
-
# assert_each_cvscalar(mat1, 0.001) { |j, i, n|
|
64
|
-
# CvScalar.new(n * 0.1, n * 0.2, n * 0.3, 0)
|
65
|
-
# }
|
66
|
-
# assert_each_cvscalar(mat1, 0.001) { |j, i, n|
|
67
|
-
# CvScalar.new(1, 2, 3, 4)
|
68
|
-
# }
|
69
|
-
# assert_each_cvscalar(mat2) { |j, i, n|
|
70
|
-
# CvScalar.new(n * 0.1, n * 0.2, n * 0.3, 0)
|
71
|
-
# }
|
72
|
-
# assert_each_cvscalar(mat2) { |j, i, n|
|
73
|
-
# CvScalar.new(1, 2, 3, 0)
|
74
|
-
# }
|
75
|
-
end
|
76
|
-
|
77
|
-
|
78
|
-
def test_create_cvmat
|
79
|
-
mat = create_cvmat(3, 4)
|
80
|
-
assert_equal(3, mat.height)
|
81
|
-
assert_equal(4, mat.width)
|
82
|
-
assert_equal(:cv8u, mat.depth)
|
83
|
-
assert_equal(4, mat.channel)
|
84
|
-
c = 0
|
85
|
-
mat.height.times { |j|
|
86
|
-
mat.width.times { |i|
|
87
|
-
s = CvScalar.new(c + 1, c + 1, c + 1, c + 1)
|
88
|
-
assert_cvscalar_equal(s, mat[j, i])
|
89
|
-
c += 1
|
90
|
-
}
|
91
|
-
}
|
92
|
-
|
93
|
-
mat = create_cvmat(2, 3, :cv16s, 2)
|
94
|
-
assert_equal(2, mat.height)
|
95
|
-
assert_equal(3, mat.width)
|
96
|
-
assert_equal(:cv16s, mat.depth)
|
97
|
-
assert_equal(2, mat.channel)
|
98
|
-
c = 0
|
99
|
-
mat.height.times { |j|
|
100
|
-
mat.width.times { |i|
|
101
|
-
s = CvScalar.new(c + 1, c + 1, 0, 0)
|
102
|
-
assert_cvscalar_equal(s, mat[j, i])
|
103
|
-
c += 1
|
104
|
-
}
|
105
|
-
}
|
106
|
-
|
107
|
-
mat = create_cvmat(2, 3, :cv16u, 3) { |j, i, cnt|
|
108
|
-
n = j + i + cnt
|
109
|
-
CvScalar.new(n, n, n, 0)
|
110
|
-
}
|
111
|
-
assert_equal(2, mat.height)
|
112
|
-
assert_equal(3, mat.width)
|
113
|
-
assert_equal(:cv16u, mat.depth)
|
114
|
-
assert_equal(3, mat.channel)
|
115
|
-
c = 0
|
116
|
-
mat.height.times { |j|
|
117
|
-
mat.width.times { |i|
|
118
|
-
n = j + i + c
|
119
|
-
assert_cvscalar_equal(CvScalar.new(n, n, n, 0), mat[j, i])
|
120
|
-
c += 1
|
121
|
-
}
|
122
|
-
}
|
123
|
-
end
|
124
|
-
|
125
|
-
def test_types
|
126
|
-
assert_equal(IplImage.new(7, 5, CV_8U, 1).class, IplImage)
|
127
|
-
assert_equal(CvMat.new(5, 7, CV_32F).class, CvMat)
|
128
|
-
end
|
129
|
-
end
|
130
|
-
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# -*- mode: ruby; coding: utf-8 -*-
|
3
|
+
require 'test/unit'
|
4
|
+
require 'digest/md5'
|
5
|
+
require 'opencv'
|
6
|
+
require File.expand_path(File.dirname(__FILE__)) + '/helper'
|
7
|
+
|
8
|
+
include OpenCV
|
9
|
+
|
10
|
+
# Tests to run first; check the handful of basic operations that the later tests rely on
|
11
|
+
class TestPreliminary < OpenCVTestCase
|
12
|
+
def test_assert_array_equal
|
13
|
+
assert_array_equal([1, 2, 3, 4], [1, 2, 3, 4])
|
14
|
+
|
15
|
+
# Uncomment the following line to check the fail case
|
16
|
+
# assert_array_equal([1, 2, 3, 4], [1, 2, 3, 0])
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_assert_cvscalar_equal
|
20
|
+
assert_cvscalar_equal(CvScalar.new(1, 2, 3, 4), CvScalar.new(1, 2, 3, 4))
|
21
|
+
assert_cvscalar_equal(CvScalar.new(0.1, 0.2, 0.3, 0.4), CvScalar.new(0.1, 0.2, 0.3, 0.4))
|
22
|
+
|
23
|
+
# Uncomment the following lines to check the fail cases
|
24
|
+
# assert_cvscalar_equal(CvScalar.new(1, 2, 3, 4), CvScalar.new(1, 2, 3, 0))
|
25
|
+
# assert_cvscalar_equal(CvScalar.new(0.1, 0.2, 0.3, 0.4), CvScalar.new(0.1, 0.2, 0.3, 0.0))
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_assert_in_delta
|
29
|
+
assert_in_delta(1, 0.9999, 0.1)
|
30
|
+
assert_in_delta(CvScalar.new(1, 2, 3, 4), CvScalar.new(1.01, 2.01, 3.01, 4.01), 0.1)
|
31
|
+
assert_in_delta(CvScalar.new(1, 2, 3, 4), [1.01, 2.01, 3.01, 4.01], 0.1)
|
32
|
+
assert_in_delta([1, 2, 3, 4], CvScalar.new(1.01, 2.01, 3.01, 4.01), 0.1)
|
33
|
+
assert_in_delta([1, 2, 3, 4], [1.01, 2.01, 3.01, 4.01], 0.1)
|
34
|
+
|
35
|
+
# Uncomment the following lines to check the fail cases
|
36
|
+
# assert_in_delta(1, 0.009, 0.1)
|
37
|
+
# assert_in_delta(CvScalar.new(1, 2, 3, 4), CvScalar.new(1.01, 2.01, 3.01, 4.01), 0.001)
|
38
|
+
# assert_in_delta(CvScalar.new(1, 2, 3, 4), [1.01, 2.01, 3.01, 4.01], 0.001)
|
39
|
+
# assert_in_delta([1, 2, 3, 4], CvScalar.new(1.01, 2.01, 3.01, 4.01), 0.001)
|
40
|
+
# assert_in_delta([1, 2, 3, 4], [1.01, 2.01, 3.01, 4.01], 0.001)
|
41
|
+
end
|
42
|
+
|
43
|
+
def test_assert_each_cvscalar
|
44
|
+
mat1 = CvMat.new(5, 5, :cv32f, 4)
|
45
|
+
mat2 = CvMat.new(5, 5, :cv32f, 4)
|
46
|
+
c = 0
|
47
|
+
mat1.height.times { |j|
|
48
|
+
mat1.width.times { |i|
|
49
|
+
mat1[j, i] = CvScalar.new(c * 0.1, c * 0.2, c * 0.3, c * 0.4)
|
50
|
+
mat2[j, i] = CvScalar.new(c, c, c, c)
|
51
|
+
c += 1
|
52
|
+
}
|
53
|
+
}
|
54
|
+
|
55
|
+
assert_each_cvscalar(mat1, 0.001) { |j, i, n|
|
56
|
+
CvScalar.new(n * 0.1, n * 0.2, n * 0.3, n * 0.4)
|
57
|
+
}
|
58
|
+
assert_each_cvscalar(mat2) { |j, i, n|
|
59
|
+
CvScalar.new(n, n, n, n)
|
60
|
+
}
|
61
|
+
|
62
|
+
# Uncomment the following lines to check the fail cases
|
63
|
+
# assert_each_cvscalar(mat1, 0.001) { |j, i, n|
|
64
|
+
# CvScalar.new(n * 0.1, n * 0.2, n * 0.3, 0)
|
65
|
+
# }
|
66
|
+
# assert_each_cvscalar(mat1, 0.001) { |j, i, n|
|
67
|
+
# CvScalar.new(1, 2, 3, 4)
|
68
|
+
# }
|
69
|
+
# assert_each_cvscalar(mat2) { |j, i, n|
|
70
|
+
# CvScalar.new(n * 0.1, n * 0.2, n * 0.3, 0)
|
71
|
+
# }
|
72
|
+
# assert_each_cvscalar(mat2) { |j, i, n|
|
73
|
+
# CvScalar.new(1, 2, 3, 0)
|
74
|
+
# }
|
75
|
+
end
|
76
|
+
|
77
|
+
|
78
|
+
def test_create_cvmat
|
79
|
+
mat = create_cvmat(3, 4)
|
80
|
+
assert_equal(3, mat.height)
|
81
|
+
assert_equal(4, mat.width)
|
82
|
+
assert_equal(:cv8u, mat.depth)
|
83
|
+
assert_equal(4, mat.channel)
|
84
|
+
c = 0
|
85
|
+
mat.height.times { |j|
|
86
|
+
mat.width.times { |i|
|
87
|
+
s = CvScalar.new(c + 1, c + 1, c + 1, c + 1)
|
88
|
+
assert_cvscalar_equal(s, mat[j, i])
|
89
|
+
c += 1
|
90
|
+
}
|
91
|
+
}
|
92
|
+
|
93
|
+
mat = create_cvmat(2, 3, :cv16s, 2)
|
94
|
+
assert_equal(2, mat.height)
|
95
|
+
assert_equal(3, mat.width)
|
96
|
+
assert_equal(:cv16s, mat.depth)
|
97
|
+
assert_equal(2, mat.channel)
|
98
|
+
c = 0
|
99
|
+
mat.height.times { |j|
|
100
|
+
mat.width.times { |i|
|
101
|
+
s = CvScalar.new(c + 1, c + 1, 0, 0)
|
102
|
+
assert_cvscalar_equal(s, mat[j, i])
|
103
|
+
c += 1
|
104
|
+
}
|
105
|
+
}
|
106
|
+
|
107
|
+
mat = create_cvmat(2, 3, :cv16u, 3) { |j, i, cnt|
|
108
|
+
n = j + i + cnt
|
109
|
+
CvScalar.new(n, n, n, 0)
|
110
|
+
}
|
111
|
+
assert_equal(2, mat.height)
|
112
|
+
assert_equal(3, mat.width)
|
113
|
+
assert_equal(:cv16u, mat.depth)
|
114
|
+
assert_equal(3, mat.channel)
|
115
|
+
c = 0
|
116
|
+
mat.height.times { |j|
|
117
|
+
mat.width.times { |i|
|
118
|
+
n = j + i + c
|
119
|
+
assert_cvscalar_equal(CvScalar.new(n, n, n, 0), mat[j, i])
|
120
|
+
c += 1
|
121
|
+
}
|
122
|
+
}
|
123
|
+
end
|
124
|
+
|
125
|
+
def test_types
|
126
|
+
assert_equal(IplImage.new(7, 5, CV_8U, 1).class, IplImage)
|
127
|
+
assert_equal(CvMat.new(5, 7, CV_32F).class, CvMat)
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
data/test/test_trackbar.rb
CHANGED
@@ -1,47 +1,47 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
# -*- mode: ruby; coding: utf-8
|
3
|
-
require 'test/unit'
|
4
|
-
require 'opencv'
|
5
|
-
require File.expand_path(File.dirname(__FILE__)) + '/helper'
|
6
|
-
|
7
|
-
include OpenCV
|
8
|
-
include GUI
|
9
|
-
|
10
|
-
# Tests for OpenCV::Trackbar
|
11
|
-
class TestTrackbar < OpenCVTestCase
|
12
|
-
def setup
|
13
|
-
@trackbar1 = Trackbar.new('trackbar1', 100) {}
|
14
|
-
@trackbar2 = Trackbar.new('trackbar1', 100, 1) {}
|
15
|
-
end
|
16
|
-
|
17
|
-
def test_initialize
|
18
|
-
assert_not_nil(Trackbar.new('trackbar', 100, 1) {})
|
19
|
-
assert_not_nil(Trackbar.new('trackbar', 100) {})
|
20
|
-
block = proc {}
|
21
|
-
assert_not_nil(Trackbar.new('trackbar', 100, 1, &block))
|
22
|
-
assert_not_nil(Trackbar.new('trackbar', 100, &block))
|
23
|
-
|
24
|
-
assert_raise(TypeError) {
|
25
|
-
Trackbar.new(123, 100, 1) {}
|
26
|
-
}
|
27
|
-
assert_raise(ArgumentError) {
|
28
|
-
Trackbar.new('trackbar', 100, 1)
|
29
|
-
}
|
30
|
-
end
|
31
|
-
|
32
|
-
def test_name
|
33
|
-
assert_equal('trackbar1', @trackbar1.name)
|
34
|
-
end
|
35
|
-
|
36
|
-
def test_max
|
37
|
-
assert_equal(100, @trackbar1.max)
|
38
|
-
end
|
39
|
-
|
40
|
-
def test_value
|
41
|
-
assert_equal(0, @trackbar1.value)
|
42
|
-
assert_equal(1, @trackbar2.value)
|
43
|
-
@trackbar1.value = 50
|
44
|
-
assert_equal(50, @trackbar1.value)
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# -*- mode: ruby; coding: utf-8 -*-
|
3
|
+
require 'test/unit'
|
4
|
+
require 'opencv'
|
5
|
+
require File.expand_path(File.dirname(__FILE__)) + '/helper'
|
6
|
+
|
7
|
+
include OpenCV
|
8
|
+
include GUI
|
9
|
+
|
10
|
+
# Tests for OpenCV::Trackbar
|
11
|
+
class TestTrackbar < OpenCVTestCase
|
12
|
+
def setup
|
13
|
+
@trackbar1 = Trackbar.new('trackbar1', 100) {}
|
14
|
+
@trackbar2 = Trackbar.new('trackbar1', 100, 1) {}
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_initialize
|
18
|
+
assert_not_nil(Trackbar.new('trackbar', 100, 1) {})
|
19
|
+
assert_not_nil(Trackbar.new('trackbar', 100) {})
|
20
|
+
block = proc {}
|
21
|
+
assert_not_nil(Trackbar.new('trackbar', 100, 1, &block))
|
22
|
+
assert_not_nil(Trackbar.new('trackbar', 100, &block))
|
23
|
+
|
24
|
+
assert_raise(TypeError) {
|
25
|
+
Trackbar.new(123, 100, 1) {}
|
26
|
+
}
|
27
|
+
assert_raise(ArgumentError) {
|
28
|
+
Trackbar.new('trackbar', 100, 1)
|
29
|
+
}
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_name
|
33
|
+
assert_equal('trackbar1', @trackbar1.name)
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_max
|
37
|
+
assert_equal(100, @trackbar1.max)
|
38
|
+
end
|
39
|
+
|
40
|
+
def test_value
|
41
|
+
assert_equal(0, @trackbar1.value)
|
42
|
+
assert_equal(1, @trackbar2.value)
|
43
|
+
@trackbar1.value = 50
|
44
|
+
assert_equal(50, @trackbar1.value)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
data/test/test_window.rb
CHANGED
@@ -1,115 +1,115 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
# -*- mode: ruby; coding: utf-8
|
3
|
-
require 'test/unit'
|
4
|
-
require 'opencv'
|
5
|
-
require File.expand_path(File.dirname(__FILE__)) + '/helper'
|
6
|
-
|
7
|
-
include OpenCV
|
8
|
-
include GUI
|
9
|
-
|
10
|
-
# Tests for OpenCV::Window
|
11
|
-
class TestWindow < OpenCVTestCase
|
12
|
-
def setup
|
13
|
-
@window1 = Window.new('window1')
|
14
|
-
@window2 = Window.new('window2', CV_WINDOW_AUTOSIZE)
|
15
|
-
@window3 = Window.new('window3', 0)
|
16
|
-
end
|
17
|
-
|
18
|
-
def teardown
|
19
|
-
Window::destroy_all
|
20
|
-
end
|
21
|
-
|
22
|
-
def test_initialize
|
23
|
-
[Window.new('w1'), Window.new('w2', CV_WINDOW_AUTOSIZE), Window.new('w3', 0)].each { |w|
|
24
|
-
assert_not_nil(w)
|
25
|
-
assert_equal(Window, w.class)
|
26
|
-
}
|
27
|
-
|
28
|
-
assert_raise(TypeError) {
|
29
|
-
Window.new('w4', 'foobar')
|
30
|
-
}
|
31
|
-
|
32
|
-
assert_raise(StandardError) {
|
33
|
-
Window.new('w5')
|
34
|
-
Window.new('w5')
|
35
|
-
}
|
36
|
-
end
|
37
|
-
|
38
|
-
def test_alive
|
39
|
-
assert(@window1.alive?)
|
40
|
-
@window1.destroy
|
41
|
-
assert(!(@window1.alive?))
|
42
|
-
end
|
43
|
-
|
44
|
-
def test_destroy
|
45
|
-
@window1.destroy
|
46
|
-
assert(!(@window1.alive?))
|
47
|
-
end
|
48
|
-
|
49
|
-
def test_destroy_all
|
50
|
-
Window::destroy_all
|
51
|
-
assert(!(@window1.alive?))
|
52
|
-
assert(!(@window2.alive?))
|
53
|
-
assert(!(@window3.alive?))
|
54
|
-
end
|
55
|
-
|
56
|
-
def test_resize
|
57
|
-
@window1.resize(CvSize.new(10, 20))
|
58
|
-
@window2.resize(100, 200)
|
59
|
-
assert_raise(ArgumentError) {
|
60
|
-
@window3.resize
|
61
|
-
}
|
62
|
-
|
63
|
-
# Uncomment the following lines to show the results
|
64
|
-
# @window1.show(CvMat.new(10, 20))
|
65
|
-
# @window1.resize(100, 200)
|
66
|
-
# GUI::wait_key
|
67
|
-
end
|
68
|
-
|
69
|
-
def test_move
|
70
|
-
@window1.move(CvPoint.new(10, 20))
|
71
|
-
@window2.move(100, 200)
|
72
|
-
assert_raise(ArgumentError) {
|
73
|
-
@window3.move
|
74
|
-
}
|
75
|
-
|
76
|
-
# Uncomment the following lines to show the results
|
77
|
-
# @window1.show(CvMat.new(10, 20))
|
78
|
-
# @window2.show(CvMat.new(100, 200))
|
79
|
-
# GUI::wait_key
|
80
|
-
end
|
81
|
-
|
82
|
-
def test_show_image
|
83
|
-
img = IplImage.load(FILENAME_CAT, CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR)
|
84
|
-
@window1.show_image(img)
|
85
|
-
@window2.show(img) # Alias
|
86
|
-
|
87
|
-
# Uncomment the following lines to show the results
|
88
|
-
# GUI::wait_key
|
89
|
-
end
|
90
|
-
|
91
|
-
def test_set_trackbar
|
92
|
-
tr1 = @window1.set_trackbar('trackbar1', 100) { |value|
|
93
|
-
puts value
|
94
|
-
}
|
95
|
-
assert_equal(Trackbar, tr1.class)
|
96
|
-
|
97
|
-
trackbar2 = Trackbar.new('trackbar2', 10, 1) {}
|
98
|
-
tr2 = @window2.set_trackbar(trackbar2)
|
99
|
-
assert_equal(Trackbar, tr2.class)
|
100
|
-
end
|
101
|
-
|
102
|
-
def test_set_mouseevent
|
103
|
-
@window1.set_mouse_callback { |mouse|
|
104
|
-
e = "#{mouse.x}, #{mouse.y} : #{mouse.event} : "
|
105
|
-
e << "<L>" if mouse.left_button?
|
106
|
-
e << "<R>" if mouse.right_button?
|
107
|
-
e << "<M>" if mouse.middle_button?
|
108
|
-
e << "[CTRL]" if mouse.ctrl_key?
|
109
|
-
e << "[SHIFT]" if mouse.shift_key?
|
110
|
-
e << "[ALT]" if mouse.alt_key?
|
111
|
-
puts e
|
112
|
-
}
|
113
|
-
end
|
114
|
-
end
|
115
|
-
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# -*- mode: ruby; coding: utf-8 -*-
|
3
|
+
require 'test/unit'
|
4
|
+
require 'opencv'
|
5
|
+
require File.expand_path(File.dirname(__FILE__)) + '/helper'
|
6
|
+
|
7
|
+
include OpenCV
|
8
|
+
include GUI
|
9
|
+
|
10
|
+
# Tests for OpenCV::Window
|
11
|
+
class TestWindow < OpenCVTestCase
|
12
|
+
def setup
|
13
|
+
@window1 = Window.new('window1')
|
14
|
+
@window2 = Window.new('window2', CV_WINDOW_AUTOSIZE)
|
15
|
+
@window3 = Window.new('window3', 0)
|
16
|
+
end
|
17
|
+
|
18
|
+
def teardown
|
19
|
+
Window::destroy_all
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_initialize
|
23
|
+
[Window.new('w1'), Window.new('w2', CV_WINDOW_AUTOSIZE), Window.new('w3', 0)].each { |w|
|
24
|
+
assert_not_nil(w)
|
25
|
+
assert_equal(Window, w.class)
|
26
|
+
}
|
27
|
+
|
28
|
+
assert_raise(TypeError) {
|
29
|
+
Window.new('w4', 'foobar')
|
30
|
+
}
|
31
|
+
|
32
|
+
assert_raise(StandardError) {
|
33
|
+
Window.new('w5')
|
34
|
+
Window.new('w5')
|
35
|
+
}
|
36
|
+
end
|
37
|
+
|
38
|
+
def test_alive
|
39
|
+
assert(@window1.alive?)
|
40
|
+
@window1.destroy
|
41
|
+
assert(!(@window1.alive?))
|
42
|
+
end
|
43
|
+
|
44
|
+
def test_destroy
|
45
|
+
@window1.destroy
|
46
|
+
assert(!(@window1.alive?))
|
47
|
+
end
|
48
|
+
|
49
|
+
def test_destroy_all
|
50
|
+
Window::destroy_all
|
51
|
+
assert(!(@window1.alive?))
|
52
|
+
assert(!(@window2.alive?))
|
53
|
+
assert(!(@window3.alive?))
|
54
|
+
end
|
55
|
+
|
56
|
+
def test_resize
|
57
|
+
@window1.resize(CvSize.new(10, 20))
|
58
|
+
@window2.resize(100, 200)
|
59
|
+
assert_raise(ArgumentError) {
|
60
|
+
@window3.resize
|
61
|
+
}
|
62
|
+
|
63
|
+
# Uncomment the following lines to show the results
|
64
|
+
# @window1.show(CvMat.new(10, 20))
|
65
|
+
# @window1.resize(100, 200)
|
66
|
+
# GUI::wait_key
|
67
|
+
end
|
68
|
+
|
69
|
+
def test_move
|
70
|
+
@window1.move(CvPoint.new(10, 20))
|
71
|
+
@window2.move(100, 200)
|
72
|
+
assert_raise(ArgumentError) {
|
73
|
+
@window3.move
|
74
|
+
}
|
75
|
+
|
76
|
+
# Uncomment the following lines to show the results
|
77
|
+
# @window1.show(CvMat.new(10, 20))
|
78
|
+
# @window2.show(CvMat.new(100, 200))
|
79
|
+
# GUI::wait_key
|
80
|
+
end
|
81
|
+
|
82
|
+
def test_show_image
|
83
|
+
img = IplImage.load(FILENAME_CAT, CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR)
|
84
|
+
@window1.show_image(img)
|
85
|
+
@window2.show(img) # Alias
|
86
|
+
|
87
|
+
# Uncomment the following lines to show the results
|
88
|
+
# GUI::wait_key
|
89
|
+
end
|
90
|
+
|
91
|
+
def test_set_trackbar
|
92
|
+
tr1 = @window1.set_trackbar('trackbar1', 100) { |value|
|
93
|
+
puts value
|
94
|
+
}
|
95
|
+
assert_equal(Trackbar, tr1.class)
|
96
|
+
|
97
|
+
trackbar2 = Trackbar.new('trackbar2', 10, 1) {}
|
98
|
+
tr2 = @window2.set_trackbar(trackbar2)
|
99
|
+
assert_equal(Trackbar, tr2.class)
|
100
|
+
end
|
101
|
+
|
102
|
+
def test_set_mouseevent
|
103
|
+
@window1.set_mouse_callback { |mouse|
|
104
|
+
e = "#{mouse.x}, #{mouse.y} : #{mouse.event} : "
|
105
|
+
e << "<L>" if mouse.left_button?
|
106
|
+
e << "<R>" if mouse.right_button?
|
107
|
+
e << "<M>" if mouse.middle_button?
|
108
|
+
e << "[CTRL]" if mouse.ctrl_key?
|
109
|
+
e << "[SHIFT]" if mouse.shift_key?
|
110
|
+
e << "[ALT]" if mouse.alt_key?
|
111
|
+
puts e
|
112
|
+
}
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|