bonanza-ruby-opencv 0.0.13.20140330211753

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 (240) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +28 -0
  3. data/.yardopts +3 -0
  4. data/DEVELOPERS_NOTE.md +137 -0
  5. data/Gemfile +9 -0
  6. data/History.txt +5 -0
  7. data/License.txt +30 -0
  8. data/Manifest.txt +239 -0
  9. data/README.md +98 -0
  10. data/Rakefile +99 -0
  11. data/config.yml +7 -0
  12. data/examples/alpha_blend.rb +21 -0
  13. data/examples/contours/bitmap-contours-with-labels.png +0 -0
  14. data/examples/contours/bitmap-contours.png +0 -0
  15. data/examples/contours/bounding-box-detect-canny.rb +62 -0
  16. data/examples/contours/contour_retrieval_modes.rb +139 -0
  17. data/examples/contours/rotated-boxes.jpg +0 -0
  18. data/examples/convexhull.rb +47 -0
  19. data/examples/face_detect.rb +20 -0
  20. data/examples/facerec/create_csv.rb +43 -0
  21. data/examples/facerec/facerec_eigenfaces.rb +132 -0
  22. data/examples/facerec/facerec_fisherfaces.rb +131 -0
  23. data/examples/facerec/facerec_lbph.rb +116 -0
  24. data/examples/facerec/readme.md +111 -0
  25. data/examples/find_obj.rb +169 -0
  26. data/examples/houghcircle.rb +22 -0
  27. data/examples/images/box.png +0 -0
  28. data/examples/images/box_in_scene.png +0 -0
  29. data/examples/images/inpaint.png +0 -0
  30. data/examples/images/lena-256x256.jpg +0 -0
  31. data/examples/images/lena-eyes.jpg +0 -0
  32. data/examples/images/lenna-rotated.jpg +0 -0
  33. data/examples/images/lenna.jpg +0 -0
  34. data/examples/images/stuff.jpg +0 -0
  35. data/examples/images/tiffany.jpg +0 -0
  36. data/examples/inpaint.rb +57 -0
  37. data/examples/match_kdtree.rb +88 -0
  38. data/examples/match_template.rb +26 -0
  39. data/examples/paint.rb +70 -0
  40. data/examples/snake.rb +43 -0
  41. data/ext/opencv/algorithm.cpp +291 -0
  42. data/ext/opencv/algorithm.h +38 -0
  43. data/ext/opencv/curve.cpp +127 -0
  44. data/ext/opencv/curve.h +34 -0
  45. data/ext/opencv/cvavgcomp.cpp +64 -0
  46. data/ext/opencv/cvavgcomp.h +39 -0
  47. data/ext/opencv/cvbox2d.cpp +195 -0
  48. data/ext/opencv/cvbox2d.h +61 -0
  49. data/ext/opencv/cvcapture.cpp +607 -0
  50. data/ext/opencv/cvcapture.h +72 -0
  51. data/ext/opencv/cvchain.cpp +233 -0
  52. data/ext/opencv/cvchain.h +46 -0
  53. data/ext/opencv/cvcircle32f.cpp +126 -0
  54. data/ext/opencv/cvcircle32f.h +52 -0
  55. data/ext/opencv/cvconnectedcomp.cpp +156 -0
  56. data/ext/opencv/cvconnectedcomp.h +49 -0
  57. data/ext/opencv/cvcontour.cpp +332 -0
  58. data/ext/opencv/cvcontour.h +48 -0
  59. data/ext/opencv/cvcontourtree.cpp +96 -0
  60. data/ext/opencv/cvcontourtree.h +41 -0
  61. data/ext/opencv/cvconvexitydefect.cpp +92 -0
  62. data/ext/opencv/cvconvexitydefect.h +42 -0
  63. data/ext/opencv/cverror.cpp +115 -0
  64. data/ext/opencv/cverror.h +28 -0
  65. data/ext/opencv/cvfeaturetree.cpp +123 -0
  66. data/ext/opencv/cvfeaturetree.h +55 -0
  67. data/ext/opencv/cvfont.cpp +228 -0
  68. data/ext/opencv/cvfont.h +64 -0
  69. data/ext/opencv/cvhaarclassifiercascade.cpp +148 -0
  70. data/ext/opencv/cvhaarclassifiercascade.h +39 -0
  71. data/ext/opencv/cvhistogram.cpp +715 -0
  72. data/ext/opencv/cvhistogram.h +73 -0
  73. data/ext/opencv/cvhumoments.cpp +178 -0
  74. data/ext/opencv/cvhumoments.h +51 -0
  75. data/ext/opencv/cvline.cpp +159 -0
  76. data/ext/opencv/cvline.h +54 -0
  77. data/ext/opencv/cvmat.cpp +6829 -0
  78. data/ext/opencv/cvmat.h +323 -0
  79. data/ext/opencv/cvmemstorage.cpp +73 -0
  80. data/ext/opencv/cvmemstorage.h +53 -0
  81. data/ext/opencv/cvmoments.cpp +293 -0
  82. data/ext/opencv/cvmoments.h +75 -0
  83. data/ext/opencv/cvpoint.cpp +265 -0
  84. data/ext/opencv/cvpoint.h +67 -0
  85. data/ext/opencv/cvpoint2d32f.cpp +216 -0
  86. data/ext/opencv/cvpoint2d32f.h +63 -0
  87. data/ext/opencv/cvpoint3d32f.cpp +252 -0
  88. data/ext/opencv/cvpoint3d32f.h +66 -0
  89. data/ext/opencv/cvrect.cpp +441 -0
  90. data/ext/opencv/cvrect.h +88 -0
  91. data/ext/opencv/cvscalar.cpp +301 -0
  92. data/ext/opencv/cvscalar.h +76 -0
  93. data/ext/opencv/cvseq.cpp +605 -0
  94. data/ext/opencv/cvseq.h +74 -0
  95. data/ext/opencv/cvsize.cpp +227 -0
  96. data/ext/opencv/cvsize.h +65 -0
  97. data/ext/opencv/cvsize2d32f.cpp +215 -0
  98. data/ext/opencv/cvsize2d32f.h +64 -0
  99. data/ext/opencv/cvslice.cpp +126 -0
  100. data/ext/opencv/cvslice.h +61 -0
  101. data/ext/opencv/cvsurfparams.cpp +208 -0
  102. data/ext/opencv/cvsurfparams.h +58 -0
  103. data/ext/opencv/cvsurfpoint.cpp +279 -0
  104. data/ext/opencv/cvsurfpoint.h +54 -0
  105. data/ext/opencv/cvtermcriteria.cpp +198 -0
  106. data/ext/opencv/cvtermcriteria.h +71 -0
  107. data/ext/opencv/cvtwopoints.cpp +122 -0
  108. data/ext/opencv/cvtwopoints.h +51 -0
  109. data/ext/opencv/cvutils.cpp +221 -0
  110. data/ext/opencv/cvutils.h +31 -0
  111. data/ext/opencv/cvvideowriter.cpp +142 -0
  112. data/ext/opencv/cvvideowriter.h +43 -0
  113. data/ext/opencv/eigenfaces.cpp +75 -0
  114. data/ext/opencv/eigenfaces.h +30 -0
  115. data/ext/opencv/extconf.rb +82 -0
  116. data/ext/opencv/facerecognizer.cpp +181 -0
  117. data/ext/opencv/facerecognizer.h +46 -0
  118. data/ext/opencv/fisherfaces.cpp +75 -0
  119. data/ext/opencv/fisherfaces.h +30 -0
  120. data/ext/opencv/gui.cpp +71 -0
  121. data/ext/opencv/gui.h +30 -0
  122. data/ext/opencv/iplconvkernel.cpp +198 -0
  123. data/ext/opencv/iplconvkernel.h +71 -0
  124. data/ext/opencv/iplimage.cpp +666 -0
  125. data/ext/opencv/iplimage.h +75 -0
  126. data/ext/opencv/lbph.cpp +78 -0
  127. data/ext/opencv/lbph.h +30 -0
  128. data/ext/opencv/mouseevent.cpp +186 -0
  129. data/ext/opencv/mouseevent.h +56 -0
  130. data/ext/opencv/opencv.cpp +833 -0
  131. data/ext/opencv/opencv.h +405 -0
  132. data/ext/opencv/pointset.cpp +280 -0
  133. data/ext/opencv/pointset.h +68 -0
  134. data/ext/opencv/trackbar.cpp +127 -0
  135. data/ext/opencv/trackbar.h +69 -0
  136. data/ext/opencv/window.cpp +377 -0
  137. data/ext/opencv/window.h +66 -0
  138. data/images/CvMat_sobel.png +0 -0
  139. data/images/CvMat_sub_rect.png +0 -0
  140. data/images/CvSeq_relationmap.png +0 -0
  141. data/lib/opencv.rb +12 -0
  142. data/lib/opencv/psyched_yaml.rb +22 -0
  143. data/lib/opencv/version.rb +4 -0
  144. data/test/eigenfaces_save.xml +7524 -0
  145. data/test/fisherfaces_save.xml +7530 -0
  146. data/test/helper.rb +166 -0
  147. data/test/lbph_save.xml +4304 -0
  148. data/test/runner.rb +30 -0
  149. data/test/samples/airplane.jpg +0 -0
  150. data/test/samples/baboon.jpg +0 -0
  151. data/test/samples/baboon200.jpg +0 -0
  152. data/test/samples/baboon200_rotated.jpg +0 -0
  153. data/test/samples/blank0.jpg +0 -0
  154. data/test/samples/blank1.jpg +0 -0
  155. data/test/samples/blank2.jpg +0 -0
  156. data/test/samples/blank3.jpg +0 -0
  157. data/test/samples/blank4.jpg +0 -0
  158. data/test/samples/blank5.jpg +0 -0
  159. data/test/samples/blank6.jpg +0 -0
  160. data/test/samples/blank7.jpg +0 -0
  161. data/test/samples/blank8.jpg +0 -0
  162. data/test/samples/blank9.jpg +0 -0
  163. data/test/samples/cat.jpg +0 -0
  164. data/test/samples/chessboard.jpg +0 -0
  165. data/test/samples/contours.jpg +0 -0
  166. data/test/samples/fruits.jpg +0 -0
  167. data/test/samples/haarcascade_frontalface_alt.xml.gz +0 -0
  168. data/test/samples/inpaint-mask.bmp +0 -0
  169. data/test/samples/lena-256x256.jpg +0 -0
  170. data/test/samples/lena-32x32.jpg +0 -0
  171. data/test/samples/lena-eyes.jpg +0 -0
  172. data/test/samples/lena-inpaint.jpg +0 -0
  173. data/test/samples/lena.jpg +0 -0
  174. data/test/samples/lines.jpg +0 -0
  175. data/test/samples/messy0.jpg +0 -0
  176. data/test/samples/messy1.jpg +0 -0
  177. data/test/samples/movie_sample.avi +0 -0
  178. data/test/samples/one_way_train_0000.jpg +0 -0
  179. data/test/samples/one_way_train_0001.jpg +0 -0
  180. data/test/samples/partially_blank0.jpg +0 -0
  181. data/test/samples/partially_blank1.jpg +0 -0
  182. data/test/samples/smooth0.jpg +0 -0
  183. data/test/samples/smooth1.jpg +0 -0
  184. data/test/samples/smooth2.jpg +0 -0
  185. data/test/samples/smooth3.jpg +0 -0
  186. data/test/samples/smooth4.jpg +0 -0
  187. data/test/samples/smooth5.jpg +0 -0
  188. data/test/samples/smooth6.jpg +0 -0
  189. data/test/samples/str-cv-rotated.jpg +0 -0
  190. data/test/samples/str-cv.jpg +0 -0
  191. data/test/samples/str-ov.jpg +0 -0
  192. data/test/samples/stuff.jpg +0 -0
  193. data/test/test_curve.rb +43 -0
  194. data/test/test_cvavgcomp.rb +24 -0
  195. data/test/test_cvbox2d.rb +76 -0
  196. data/test/test_cvcapture.rb +183 -0
  197. data/test/test_cvchain.rb +108 -0
  198. data/test/test_cvcircle32f.rb +41 -0
  199. data/test/test_cvconnectedcomp.rb +61 -0
  200. data/test/test_cvcontour.rb +150 -0
  201. data/test/test_cvcontourtree.rb +43 -0
  202. data/test/test_cverror.rb +50 -0
  203. data/test/test_cvfeaturetree.rb +65 -0
  204. data/test/test_cvfont.rb +58 -0
  205. data/test/test_cvhaarclassifiercascade.rb +63 -0
  206. data/test/test_cvhistogram.rb +271 -0
  207. data/test/test_cvhumoments.rb +83 -0
  208. data/test/test_cvline.rb +50 -0
  209. data/test/test_cvmat.rb +3003 -0
  210. data/test/test_cvmat_drawing.rb +349 -0
  211. data/test/test_cvmat_dxt.rb +150 -0
  212. data/test/test_cvmat_imageprocessing.rb +2085 -0
  213. data/test/test_cvmoments.rb +180 -0
  214. data/test/test_cvpoint.rb +75 -0
  215. data/test/test_cvpoint2d32f.rb +75 -0
  216. data/test/test_cvpoint3d32f.rb +93 -0
  217. data/test/test_cvrect.rb +144 -0
  218. data/test/test_cvscalar.rb +113 -0
  219. data/test/test_cvseq.rb +295 -0
  220. data/test/test_cvsize.rb +75 -0
  221. data/test/test_cvsize2d32f.rb +75 -0
  222. data/test/test_cvslice.rb +31 -0
  223. data/test/test_cvsurfparams.rb +57 -0
  224. data/test/test_cvsurfpoint.rb +66 -0
  225. data/test/test_cvtermcriteria.rb +56 -0
  226. data/test/test_cvtwopoints.rb +40 -0
  227. data/test/test_cvvideowriter.rb +58 -0
  228. data/test/test_eigenfaces.rb +93 -0
  229. data/test/test_fisherfaces.rb +93 -0
  230. data/test/test_iplconvkernel.rb +54 -0
  231. data/test/test_iplimage.rb +232 -0
  232. data/test/test_lbph.rb +152 -0
  233. data/test/test_mouseevent.rb +17 -0
  234. data/test/test_opencv.rb +360 -0
  235. data/test/test_pointset.rb +128 -0
  236. data/test/test_preliminary.rb +130 -0
  237. data/test/test_trackbar.rb +47 -0
  238. data/test/test_window.rb +115 -0
  239. data/yard_extension.rb +5 -0
  240. metadata +399 -0
@@ -0,0 +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
+
@@ -0,0 +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
+
@@ -0,0 +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
+
@@ -0,0 +1,5 @@
1
+ require 'yard'
2
+
3
+ YARD::Tags::Library.define_tag('OpenCV function', :opencv_func)
4
+ YARD::Tags::Library.visible_tags.place(:opencv_func).before(:abstract)
5
+
metadata ADDED
@@ -0,0 +1,399 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: bonanza-ruby-opencv
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.13.20140330211753
5
+ platform: ruby
6
+ authors:
7
+ - lsxi
8
+ - ser1zw
9
+ - pcting
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2014-03-30 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rdoc
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - "~>"
20
+ - !ruby/object:Gem::Version
21
+ version: '4.0'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - "~>"
27
+ - !ruby/object:Gem::Version
28
+ version: '4.0'
29
+ - !ruby/object:Gem::Dependency
30
+ name: rake-compiler
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - "~>"
34
+ - !ruby/object:Gem::Version
35
+ version: '0'
36
+ type: :development
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: '0'
43
+ - !ruby/object:Gem::Dependency
44
+ name: hoe-gemspec
45
+ requirement: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '0'
50
+ type: :development
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - "~>"
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
57
+ - !ruby/object:Gem::Dependency
58
+ name: hoe
59
+ requirement: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - "~>"
62
+ - !ruby/object:Gem::Version
63
+ version: '3.10'
64
+ type: :development
65
+ prerelease: false
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - "~>"
69
+ - !ruby/object:Gem::Version
70
+ version: '3.10'
71
+ description: ruby-opencv is a wrapper of OpenCV for Ruby. It helps you to write computer
72
+ vision programs (e.g. detecting faces from pictures) with Ruby.
73
+ email:
74
+ - masakazu.yonekura@gmail.com
75
+ - azariahsawtikes@gmail.com
76
+ - pcting@gmail.com
77
+ executables: []
78
+ extensions:
79
+ - ext/opencv/extconf.rb
80
+ extra_rdoc_files:
81
+ - DEVELOPERS_NOTE.md
82
+ - History.txt
83
+ - License.txt
84
+ - Manifest.txt
85
+ - README.md
86
+ - examples/facerec/readme.md
87
+ files:
88
+ - ".gitignore"
89
+ - ".yardopts"
90
+ - DEVELOPERS_NOTE.md
91
+ - Gemfile
92
+ - History.txt
93
+ - License.txt
94
+ - Manifest.txt
95
+ - README.md
96
+ - Rakefile
97
+ - config.yml
98
+ - examples/alpha_blend.rb
99
+ - examples/contours/bitmap-contours-with-labels.png
100
+ - examples/contours/bitmap-contours.png
101
+ - examples/contours/bounding-box-detect-canny.rb
102
+ - examples/contours/contour_retrieval_modes.rb
103
+ - examples/contours/rotated-boxes.jpg
104
+ - examples/convexhull.rb
105
+ - examples/face_detect.rb
106
+ - examples/facerec/create_csv.rb
107
+ - examples/facerec/facerec_eigenfaces.rb
108
+ - examples/facerec/facerec_fisherfaces.rb
109
+ - examples/facerec/facerec_lbph.rb
110
+ - examples/facerec/readme.md
111
+ - examples/find_obj.rb
112
+ - examples/houghcircle.rb
113
+ - examples/images/box.png
114
+ - examples/images/box_in_scene.png
115
+ - examples/images/inpaint.png
116
+ - examples/images/lena-256x256.jpg
117
+ - examples/images/lena-eyes.jpg
118
+ - examples/images/lenna-rotated.jpg
119
+ - examples/images/lenna.jpg
120
+ - examples/images/stuff.jpg
121
+ - examples/images/tiffany.jpg
122
+ - examples/inpaint.rb
123
+ - examples/match_kdtree.rb
124
+ - examples/match_template.rb
125
+ - examples/paint.rb
126
+ - examples/snake.rb
127
+ - ext/opencv/algorithm.cpp
128
+ - ext/opencv/algorithm.h
129
+ - ext/opencv/curve.cpp
130
+ - ext/opencv/curve.h
131
+ - ext/opencv/cvavgcomp.cpp
132
+ - ext/opencv/cvavgcomp.h
133
+ - ext/opencv/cvbox2d.cpp
134
+ - ext/opencv/cvbox2d.h
135
+ - ext/opencv/cvcapture.cpp
136
+ - ext/opencv/cvcapture.h
137
+ - ext/opencv/cvchain.cpp
138
+ - ext/opencv/cvchain.h
139
+ - ext/opencv/cvcircle32f.cpp
140
+ - ext/opencv/cvcircle32f.h
141
+ - ext/opencv/cvconnectedcomp.cpp
142
+ - ext/opencv/cvconnectedcomp.h
143
+ - ext/opencv/cvcontour.cpp
144
+ - ext/opencv/cvcontour.h
145
+ - ext/opencv/cvcontourtree.cpp
146
+ - ext/opencv/cvcontourtree.h
147
+ - ext/opencv/cvconvexitydefect.cpp
148
+ - ext/opencv/cvconvexitydefect.h
149
+ - ext/opencv/cverror.cpp
150
+ - ext/opencv/cverror.h
151
+ - ext/opencv/cvfeaturetree.cpp
152
+ - ext/opencv/cvfeaturetree.h
153
+ - ext/opencv/cvfont.cpp
154
+ - ext/opencv/cvfont.h
155
+ - ext/opencv/cvhaarclassifiercascade.cpp
156
+ - ext/opencv/cvhaarclassifiercascade.h
157
+ - ext/opencv/cvhistogram.cpp
158
+ - ext/opencv/cvhistogram.h
159
+ - ext/opencv/cvhumoments.cpp
160
+ - ext/opencv/cvhumoments.h
161
+ - ext/opencv/cvline.cpp
162
+ - ext/opencv/cvline.h
163
+ - ext/opencv/cvmat.cpp
164
+ - ext/opencv/cvmat.h
165
+ - ext/opencv/cvmemstorage.cpp
166
+ - ext/opencv/cvmemstorage.h
167
+ - ext/opencv/cvmoments.cpp
168
+ - ext/opencv/cvmoments.h
169
+ - ext/opencv/cvpoint.cpp
170
+ - ext/opencv/cvpoint.h
171
+ - ext/opencv/cvpoint2d32f.cpp
172
+ - ext/opencv/cvpoint2d32f.h
173
+ - ext/opencv/cvpoint3d32f.cpp
174
+ - ext/opencv/cvpoint3d32f.h
175
+ - ext/opencv/cvrect.cpp
176
+ - ext/opencv/cvrect.h
177
+ - ext/opencv/cvscalar.cpp
178
+ - ext/opencv/cvscalar.h
179
+ - ext/opencv/cvseq.cpp
180
+ - ext/opencv/cvseq.h
181
+ - ext/opencv/cvsize.cpp
182
+ - ext/opencv/cvsize.h
183
+ - ext/opencv/cvsize2d32f.cpp
184
+ - ext/opencv/cvsize2d32f.h
185
+ - ext/opencv/cvslice.cpp
186
+ - ext/opencv/cvslice.h
187
+ - ext/opencv/cvsurfparams.cpp
188
+ - ext/opencv/cvsurfparams.h
189
+ - ext/opencv/cvsurfpoint.cpp
190
+ - ext/opencv/cvsurfpoint.h
191
+ - ext/opencv/cvtermcriteria.cpp
192
+ - ext/opencv/cvtermcriteria.h
193
+ - ext/opencv/cvtwopoints.cpp
194
+ - ext/opencv/cvtwopoints.h
195
+ - ext/opencv/cvutils.cpp
196
+ - ext/opencv/cvutils.h
197
+ - ext/opencv/cvvideowriter.cpp
198
+ - ext/opencv/cvvideowriter.h
199
+ - ext/opencv/eigenfaces.cpp
200
+ - ext/opencv/eigenfaces.h
201
+ - ext/opencv/extconf.rb
202
+ - ext/opencv/facerecognizer.cpp
203
+ - ext/opencv/facerecognizer.h
204
+ - ext/opencv/fisherfaces.cpp
205
+ - ext/opencv/fisherfaces.h
206
+ - ext/opencv/gui.cpp
207
+ - ext/opencv/gui.h
208
+ - ext/opencv/iplconvkernel.cpp
209
+ - ext/opencv/iplconvkernel.h
210
+ - ext/opencv/iplimage.cpp
211
+ - ext/opencv/iplimage.h
212
+ - ext/opencv/lbph.cpp
213
+ - ext/opencv/lbph.h
214
+ - ext/opencv/mouseevent.cpp
215
+ - ext/opencv/mouseevent.h
216
+ - ext/opencv/opencv.cpp
217
+ - ext/opencv/opencv.h
218
+ - ext/opencv/pointset.cpp
219
+ - ext/opencv/pointset.h
220
+ - ext/opencv/trackbar.cpp
221
+ - ext/opencv/trackbar.h
222
+ - ext/opencv/window.cpp
223
+ - ext/opencv/window.h
224
+ - images/CvMat_sobel.png
225
+ - images/CvMat_sub_rect.png
226
+ - images/CvSeq_relationmap.png
227
+ - lib/opencv.rb
228
+ - lib/opencv/psyched_yaml.rb
229
+ - lib/opencv/version.rb
230
+ - ruby-opencv.gemspec
231
+ - test/eigenfaces_save.xml
232
+ - test/fisherfaces_save.xml
233
+ - test/helper.rb
234
+ - test/lbph_save.xml
235
+ - test/runner.rb
236
+ - test/samples/airplane.jpg
237
+ - test/samples/baboon.jpg
238
+ - test/samples/baboon200.jpg
239
+ - test/samples/baboon200_rotated.jpg
240
+ - test/samples/blank0.jpg
241
+ - test/samples/blank1.jpg
242
+ - test/samples/blank2.jpg
243
+ - test/samples/blank3.jpg
244
+ - test/samples/blank4.jpg
245
+ - test/samples/blank5.jpg
246
+ - test/samples/blank6.jpg
247
+ - test/samples/blank7.jpg
248
+ - test/samples/blank8.jpg
249
+ - test/samples/blank9.jpg
250
+ - test/samples/cat.jpg
251
+ - test/samples/chessboard.jpg
252
+ - test/samples/contours.jpg
253
+ - test/samples/fruits.jpg
254
+ - test/samples/haarcascade_frontalface_alt.xml.gz
255
+ - test/samples/inpaint-mask.bmp
256
+ - test/samples/lena-256x256.jpg
257
+ - test/samples/lena-32x32.jpg
258
+ - test/samples/lena-eyes.jpg
259
+ - test/samples/lena-inpaint.jpg
260
+ - test/samples/lena.jpg
261
+ - test/samples/lines.jpg
262
+ - test/samples/messy0.jpg
263
+ - test/samples/messy1.jpg
264
+ - test/samples/movie_sample.avi
265
+ - test/samples/one_way_train_0000.jpg
266
+ - test/samples/one_way_train_0001.jpg
267
+ - test/samples/partially_blank0.jpg
268
+ - test/samples/partially_blank1.jpg
269
+ - test/samples/smooth0.jpg
270
+ - test/samples/smooth1.jpg
271
+ - test/samples/smooth2.jpg
272
+ - test/samples/smooth3.jpg
273
+ - test/samples/smooth4.jpg
274
+ - test/samples/smooth5.jpg
275
+ - test/samples/smooth6.jpg
276
+ - test/samples/str-cv-rotated.jpg
277
+ - test/samples/str-cv.jpg
278
+ - test/samples/str-ov.jpg
279
+ - test/samples/stuff.jpg
280
+ - test/test_curve.rb
281
+ - test/test_cvavgcomp.rb
282
+ - test/test_cvbox2d.rb
283
+ - test/test_cvcapture.rb
284
+ - test/test_cvchain.rb
285
+ - test/test_cvcircle32f.rb
286
+ - test/test_cvconnectedcomp.rb
287
+ - test/test_cvcontour.rb
288
+ - test/test_cvcontourtree.rb
289
+ - test/test_cverror.rb
290
+ - test/test_cvfeaturetree.rb
291
+ - test/test_cvfont.rb
292
+ - test/test_cvhaarclassifiercascade.rb
293
+ - test/test_cvhistogram.rb
294
+ - test/test_cvhumoments.rb
295
+ - test/test_cvline.rb
296
+ - test/test_cvmat.rb
297
+ - test/test_cvmat_drawing.rb
298
+ - test/test_cvmat_dxt.rb
299
+ - test/test_cvmat_imageprocessing.rb
300
+ - test/test_cvmoments.rb
301
+ - test/test_cvpoint.rb
302
+ - test/test_cvpoint2d32f.rb
303
+ - test/test_cvpoint3d32f.rb
304
+ - test/test_cvrect.rb
305
+ - test/test_cvscalar.rb
306
+ - test/test_cvseq.rb
307
+ - test/test_cvsize.rb
308
+ - test/test_cvsize2d32f.rb
309
+ - test/test_cvslice.rb
310
+ - test/test_cvsurfparams.rb
311
+ - test/test_cvsurfpoint.rb
312
+ - test/test_cvtermcriteria.rb
313
+ - test/test_cvtwopoints.rb
314
+ - test/test_cvvideowriter.rb
315
+ - test/test_eigenfaces.rb
316
+ - test/test_fisherfaces.rb
317
+ - test/test_iplconvkernel.rb
318
+ - test/test_iplimage.rb
319
+ - test/test_lbph.rb
320
+ - test/test_mouseevent.rb
321
+ - test/test_opencv.rb
322
+ - test/test_pointset.rb
323
+ - test/test_preliminary.rb
324
+ - test/test_trackbar.rb
325
+ - test/test_window.rb
326
+ - yard_extension.rb
327
+ homepage: https://github.com/ruby-opencv/ruby-opencv/
328
+ licenses:
329
+ - The BSD License
330
+ metadata: {}
331
+ post_install_message:
332
+ rdoc_options:
333
+ - "--main"
334
+ - README.md
335
+ require_paths:
336
+ - lib
337
+ required_ruby_version: !ruby/object:Gem::Requirement
338
+ requirements:
339
+ - - ">="
340
+ - !ruby/object:Gem::Version
341
+ version: '0'
342
+ required_rubygems_version: !ruby/object:Gem::Requirement
343
+ requirements:
344
+ - - ">="
345
+ - !ruby/object:Gem::Version
346
+ version: '0'
347
+ requirements: []
348
+ rubyforge_project:
349
+ rubygems_version: 2.2.2
350
+ signing_key:
351
+ specification_version: 4
352
+ summary: OpenCV wrapper for Ruby
353
+ test_files:
354
+ - test/test_cvcontour.rb
355
+ - test/test_eigenfaces.rb
356
+ - test/test_cvmoments.rb
357
+ - test/test_cvseq.rb
358
+ - test/test_cvcontourtree.rb
359
+ - test/test_cvbox2d.rb
360
+ - test/test_iplimage.rb
361
+ - test/test_cvvideowriter.rb
362
+ - test/test_cvline.rb
363
+ - test/test_cvhumoments.rb
364
+ - test/test_cvfont.rb
365
+ - test/test_cvconnectedcomp.rb
366
+ - test/test_cvhistogram.rb
367
+ - test/test_trackbar.rb
368
+ - test/test_cvmat_imageprocessing.rb
369
+ - test/test_cvhaarclassifiercascade.rb
370
+ - test/test_cvcircle32f.rb
371
+ - test/test_cvcapture.rb
372
+ - test/test_cvmat_dxt.rb
373
+ - test/test_cvrect.rb
374
+ - test/test_iplconvkernel.rb
375
+ - test/test_cvsurfpoint.rb
376
+ - test/test_cvavgcomp.rb
377
+ - test/test_cvscalar.rb
378
+ - test/test_pointset.rb
379
+ - test/test_curve.rb
380
+ - test/test_cvtermcriteria.rb
381
+ - test/test_cvtwopoints.rb
382
+ - test/test_cvsurfparams.rb
383
+ - test/test_cvpoint2d32f.rb
384
+ - test/test_cvpoint3d32f.rb
385
+ - test/test_cvfeaturetree.rb
386
+ - test/test_mouseevent.rb
387
+ - test/test_cvchain.rb
388
+ - test/test_cvmat.rb
389
+ - test/test_fisherfaces.rb
390
+ - test/test_cverror.rb
391
+ - test/test_cvpoint.rb
392
+ - test/test_cvsize2d32f.rb
393
+ - test/test_preliminary.rb
394
+ - test/test_cvmat_drawing.rb
395
+ - test/test_lbph.rb
396
+ - test/test_cvsize.rb
397
+ - test/test_window.rb
398
+ - test/test_cvslice.rb
399
+ - test/test_opencv.rb