opencv - opencv人脸识别LBPH问题
问题描述
我一直在努力寻找一种合适的方法来使用 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
方法来做到这一点。在 C++ 中用于初始化它的默认参数也在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();
推荐阅读
- mysql - 如何在查询中使用行值来影响查询的选择?
- sql - 查询以显示仅存在一个月但其他月份不存在的特定员工姓名
- android - 智能条形码在 Android React Native 中不起作用
- r - 使用 ggplot 在图中更改 stat_compare_means() 的位置
- c# - Surface pro 3 麦克风阵列,如何分别访问它们?
- autohotkey - document.getElementsByTagName() 在 AutoHotkey 中不起作用
- pyspark - 在 Spark MLlib 中,如何使用 Python 将 BisectingKMeansModel 保存到 HDFS?
- c# - Vector3.zero 被窃听
- java - 如何转换列表
从 vertx 到 String Array 以用于笛卡尔积 - node.js - Docker 上的 NodeJS 脚本:/lib64/libz.so.1:未找到版本“ZLIB_1.2.9”