bonanza-ruby-opencv 0.0.13.20160706180126 → 0.0.13.20170103170729

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 24f1afcafaf9f0107b5da52232ea80a6c92c8c66
4
- data.tar.gz: 09b9c6b8d74f204033453bed56cfd153f3bbb4c9
3
+ metadata.gz: 4b8b6ede2d88a28c3046cc19e81688b8c918956b
4
+ data.tar.gz: 97e6bd52ad70913551b7ccfa884ed88463694e70
5
5
  SHA512:
6
- metadata.gz: ba416c3ca597e23b0a5cc3e178454900348544ea3a94229d8c3db3526dc217157cf44583c2b156baa181b2bf88cceb1449213cd672c582a89a6b085c530cd2ae
7
- data.tar.gz: 468a46fdbf7e51db03ffdaa9f9ffab3916479e52f9ef44db84e0e50e2de9b5beaa1edc0ae6a451500d625af1349d2bf7da4d78eb0b13c829146e3efa51f7e9a1
6
+ metadata.gz: 47f88a62f00c3c3b2116a2b7106834e9eb7cafc2108313ad38674b196d41cf35d187a05b632215827a4c81428d53e4881dcbd23bce9ccf57d9f7c1b87d6be870
7
+ data.tar.gz: 2ed38a4df87cdf9507e2fa1dcb850fac2072eb1c87e06f9fd52b29a0612389fc050c41d9db897ceabf9050d1c93c15fd55331611d9e5f951365f93e7c67cb4a4
@@ -62,7 +62,11 @@ rb_initialize(int argc, VALUE *argv, VALUE self)
62
62
  raise_cverror(e);
63
63
  }
64
64
  CvSeq* self_ptr = CVSEQ(self);
65
+ #ifdef RUBY_INTEGER_UNIFICATION
66
+ cCvSeq::register_elem_class(self, rb_cInteger);
67
+ #else
65
68
  cCvSeq::register_elem_class(self, rb_cFixnum);
69
+ #endif
66
70
  register_root_object(self_ptr, storage_value);
67
71
 
68
72
  return self;
@@ -257,6 +257,36 @@ rb_aref(VALUE self, VALUE args)
257
257
  return rb_float_new((double)value);
258
258
  }
259
259
 
260
+ VALUE
261
+ rb_at(VALUE self, VALUE x)
262
+ {
263
+ float value = 0.0;
264
+ CvHistogram* self_ptr = CVHISTOGRAM(self);
265
+ try {
266
+ value = cvQueryHistValue_1D(self_ptr, NUM2INT(x));
267
+ }
268
+ catch (cv::Exception& e) {
269
+ raise_cverror(e);
270
+ }
271
+
272
+ return rb_float_new((double)value);
273
+ }
274
+
275
+ VALUE
276
+ rb_at_3d(VALUE self, VALUE x, VALUE y, VALUE z)
277
+ {
278
+ float value = 0.0;
279
+ CvHistogram* self_ptr = CVHISTOGRAM(self);
280
+ try {
281
+ value = cvQueryHistValue_3D(self_ptr, NUM2INT(x), NUM2INT(y), NUM2INT(z));
282
+ }
283
+ catch (cv::Exception& e) {
284
+ raise_cverror(e);
285
+ }
286
+
287
+ return rb_float_new((double)value);
288
+ }
289
+
260
290
  /*
261
291
  * Finds the minimum and maximum histogram bins.
262
292
  * @overload min_max_value
@@ -682,6 +712,8 @@ init_ruby_class()
682
712
  rb_define_method(rb_klass, "calc_hist", RUBY_METHOD_FUNC(rb_calc_hist), -1);
683
713
  rb_define_method(rb_klass, "calc_hist!", RUBY_METHOD_FUNC(rb_calc_hist_bang), -1);
684
714
  rb_define_method(rb_klass, "[]", RUBY_METHOD_FUNC(rb_aref), -2);
715
+ rb_define_method(rb_klass, "at", RUBY_METHOD_FUNC(rb_at), 1);
716
+ rb_define_method(rb_klass, "at_3d", RUBY_METHOD_FUNC(rb_at_3d), 3);
685
717
  rb_define_alias(rb_klass, "query_hist_value", "[]");
686
718
  rb_define_method(rb_klass, "min_max_value", RUBY_METHOD_FUNC(rb_min_max_value), 0);
687
719
  rb_define_method(rb_klass, "copy_hist", RUBY_METHOD_FUNC(rb_copy_hist), 0);
data/ext/opencv/cvmat.cpp CHANGED
@@ -5192,6 +5192,35 @@ rb_flood_fill_bang(int argc, VALUE *argv, VALUE self)
5192
5192
  return rb_ary_new3(3, self, cCvRect::new_object(cvRect(rect.x, rect.y, rect.width, rect.height)), mask);
5193
5193
  }
5194
5194
 
5195
+ VALUE
5196
+ rb_flood_fill_mask(VALUE self, VALUE seed_point, VALUE mask, VALUE lo_diff, VALUE up_diff, VALUE connectivity, VALUE fixed_range)
5197
+ {
5198
+ int flags = NUM2INT(connectivity);
5199
+ if (RTEST(fixed_range)) {
5200
+ flags |= CV_FLOODFILL_FIXED_RANGE;
5201
+ }
5202
+ flags |= CV_FLOODFILL_MASK_ONLY;
5203
+ cv::Rect rect;
5204
+ try {
5205
+ cv::Mat selfMat(CVMAT(self));
5206
+ cv::Mat maskMat(CVMAT(mask));
5207
+
5208
+ cv::floodFill(
5209
+ selfMat,
5210
+ maskMat,
5211
+ cv::Point(VALUE_TO_CVPOINT(seed_point)),
5212
+ cv::Scalar(cvScalar(0)),
5213
+ &rect,
5214
+ cv::Scalar(NIL_P(lo_diff) ? cvScalar(0) : VALUE_TO_CVSCALAR(lo_diff)),
5215
+ cv::Scalar(NIL_P(up_diff) ? cvScalar(0) : VALUE_TO_CVSCALAR(up_diff)),
5216
+ flags);
5217
+ }
5218
+ catch (cv::Exception& e) {
5219
+ raise_cverror(e);
5220
+ }
5221
+ return cCvRect::new_object(cvRect(rect.x, rect.y, rect.width, rect.height));
5222
+ }
5223
+
5195
5224
  /*
5196
5225
  * Finds contours in binary image.
5197
5226
  *
@@ -6845,6 +6874,7 @@ init_ruby_class()
6845
6874
 
6846
6875
  rb_define_method(rb_klass, "flood_fill", RUBY_METHOD_FUNC(rb_flood_fill), -1);
6847
6876
  rb_define_method(rb_klass, "flood_fill!", RUBY_METHOD_FUNC(rb_flood_fill_bang), -1);
6877
+ rb_define_method(rb_klass, "flood_fill_mask", RUBY_METHOD_FUNC(rb_flood_fill_mask), 6);
6848
6878
  rb_define_method(rb_klass, "find_contours", RUBY_METHOD_FUNC(rb_find_contours), -1);
6849
6879
  rb_define_method(rb_klass, "find_contours!", RUBY_METHOD_FUNC(rb_find_contours_bang), -1);
6850
6880
  rb_define_method(rb_klass, "draw_contours", RUBY_METHOD_FUNC(rb_draw_contours), -1);
data/ext/opencv/cvseq.cpp CHANGED
@@ -88,7 +88,11 @@ rb_initialize(int argc, VALUE *argv, VALUE self)
88
88
  raise_typeerror(klass, rb_cClass);
89
89
 
90
90
  int type = 0, size = 0;
91
+ #ifdef RUBY_INTEGER_UNIFICATION
92
+ if (klass == rb_cInteger) {
93
+ #else
91
94
  if (klass == rb_cFixnum) {
95
+ #endif
92
96
  type = CV_SEQ_ELTYPE_INDEX;
93
97
  size = sizeof(int);
94
98
  }
@@ -170,7 +174,11 @@ rb_aref(VALUE self, VALUE index)
170
174
 
171
175
  VALUE result = Qnil;
172
176
  try {
177
+ #ifdef RUBY_INTEGER_UNIFICATION
178
+ if (seqblock_class(self) == rb_cInteger)
179
+ #else
173
180
  if (seqblock_class(self) == rb_cFixnum)
181
+ #endif
174
182
  result = INT2NUM(*CV_GET_SEQ_ELEM(int, seq, idx));
175
183
  else
176
184
  result = REFER_OBJECT(seqblock_class(self), cvGetSeqElem(seq, idx), self);
@@ -352,7 +360,11 @@ rb_pop(VALUE self)
352
360
  VALUE object = Qnil;
353
361
  VALUE klass = seqblock_class(self);
354
362
  try {
363
+ #ifdef RUBY_INTEGER_UNIFICATION
364
+ if (klass == rb_cInteger) {
365
+ #else
355
366
  if (klass == rb_cFixnum) {
367
+ #endif
356
368
  int n = 0;
357
369
  cvSeqPop(seq, &n);
358
370
  object = INT2FIX(n);
@@ -420,7 +432,11 @@ rb_shift(VALUE self)
420
432
 
421
433
  VALUE object = Qnil;
422
434
  try {
435
+ #ifdef RUBY_INTEGER_UNIFICATION
436
+ if (seqblock_class(self) == rb_cInteger) {
437
+ #else
423
438
  if (seqblock_class(self) == rb_cFixnum) {
439
+ #endif
424
440
  int n = 0;
425
441
  cvSeqPopFront(seq, &n);
426
442
  object = INT2NUM(n);
@@ -456,7 +472,11 @@ rb_each(VALUE self)
456
472
  if (seq->total > 0) {
457
473
  VALUE klass = seqblock_class(self);
458
474
  try {
475
+ #ifdef RUBY_INTEGER_UNIFICATION
476
+ if (klass == rb_cInteger)
477
+ #else
459
478
  if (klass == rb_cFixnum)
479
+ #endif
460
480
  for (int i = 0; i < seq->total; ++i)
461
481
  rb_yield(INT2NUM(*CV_GET_SEQ_ELEM(int, seq, i)));
462
482
  else
@@ -501,7 +521,11 @@ rb_insert(VALUE self, VALUE index, VALUE object)
501
521
  if (CLASS_OF(object) != klass)
502
522
  rb_raise(rb_eTypeError, "arguments should be %s.", rb_class2name(klass));
503
523
  try {
524
+ #ifdef RUBY_INTEGER_UNIFICATION
525
+ if (klass == rb_cInteger) {
526
+ #else
504
527
  if (klass == rb_cFixnum) {
528
+ #endif
505
529
  int n = NUM2INT(object);
506
530
  cvSeqInsert(seq, NUM2INT(index), &n);
507
531
  }
data/ruby-opencv.gemspec CHANGED
@@ -1,15 +1,15 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: ruby-opencv 0.0.13.20160706180126 ruby lib
2
+ # stub: ruby-opencv 0.0.13.20170103170729 ruby lib
3
3
  # stub: ext/opencv/extconf.rb
4
4
 
5
5
  Gem::Specification.new do |s|
6
6
  s.name = "bonanza-ruby-opencv"
7
- s.version = "0.0.13.20160706180126"
7
+ s.version = "0.0.13.20170103170729"
8
8
 
9
9
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
10
10
  s.require_paths = ["lib"]
11
11
  s.authors = ["lsxi", "ser1zw", "pcting"]
12
- s.date = "2016-07-06"
12
+ s.date = "2017-01-03"
13
13
  s.description = "ruby-opencv is a wrapper of OpenCV for Ruby. It helps you to write computer vision programs (e.g. detecting faces from pictures) with Ruby."
14
14
  s.email = ["masakazu.yonekura@gmail.com", "azariahsawtikes@gmail.com", "pcting@gmail.com"]
15
15
  s.extensions = ["ext/opencv/extconf.rb"]
@@ -18,7 +18,7 @@ Gem::Specification.new do |s|
18
18
  s.homepage = "https://github.com/ruby-opencv/ruby-opencv/"
19
19
  s.licenses = ["The BSD License"]
20
20
  s.rdoc_options = ["--main", "README.md"]
21
- s.rubygems_version = "2.2.2"
21
+ #s.rubygems_version = "2.2.2"
22
22
  s.summary = "OpenCV wrapper for Ruby"
23
23
  s.test_files = ["test/test_cvcontour.rb", "test/test_eigenfaces.rb", "test/test_cvmoments.rb", "test/test_cvseq.rb", "test/test_cvcontourtree.rb", "test/test_cvbox2d.rb", "test/test_iplimage.rb", "test/test_cvvideowriter.rb", "test/test_cvline.rb", "test/test_cvhumoments.rb", "test/test_cvfont.rb", "test/test_cvconnectedcomp.rb", "test/test_cvhistogram.rb", "test/test_trackbar.rb", "test/test_cvmat_imageprocessing.rb", "test/test_cvhaarclassifiercascade.rb", "test/test_cvcircle32f.rb", "test/test_cvcapture.rb", "test/test_cvmat_dxt.rb", "test/test_cvrect.rb", "test/test_iplconvkernel.rb", "test/test_cvsurfpoint.rb", "test/test_cvavgcomp.rb", "test/test_cvscalar.rb", "test/test_pointset.rb", "test/test_curve.rb", "test/test_cvtermcriteria.rb", "test/test_cvtwopoints.rb", "test/test_cvsurfparams.rb", "test/test_cvpoint2d32f.rb", "test/test_cvpoint3d32f.rb", "test/test_cvfeaturetree.rb", "test/test_mouseevent.rb", "test/test_cvchain.rb", "test/test_cvmat.rb", "test/test_fisherfaces.rb", "test/test_cverror.rb", "test/test_cvpoint.rb", "test/test_cvsize2d32f.rb", "test/test_preliminary.rb", "test/test_cvmat_drawing.rb", "test/test_lbph.rb", "test/test_cvsize.rb", "test/test_window.rb", "test/test_cvslice.rb", "test/test_opencv.rb"]
24
24
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bonanza-ruby-opencv
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.13.20160706180126
4
+ version: 0.0.13.20170103170729
5
5
  platform: ruby
6
6
  authors:
7
7
  - lsxi
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2016-07-06 00:00:00.000000000 Z
13
+ date: 2017-01-03 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rdoc
@@ -346,7 +346,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
346
346
  version: '0'
347
347
  requirements: []
348
348
  rubyforge_project:
349
- rubygems_version: 2.4.5.1
349
+ rubygems_version: 2.5.1
350
350
  signing_key:
351
351
  specification_version: 4
352
352
  summary: OpenCV wrapper for Ruby