bonanza-ruby-opencv 0.0.13.20160428094028 → 0.0.13.20160519171728

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: 96859427571888ecbefa820f5924585031e7a3e9
4
- data.tar.gz: c965897744c47aa4f9ca201bff01786a7e9df79d
3
+ metadata.gz: e7d609b9040a2e58f9f47a7cf61f96b68068c9a1
4
+ data.tar.gz: ab4c125c8b62c3eeaf8b59416923cf8067a3e712
5
5
  SHA512:
6
- metadata.gz: be20d5d44ca136a99706bf6e27ca525e50d763401bc1918bfcaa838cbcd79cd64c8c626d118e271dd5912b033307f34c2cd715ebbfdb01f0229b70945cb98498
7
- data.tar.gz: c177a5eaf307f024ff16e209066034760fec5a477ea2f104f5f83aecbc27f9587d6df795123b845b6cf5123af78fab20c0e0b9c1d6a9ea8003de4fd08adf917e
6
+ metadata.gz: 1ae802e14e96b7f72fb8f861740718af0fc663f906268d9f258ba4a570da1cebcaa2863ba7fc67c1e73ae5504b522aa10a7a1231f2cf245a39647cf2feae9fd8
7
+ data.tar.gz: 7837c1b1b0b62d494fcfc5756cb77fe45deb7d69c143a812d5a3abe4f7aa80fc96973741c009337b51a1fae1ed6b86a9f1e24a91d1c9c98c49d1c9b858aa2543
data/ext/opencv/cvmat.cpp CHANGED
@@ -1977,6 +1977,18 @@ rb_and(int argc, VALUE *argv, VALUE self)
1977
1977
  return dest;
1978
1978
  }
1979
1979
 
1980
+ VALUE
1981
+ rb_and_into(VALUE self, VALUE other, VALUE dest)
1982
+ {
1983
+ try {
1984
+ cvAnd(CVARR(self), CVARR(other), CVARR(dest));
1985
+ }
1986
+ catch (cv::Exception& e) {
1987
+ raise_cverror(e);
1988
+ }
1989
+ return dest;
1990
+ }
1991
+
1980
1992
  /*
1981
1993
  * Calculates the per-element bit-wise disjunction of two arrays or an array and a scalar.
1982
1994
  *
@@ -2068,10 +2080,15 @@ rb_not_bang(VALUE self)
2068
2080
  }
2069
2081
 
2070
2082
  VALUE
2071
- rb_cmp_internal(VALUE self, VALUE val, int operand)
2083
+ rb_cmp(VALUE self, VALUE val, VALUE dest, VALUE operand)
2084
+ {
2085
+ return rb_cmp_internal(self, val, dest, NUM2INT(operand));
2086
+ }
2087
+
2088
+ VALUE
2089
+ rb_cmp_internal(VALUE self, VALUE val, VALUE dest, int operand)
2072
2090
  {
2073
2091
  CvArr* self_ptr = CVARR(self);
2074
- VALUE dest = new_mat_kind_object(cvGetSize(self_ptr), self, CV_8U, 1);
2075
2092
  try {
2076
2093
  if (rb_obj_is_kind_of(val, rb_klass))
2077
2094
  cvCmp(self_ptr, CVARR(val), CVARR(dest), operand);
@@ -2101,7 +2118,8 @@ rb_cmp_internal(VALUE self, VALUE val, int operand)
2101
2118
  VALUE
2102
2119
  rb_eq(VALUE self, VALUE val)
2103
2120
  {
2104
- return rb_cmp_internal(self, val, CV_CMP_EQ);
2121
+ VALUE dest = new_mat_kind_object(cvGetSize(CVARR(self)), self, CV_8U, 1);
2122
+ return rb_cmp_internal(self, val, dest, CV_CMP_EQ);
2105
2123
  }
2106
2124
 
2107
2125
  /*
@@ -2116,7 +2134,8 @@ rb_eq(VALUE self, VALUE val)
2116
2134
  VALUE
2117
2135
  rb_gt(VALUE self, VALUE val)
2118
2136
  {
2119
- return rb_cmp_internal(self, val, CV_CMP_GT);
2137
+ VALUE dest = new_mat_kind_object(cvGetSize(CVARR(self)), self, CV_8U, 1);
2138
+ return rb_cmp_internal(self, val, dest, CV_CMP_GT);
2120
2139
  }
2121
2140
 
2122
2141
  /*
@@ -2131,7 +2150,8 @@ rb_gt(VALUE self, VALUE val)
2131
2150
  VALUE
2132
2151
  rb_ge(VALUE self, VALUE val)
2133
2152
  {
2134
- return rb_cmp_internal(self, val, CV_CMP_GE);
2153
+ VALUE dest = new_mat_kind_object(cvGetSize(CVARR(self)), self, CV_8U, 1);
2154
+ return rb_cmp_internal(self, val, dest, CV_CMP_GE);
2135
2155
  }
2136
2156
 
2137
2157
  /*
@@ -2146,7 +2166,8 @@ rb_ge(VALUE self, VALUE val)
2146
2166
  VALUE
2147
2167
  rb_lt(VALUE self, VALUE val)
2148
2168
  {
2149
- return rb_cmp_internal(self, val, CV_CMP_LT);
2169
+ VALUE dest = new_mat_kind_object(cvGetSize(CVARR(self)), self, CV_8U, 1);
2170
+ return rb_cmp_internal(self, val, dest, CV_CMP_LT);
2150
2171
  }
2151
2172
 
2152
2173
  /*
@@ -2161,7 +2182,8 @@ rb_lt(VALUE self, VALUE val)
2161
2182
  VALUE
2162
2183
  rb_le(VALUE self, VALUE val)
2163
2184
  {
2164
- return rb_cmp_internal(self, val, CV_CMP_LE);
2185
+ VALUE dest = new_mat_kind_object(cvGetSize(CVARR(self)), self, CV_8U, 1);
2186
+ return rb_cmp_internal(self, val, dest, CV_CMP_LE);
2165
2187
  }
2166
2188
 
2167
2189
  /*
@@ -2176,7 +2198,8 @@ rb_le(VALUE self, VALUE val)
2176
2198
  VALUE
2177
2199
  rb_ne(VALUE self, VALUE val)
2178
2200
  {
2179
- return rb_cmp_internal(self, val, CV_CMP_NE);
2201
+ VALUE dest = new_mat_kind_object(cvGetSize(CVARR(self)), self, CV_8U, 1);
2202
+ return rb_cmp_internal(self, val, dest, CV_CMP_NE);
2180
2203
  }
2181
2204
 
2182
2205
  /*
@@ -2400,6 +2423,19 @@ rb_avg(int argc, VALUE *argv, VALUE self)
2400
2423
  return cCvScalar::new_object(avg);
2401
2424
  }
2402
2425
 
2426
+ VALUE
2427
+ rb_avg_value(VALUE self, VALUE mask)
2428
+ {
2429
+ CvScalar avg;
2430
+ try {
2431
+ avg = cvAvg(CVARR(self), MASK(mask));
2432
+ }
2433
+ catch (cv::Exception& e) {
2434
+ raise_cverror(e);
2435
+ }
2436
+ return rb_float_new(avg.val[0]);
2437
+ }
2438
+
2403
2439
  /*
2404
2440
  * Calculates a mean and standard deviation of array elements.
2405
2441
  * @overload avg_sdv(mask = nil)
@@ -4465,6 +4501,19 @@ rb_dilate_bang(int argc, VALUE *argv, VALUE self)
4465
4501
  return self;
4466
4502
  }
4467
4503
 
4504
+ VALUE
4505
+ rb_dilate_into(VALUE self, VALUE dest, VALUE element, VALUE iteration)
4506
+ {
4507
+ IplConvKernel* kernel = NIL_P(element) ? NULL : IPLCONVKERNEL_WITH_CHECK(element);
4508
+ try {
4509
+ cvDilate(CVARR(self), CVARR(dest), kernel, NUM2INT(iteration));
4510
+ }
4511
+ catch (cv::Exception& e) {
4512
+ raise_cverror(e);
4513
+ }
4514
+ return self;
4515
+ }
4516
+
4468
4517
  /*
4469
4518
  * Performs advanced morphological transformations using erosion and dilation as basic operations.
4470
4519
  *
@@ -6658,12 +6707,14 @@ init_ruby_class()
6658
6707
  rb_define_singleton_method(rb_klass, "add_weighted", RUBY_METHOD_FUNC(rb_add_weighted), 5);
6659
6708
  rb_define_method(rb_klass, "and", RUBY_METHOD_FUNC(rb_and), -1);
6660
6709
  rb_define_alias(rb_klass, "&", "and");
6710
+ rb_define_method(rb_klass, "and_into", RUBY_METHOD_FUNC(rb_and_into), 2);
6661
6711
  rb_define_method(rb_klass, "or", RUBY_METHOD_FUNC(rb_or), -1);
6662
6712
  rb_define_alias(rb_klass, "|", "or");
6663
6713
  rb_define_method(rb_klass, "xor", RUBY_METHOD_FUNC(rb_xor), -1);
6664
6714
  rb_define_alias(rb_klass, "^", "xor");
6665
6715
  rb_define_method(rb_klass, "not", RUBY_METHOD_FUNC(rb_not), 0);
6666
6716
  rb_define_method(rb_klass, "not!", RUBY_METHOD_FUNC(rb_not_bang), 0);
6717
+ rb_define_method(rb_klass, "cmp", RUBY_METHOD_FUNC(rb_cmp), 3);
6667
6718
  rb_define_method(rb_klass, "eq", RUBY_METHOD_FUNC(rb_eq), 1);
6668
6719
  rb_define_method(rb_klass, "gt", RUBY_METHOD_FUNC(rb_gt), 1);
6669
6720
  rb_define_method(rb_klass, "ge", RUBY_METHOD_FUNC(rb_ge), 1);
@@ -6679,6 +6730,7 @@ init_ruby_class()
6679
6730
  rb_define_method(rb_klass, "count_non_zero", RUBY_METHOD_FUNC(rb_count_non_zero), 0);
6680
6731
  rb_define_method(rb_klass, "sum", RUBY_METHOD_FUNC(rb_sum), 0);
6681
6732
  rb_define_method(rb_klass, "avg", RUBY_METHOD_FUNC(rb_avg), -1);
6733
+ rb_define_method(rb_klass, "avg_value", RUBY_METHOD_FUNC(rb_avg_value), 1);
6682
6734
  rb_define_method(rb_klass, "avg_sdv", RUBY_METHOD_FUNC(rb_avg_sdv), -1);
6683
6735
  rb_define_method(rb_klass, "sdv", RUBY_METHOD_FUNC(rb_sdv), -1);
6684
6736
  rb_define_method(rb_klass, "min_max_loc", RUBY_METHOD_FUNC(rb_min_max_loc), -1);
@@ -6751,6 +6803,7 @@ init_ruby_class()
6751
6803
  rb_define_method(rb_klass, "erode!", RUBY_METHOD_FUNC(rb_erode_bang), -1);
6752
6804
  rb_define_method(rb_klass, "dilate", RUBY_METHOD_FUNC(rb_dilate), -1);
6753
6805
  rb_define_method(rb_klass, "dilate!", RUBY_METHOD_FUNC(rb_dilate_bang), -1);
6806
+ rb_define_method(rb_klass, "dilate_into", RUBY_METHOD_FUNC(rb_dilate_into), 3);
6754
6807
  rb_define_method(rb_klass, "morphology", RUBY_METHOD_FUNC(rb_morphology), -1);
6755
6808
 
6756
6809
  rb_define_method(rb_klass, "smooth", RUBY_METHOD_FUNC(rb_smooth), -1);
data/ext/opencv/cvmat.h CHANGED
@@ -104,7 +104,7 @@ VALUE rb_or(int argc, VALUE *argv, VALUE self);
104
104
  VALUE rb_xor(int argc, VALUE *argv, VALUE self);
105
105
  VALUE rb_not(VALUE self);
106
106
  VALUE rb_not_bang(VALUE self);
107
- VALUE rb_cmp_internal(VALUE self, VALUE val, int operand);
107
+ VALUE rb_cmp_internal(VALUE self, VALUE val, VALUE dest, int operand);
108
108
  VALUE rb_eq(VALUE self, VALUE val);
109
109
  VALUE rb_gt(VALUE self, VALUE val);
110
110
  VALUE rb_ge(VALUE self, VALUE val);
@@ -234,6 +234,14 @@ init_ruby_module()
234
234
  rb_define_const(rb_module, "CV_IMWRITE_PNG_STRATEGY_FIXED", INT2FIX(CV_IMWRITE_PNG_STRATEGY_FIXED));
235
235
  rb_define_const(rb_module, "CV_IMWRITE_PXM_BINARY", INT2FIX(CV_IMWRITE_PXM_BINARY));
236
236
 
237
+ /* Comparison types */
238
+ rb_define_const(rb_module, "CV_CMP_EQ", INT2FIX(CV_CMP_EQ));
239
+ rb_define_const(rb_module, "CV_CMP_GT", INT2FIX(CV_CMP_GT));
240
+ rb_define_const(rb_module, "CV_CMP_GE", INT2FIX(CV_CMP_GE));
241
+ rb_define_const(rb_module, "CV_CMP_LT", INT2FIX(CV_CMP_LT));
242
+ rb_define_const(rb_module, "CV_CMP_LE", INT2FIX(CV_CMP_LE));
243
+ rb_define_const(rb_module, "CV_CMP_NE", INT2FIX(CV_CMP_NE));
244
+
237
245
  /* Types of morphological operations */
238
246
  rb_define_const(rb_module, "CV_MOP_OPEN", INT2FIX(CV_MOP_OPEN));
239
247
  rb_define_const(rb_module, "CV_MOP_CLOSE", INT2FIX(CV_MOP_CLOSE));
data/ruby-opencv.gemspec CHANGED
@@ -1,15 +1,15 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: ruby-opencv 0.0.13.20160428094028 ruby lib
2
+ # stub: ruby-opencv 0.0.13.20160519171728 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.20160428094028"
7
+ s.version = "0.0.13.20160519171728"
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-04-28"
12
+ s.date = "2016-05-20"
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"]
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.20160428094028
4
+ version: 0.0.13.20160519171728
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-04-28 00:00:00.000000000 Z
13
+ date: 2016-05-20 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.5.1
349
+ rubygems_version: 2.4.5.1
350
350
  signing_key:
351
351
  specification_version: 4
352
352
  summary: OpenCV wrapper for Ruby