【发布时间】:2021-09-14 19:13:32
【问题描述】:
两天来我一直在努力寻找一种合适的方法来使用 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);
结果是内存引用无效的恐慌。
感谢任何想法。
【问题讨论】:
-
我认为
let mut model = LBPHFaceRecognizer::create(configs).unwrap();可能是这样做的预期方式。 -
@eggyal,在我开始整理答案后,我才意识到这一点。我应该使用
PtrOfLBPHFaceRecognizer::create,因为它是文档中列出的唯一实现者。
标签: opencv rust face-recognition ffi dlib