1
0
Fork 0
mirror of https://github.com/ruby-opencv/ruby-opencv synced 2023-03-27 23:22:12 -04:00

add CvMat#adaptive_threshold

This commit is contained in:
ser1zw 2012-02-15 02:11:41 +09:00
parent 86b5d1918b
commit 71b2743c76
4 changed files with 135 additions and 0 deletions

View file

@ -216,6 +216,10 @@ define_ruby_module()
rb_define_const(rb_module, "CV_THRESH_TOZERO_INV", INT2FIX(CV_THRESH_TOZERO_INV));
rb_define_const(rb_module, "CV_THRESH_OTSU", INT2FIX(CV_THRESH_OTSU));
/* Adaptive methods */
rb_define_const(rb_module, "CV_ADAPTIVE_THRESH_MEAN_C", INT2FIX(CV_ADAPTIVE_THRESH_MEAN_C));
rb_define_const(rb_module, "CV_ADAPTIVE_THRESH_GAUSSIAN_C", INT2FIX(CV_ADAPTIVE_THRESH_GAUSSIAN_C));
/* Border type */
rb_define_const(rb_module, "IPL_BORDER_CONSTANT", INT2FIX(IPL_BORDER_CONSTANT));
rb_define_const(rb_module, "IPL_BORDER_REPLICATE", INT2FIX(IPL_BORDER_REPLICATE));
@ -413,6 +417,12 @@ define_ruby_module()
REGISTER_CVMETHOD(smoothing_type, "median", CV_MEDIAN);
REGISTER_CVMETHOD(smoothing_type, "bilateral", CV_BILATERAL);
VALUE adaptive_method = rb_hash_new();
/* {:mean_c, :gaussian_c}: Adaptive thresholding algorithm */
rb_define_const(rb_module, "ADAPTIVE_METHOD", adaptive_method);
REGISTER_CVMETHOD(adaptive_method, "mean_c", CV_ADAPTIVE_THRESH_MEAN_C);
REGISTER_CVMETHOD(adaptive_method, "gaussian_c", CV_ADAPTIVE_THRESH_GAUSSIAN_C);
VALUE threshold_type = rb_hash_new();
/* {:binary, :binary_inv, :trunc, :tozero, :tozero_inv, :otsu} : Thresholding types */
rb_define_const(rb_module, "THRESHOLD_TYPE", threshold_type);