ruby-opencv 0.0.8.pre-mswin32 → 0.0.9.pre2-mswin32
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
|