opencv人脸识别LBPH问题
opencv face recognition LBPH issue
为了找到使用 opencv 在 rust 中初始化 PtrOfLBPHFaceRecognizer 的合适方法,我已经苦苦挣扎了两天。
let mut void_pointer = libc::malloc(mem::size_of::<c_void>() as libc::size_t) as *mut c_void;
if void_pointer.is_null() {
panic!("failed to allocate memory");
}
let mut model = PtrOfLBPHFaceRecognizer::from_raw(void_pointer);
let ptr = PtrOfLBPHFaceRecognizer::init(model);
let mut model = PtrOfLBPHFaceRecognizer::deref_mut(ptr);
model.train(&images,&labels);
结果是内存引用无效导致恐慌。
欢迎任何想法。
您可以通过调用 create
方法来完成此操作。 docs.
中也描述了 C++ 中用于初始化它的默认参数
use opencv::face::prelude::*;
// According to docs, these values are the defaults used in C++
let mut model: PtrOfLBPHFaceRecognizer = <dyn LBPHFaceRecognizer>::create(1, 8, 8, 8, DBL_MAX).unwrap();
为了找到使用 opencv 在 rust 中初始化 PtrOfLBPHFaceRecognizer 的合适方法,我已经苦苦挣扎了两天。
let mut void_pointer = libc::malloc(mem::size_of::<c_void>() as libc::size_t) as *mut c_void;
if void_pointer.is_null() {
panic!("failed to allocate memory");
}
let mut model = PtrOfLBPHFaceRecognizer::from_raw(void_pointer);
let ptr = PtrOfLBPHFaceRecognizer::init(model);
let mut model = PtrOfLBPHFaceRecognizer::deref_mut(ptr);
model.train(&images,&labels);
结果是内存引用无效导致恐慌。
欢迎任何想法。
您可以通过调用 create
方法来完成此操作。 docs.
use opencv::face::prelude::*;
// According to docs, these values are the defaults used in C++
let mut model: PtrOfLBPHFaceRecognizer = <dyn LBPHFaceRecognizer>::create(1, 8, 8, 8, DBL_MAX).unwrap();