mirror of
https://github.com/ruby-opencv/ruby-opencv
synced 2023-03-27 23:22:12 -04:00
add EigenFaces#load
This commit is contained in:
parent
e6f396ae0c
commit
12f9ea1751
4 changed files with 7557 additions and 0 deletions
|
@ -142,6 +142,28 @@ rb_save(VALUE self, VALUE filename)
|
||||||
return Qnil;
|
return Qnil;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* call-seq:
|
||||||
|
* load(filename)
|
||||||
|
*
|
||||||
|
* Loads a FaceRecognizer and its model state.
|
||||||
|
*/
|
||||||
|
VALUE
|
||||||
|
rb_load(VALUE self, VALUE filename)
|
||||||
|
{
|
||||||
|
Check_Type(filename, T_STRING);
|
||||||
|
cv::FaceRecognizer *self_ptr = FACERECOGNIZER(self);
|
||||||
|
try {
|
||||||
|
char* s = StringValueCStr(filename);
|
||||||
|
self_ptr->load(std::string(s));
|
||||||
|
}
|
||||||
|
catch (cv::Exception& e) {
|
||||||
|
raise_cverror(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
return Qnil;
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
define_ruby_class()
|
define_ruby_class()
|
||||||
{
|
{
|
||||||
|
@ -159,6 +181,7 @@ define_ruby_class()
|
||||||
rb_define_method(rb_klass, "train", RUBY_METHOD_FUNC(rb_train), 2);
|
rb_define_method(rb_klass, "train", RUBY_METHOD_FUNC(rb_train), 2);
|
||||||
rb_define_method(rb_klass, "predict", RUBY_METHOD_FUNC(rb_predict), 1);
|
rb_define_method(rb_klass, "predict", RUBY_METHOD_FUNC(rb_predict), 1);
|
||||||
rb_define_method(rb_klass, "save", RUBY_METHOD_FUNC(rb_save), 1);
|
rb_define_method(rb_klass, "save", RUBY_METHOD_FUNC(rb_save), 1);
|
||||||
|
rb_define_method(rb_klass, "load", RUBY_METHOD_FUNC(rb_load), 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
__NAMESPACE_END_EIGENFACES
|
__NAMESPACE_END_EIGENFACES
|
||||||
|
|
|
@ -25,6 +25,7 @@ VALUE rb_allocate(VALUE klass);
|
||||||
VALUE rb_initialize(int argc, VALUE argv[], VALUE self);
|
VALUE rb_initialize(int argc, VALUE argv[], VALUE self);
|
||||||
VALUE rb_train(VALUE self, VALUE src, VALUE labels);
|
VALUE rb_train(VALUE self, VALUE src, VALUE labels);
|
||||||
VALUE rb_save(VALUE self, VALUE filename);
|
VALUE rb_save(VALUE self, VALUE filename);
|
||||||
|
VALUE rb_load(VALUE self, VALUE filename);
|
||||||
|
|
||||||
__NAMESPACE_END_EIGENFACES
|
__NAMESPACE_END_EIGENFACES
|
||||||
|
|
||||||
|
|
7524
test/eigenfaces_save.xml
Normal file
7524
test/eigenfaces_save.xml
Normal file
File diff suppressed because it is too large
Load diff
|
@ -63,5 +63,14 @@ class TestEigenFaces < OpenCVTestCase
|
||||||
File.delete filename
|
File.delete filename
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_load
|
||||||
|
assert_nothing_raised {
|
||||||
|
@eigenfaces.load('eigenfaces_save.xml')
|
||||||
|
}
|
||||||
|
assert_raise(TypeError) {
|
||||||
|
@eigenfaces.load(DUMMY_OBJ)
|
||||||
|
}
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue