#![allow(
unused_parens,
clippy::excessive_precision,
clippy::missing_safety_doc,
clippy::not_unsafe_ptr_arg_deref,
clippy::should_implement_trait,
clippy::too_many_arguments,
clippy::unused_unit,
)]
use crate::{mod_prelude::*, core, sys, types};
pub mod prelude {
pub use { super::PredictCollector, super::StandardCollectorTrait, super::FaceRecognizer, super::BasicFaceRecognizer, super::EigenFaceRecognizer, super::FisherFaceRecognizer, super::LBPHFaceRecognizer, super::Facemark, super::CParamsTrait, super::FacemarkTrain, super::FacemarkLBF_ParamsTrait, super::FacemarkLBF, super::FacemarkAAM_ParamsTrait, super::FacemarkAAM_ConfigTrait, super::FacemarkAAM_DataTrait, super::FacemarkAAM_Model_TextureTrait, super::FacemarkAAM_ModelTrait, super::FacemarkAAM, super::FacemarkKazemi_ParamsTrait, super::FacemarkKazemi, super::MACE, super::BIF };
}
pub type FN_FaceDetector = Option<Box<dyn FnMut(*const c_void, *const c_void) -> bool + Send + Sync + 'static>>;
pub fn create_facemark_aam() -> Result<core::Ptr::<dyn crate::face::Facemark>> {
unsafe { sys::cv_face_createFacemarkAAM() }.into_result().map(|r| unsafe { core::Ptr::<dyn crate::face::Facemark>::opencv_from_extern(r) } )
}
pub fn create_facemark_kazemi() -> Result<core::Ptr::<dyn crate::face::Facemark>> {
unsafe { sys::cv_face_createFacemarkKazemi() }.into_result().map(|r| unsafe { core::Ptr::<dyn crate::face::Facemark>::opencv_from_extern(r) } )
}
pub fn create_facemark_lbf() -> Result<core::Ptr::<dyn crate::face::Facemark>> {
unsafe { sys::cv_face_createFacemarkLBF() }.into_result().map(|r| unsafe { core::Ptr::<dyn crate::face::Facemark>::opencv_from_extern(r) } )
}
pub fn draw_facemarks(image: &mut dyn core::ToInputOutputArray, points: &dyn core::ToInputArray, color: core::Scalar) -> Result<()> {
input_output_array_arg!(image);
input_array_arg!(points);
unsafe { sys::cv_face_drawFacemarks_const__InputOutputArrayR_const__InputArrayR_Scalar(image.as_raw__InputOutputArray(), points.as_raw__InputArray(), color.opencv_as_extern()) }.into_result()
}
pub fn get_faces_haar(image: &dyn core::ToInputArray, faces: &mut dyn core::ToOutputArray, face_cascade_name: &str) -> Result<bool> {
input_array_arg!(image);
output_array_arg!(faces);
extern_container_arg!(face_cascade_name);
unsafe { sys::cv_face_getFacesHAAR_const__InputArrayR_const__OutputArrayR_const_StringR(image.as_raw__InputArray(), faces.as_raw__OutputArray(), face_cascade_name.opencv_as_extern()) }.into_result()
}
pub fn get_faces(image: &dyn core::ToInputArray, faces: &mut dyn core::ToOutputArray, params: &mut crate::face::CParams) -> Result<bool> {
input_array_arg!(image);
output_array_arg!(faces);
unsafe { sys::cv_face_getFaces_const__InputArrayR_const__OutputArrayR_CParamsX(image.as_raw__InputArray(), faces.as_raw__OutputArray(), params.as_raw_mut_CParams()) }.into_result()
}
pub fn load_dataset_list(image_list: &str, annotation_list: &str, images: &mut core::Vector::<String>, annotations: &mut core::Vector::<String>) -> Result<bool> {
extern_container_arg!(mut image_list);
extern_container_arg!(mut annotation_list);
unsafe { sys::cv_face_loadDatasetList_String_String_vector_String_R_vector_String_R(image_list.opencv_as_extern_mut(), annotation_list.opencv_as_extern_mut(), images.as_raw_mut_VectorOfString(), annotations.as_raw_mut_VectorOfString()) }.into_result()
}
pub fn load_face_points(filename: &str, points: &mut dyn core::ToOutputArray, offset: f32) -> Result<bool> {
extern_container_arg!(mut filename);
output_array_arg!(points);
unsafe { sys::cv_face_loadFacePoints_String_const__OutputArrayR_float(filename.opencv_as_extern_mut(), points.as_raw__OutputArray(), offset) }.into_result()
}
pub fn load_training_data_1(image_list: &str, ground_truth: &str, images: &mut core::Vector::<String>, face_points: &mut dyn core::ToOutputArray, offset: f32) -> Result<bool> {
extern_container_arg!(mut image_list);
extern_container_arg!(mut ground_truth);
output_array_arg!(face_points);
unsafe { sys::cv_face_loadTrainingData_String_String_vector_String_R_const__OutputArrayR_float(image_list.opencv_as_extern_mut(), ground_truth.opencv_as_extern_mut(), images.as_raw_mut_VectorOfString(), face_points.as_raw__OutputArray(), offset) }.into_result()
}
pub fn load_training_data(filename: &str, images: &mut core::Vector::<String>, face_points: &mut dyn core::ToOutputArray, delim: i8, offset: f32) -> Result<bool> {
extern_container_arg!(mut filename);
output_array_arg!(face_points);
unsafe { sys::cv_face_loadTrainingData_String_vector_String_R_const__OutputArrayR_char_float(filename.opencv_as_extern_mut(), images.as_raw_mut_VectorOfString(), face_points.as_raw__OutputArray(), delim, offset) }.into_result()
}
pub fn load_training_data_2(mut filename: core::Vector::<String>, trainlandmarks: &mut core::Vector::<core::Vector::<core::Point2f>>, trainimages: &mut core::Vector::<String>) -> Result<bool> {
unsafe { sys::cv_face_loadTrainingData_vector_String__vector_vector_Point2f__R_vector_String_R(filename.as_raw_mut_VectorOfString(), trainlandmarks.as_raw_mut_VectorOfVectorOfPoint2f(), trainimages.as_raw_mut_VectorOfString()) }.into_result()
}
pub trait BIF: core::AlgorithmTrait {
fn as_raw_BIF(&self) -> *const c_void;
fn as_raw_mut_BIF(&mut self) -> *mut c_void;
fn get_num_bands(&self) -> Result<i32> {
unsafe { sys::cv_face_BIF_getNumBands_const(self.as_raw_BIF()) }.into_result()
}
fn get_num_rotations(&self) -> Result<i32> {
unsafe { sys::cv_face_BIF_getNumRotations_const(self.as_raw_BIF()) }.into_result()
}
fn compute(&self, image: &dyn core::ToInputArray, features: &mut dyn core::ToOutputArray) -> Result<()> {
input_array_arg!(image);
output_array_arg!(features);
unsafe { sys::cv_face_BIF_compute_const_const__InputArrayR_const__OutputArrayR(self.as_raw_BIF(), image.as_raw__InputArray(), features.as_raw__OutputArray()) }.into_result()
}
}
impl dyn BIF + '_ {
pub fn create(num_bands: i32, num_rotations: i32) -> Result<core::Ptr::<dyn crate::face::BIF>> {
unsafe { sys::cv_face_BIF_create_int_int(num_bands, num_rotations) }.into_result().map(|r| unsafe { core::Ptr::<dyn crate::face::BIF>::opencv_from_extern(r) } )
}
}
pub trait BasicFaceRecognizer: crate::face::FaceRecognizer {
fn as_raw_BasicFaceRecognizer(&self) -> *const c_void;
fn as_raw_mut_BasicFaceRecognizer(&mut self) -> *mut c_void;
fn get_num_components(&self) -> Result<i32> {
unsafe { sys::cv_face_BasicFaceRecognizer_getNumComponents_const(self.as_raw_BasicFaceRecognizer()) }.into_result()
}
fn set_num_components(&mut self, val: i32) -> Result<()> {
unsafe { sys::cv_face_BasicFaceRecognizer_setNumComponents_int(self.as_raw_mut_BasicFaceRecognizer(), val) }.into_result()
}
fn get_threshold(&self) -> Result<f64> {
unsafe { sys::cv_face_BasicFaceRecognizer_getThreshold_const(self.as_raw_BasicFaceRecognizer()) }.into_result()
}
fn set_threshold(&mut self, val: f64) -> Result<()> {
unsafe { sys::cv_face_BasicFaceRecognizer_setThreshold_double(self.as_raw_mut_BasicFaceRecognizer(), val) }.into_result()
}
fn get_projections(&self) -> Result<core::Vector::<core::Mat>> {
unsafe { sys::cv_face_BasicFaceRecognizer_getProjections_const(self.as_raw_BasicFaceRecognizer()) }.into_result().map(|r| unsafe { core::Vector::<core::Mat>::opencv_from_extern(r) } )
}
fn get_labels(&self) -> Result<core::Mat> {
unsafe { sys::cv_face_BasicFaceRecognizer_getLabels_const(self.as_raw_BasicFaceRecognizer()) }.into_result().map(|r| unsafe { core::Mat::opencv_from_extern(r) } )
}
fn get_eigen_values(&self) -> Result<core::Mat> {
unsafe { sys::cv_face_BasicFaceRecognizer_getEigenValues_const(self.as_raw_BasicFaceRecognizer()) }.into_result().map(|r| unsafe { core::Mat::opencv_from_extern(r) } )
}
fn get_eigen_vectors(&self) -> Result<core::Mat> {
unsafe { sys::cv_face_BasicFaceRecognizer_getEigenVectors_const(self.as_raw_BasicFaceRecognizer()) }.into_result().map(|r| unsafe { core::Mat::opencv_from_extern(r) } )
}
fn get_mean(&self) -> Result<core::Mat> {
unsafe { sys::cv_face_BasicFaceRecognizer_getMean_const(self.as_raw_BasicFaceRecognizer()) }.into_result().map(|r| unsafe { core::Mat::opencv_from_extern(r) } )
}
fn read(&mut self, fn_: &core::FileNode) -> Result<()> {
unsafe { sys::cv_face_BasicFaceRecognizer_read_const_FileNodeR(self.as_raw_mut_BasicFaceRecognizer(), fn_.as_raw_FileNode()) }.into_result()
}
fn write(&self, fs: &mut core::FileStorage) -> Result<()> {
unsafe { sys::cv_face_BasicFaceRecognizer_write_const_FileStorageR(self.as_raw_BasicFaceRecognizer(), fs.as_raw_mut_FileStorage()) }.into_result()
}
fn empty(&self) -> Result<bool> {
unsafe { sys::cv_face_BasicFaceRecognizer_empty_const(self.as_raw_BasicFaceRecognizer()) }.into_result()
}
}
pub trait CParamsTrait {
fn as_raw_CParams(&self) -> *const c_void;
fn as_raw_mut_CParams(&mut self) -> *mut c_void;
fn cascade(&self) -> String {
unsafe { sys::cv_face_CParams_getPropCascade_const(self.as_raw_CParams()) }.into_result().map(|r| unsafe { String::opencv_from_extern(r) } ).expect("Infallible function failed: cascade")
}
fn set_cascade(&mut self, val: &str) -> () {
extern_container_arg!(nofail mut val);
unsafe { sys::cv_face_CParams_setPropCascade_String(self.as_raw_mut_CParams(), val.opencv_as_extern_mut()) }.into_result().expect("Infallible function failed: set_cascade")
}
fn scale_factor(&self) -> f64 {
unsafe { sys::cv_face_CParams_getPropScaleFactor_const(self.as_raw_CParams()) }.into_result().expect("Infallible function failed: scale_factor")
}
fn set_scale_factor(&mut self, val: f64) -> () {
unsafe { sys::cv_face_CParams_setPropScaleFactor_double(self.as_raw_mut_CParams(), val) }.into_result().expect("Infallible function failed: set_scale_factor")
}
fn min_neighbors(&self) -> i32 {
unsafe { sys::cv_face_CParams_getPropMinNeighbors_const(self.as_raw_CParams()) }.into_result().expect("Infallible function failed: min_neighbors")
}
fn set_min_neighbors(&mut self, val: i32) -> () {
unsafe { sys::cv_face_CParams_setPropMinNeighbors_int(self.as_raw_mut_CParams(), val) }.into_result().expect("Infallible function failed: set_min_neighbors")
}
fn min_size(&self) -> core::Size {
unsafe { sys::cv_face_CParams_getPropMinSize_const(self.as_raw_CParams()) }.into_result().expect("Infallible function failed: min_size")
}
fn set_min_size(&mut self, val: core::Size) -> () {
unsafe { sys::cv_face_CParams_setPropMinSize_Size(self.as_raw_mut_CParams(), val.opencv_as_extern()) }.into_result().expect("Infallible function failed: set_min_size")
}
fn max_size(&self) -> core::Size {
unsafe { sys::cv_face_CParams_getPropMaxSize_const(self.as_raw_CParams()) }.into_result().expect("Infallible function failed: max_size")
}
fn set_max_size(&mut self, val: core::Size) -> () {
unsafe { sys::cv_face_CParams_setPropMaxSize_Size(self.as_raw_mut_CParams(), val.opencv_as_extern()) }.into_result().expect("Infallible function failed: set_max_size")
}
fn face_cascade(&mut self) -> crate::objdetect::CascadeClassifier {
unsafe { sys::cv_face_CParams_getPropFace_cascade(self.as_raw_mut_CParams()) }.into_result().map(|r| unsafe { crate::objdetect::CascadeClassifier::opencv_from_extern(r) } ).expect("Infallible function failed: face_cascade")
}
fn set_face_cascade(&mut self, mut val: crate::objdetect::CascadeClassifier) -> () {
unsafe { sys::cv_face_CParams_setPropFace_cascade_CascadeClassifier(self.as_raw_mut_CParams(), val.as_raw_mut_CascadeClassifier()) }.into_result().expect("Infallible function failed: set_face_cascade")
}
}
pub struct CParams {
ptr: *mut c_void
}
opencv_type_boxed! { CParams }
impl Drop for CParams {
fn drop(&mut self) {
extern "C" { fn cv_CParams_delete(instance: *mut c_void); }
unsafe { cv_CParams_delete(self.as_raw_mut_CParams()) };
}
}
impl CParams {
#[inline] pub fn as_raw_CParams(&self) -> *const c_void { self.as_raw() }
#[inline] pub fn as_raw_mut_CParams(&mut self) -> *mut c_void { self.as_raw_mut() }
}
unsafe impl Send for CParams {}
impl crate::face::CParamsTrait for CParams {
#[inline] fn as_raw_CParams(&self) -> *const c_void { self.as_raw() }
#[inline] fn as_raw_mut_CParams(&mut self) -> *mut c_void { self.as_raw_mut() }
}
impl CParams {
pub fn new(cascade_model: &str, sf: f64, min_n: i32, min_sz: core::Size, max_sz: core::Size) -> Result<crate::face::CParams> {
extern_container_arg!(mut cascade_model);
unsafe { sys::cv_face_CParams_CParams_String_double_int_Size_Size(cascade_model.opencv_as_extern_mut(), sf, min_n, min_sz.opencv_as_extern(), max_sz.opencv_as_extern()) }.into_result().map(|r| unsafe { crate::face::CParams::opencv_from_extern(r) } )
}
}
pub trait EigenFaceRecognizer: crate::face::BasicFaceRecognizer {
fn as_raw_EigenFaceRecognizer(&self) -> *const c_void;
fn as_raw_mut_EigenFaceRecognizer(&mut self) -> *mut c_void;
}
impl dyn EigenFaceRecognizer + '_ {
pub fn create(num_components: i32, threshold: f64) -> Result<core::Ptr::<dyn crate::face::EigenFaceRecognizer>> {
unsafe { sys::cv_face_EigenFaceRecognizer_create_int_double(num_components, threshold) }.into_result().map(|r| unsafe { core::Ptr::<dyn crate::face::EigenFaceRecognizer>::opencv_from_extern(r) } )
}
}
pub trait FaceRecognizer: core::AlgorithmTrait {
fn as_raw_FaceRecognizer(&self) -> *const c_void;
fn as_raw_mut_FaceRecognizer(&mut self) -> *mut c_void;
fn train(&mut self, src: &dyn core::ToInputArray, labels: &dyn core::ToInputArray) -> Result<()> {
input_array_arg!(src);
input_array_arg!(labels);
unsafe { sys::cv_face_FaceRecognizer_train_const__InputArrayR_const__InputArrayR(self.as_raw_mut_FaceRecognizer(), src.as_raw__InputArray(), labels.as_raw__InputArray()) }.into_result()
}
fn update(&mut self, src: &dyn core::ToInputArray, labels: &dyn core::ToInputArray) -> Result<()> {
input_array_arg!(src);
input_array_arg!(labels);
unsafe { sys::cv_face_FaceRecognizer_update_const__InputArrayR_const__InputArrayR(self.as_raw_mut_FaceRecognizer(), src.as_raw__InputArray(), labels.as_raw__InputArray()) }.into_result()
}
fn predict_label(&self, src: &dyn core::ToInputArray) -> Result<i32> {
input_array_arg!(src);
unsafe { sys::cv_face_FaceRecognizer_predict_const_const__InputArrayR(self.as_raw_FaceRecognizer(), src.as_raw__InputArray()) }.into_result()
}
fn predict(&self, src: &dyn core::ToInputArray, label: &mut i32, confidence: &mut f64) -> Result<()> {
input_array_arg!(src);
unsafe { sys::cv_face_FaceRecognizer_predict_const_const__InputArrayR_intR_doubleR(self.as_raw_FaceRecognizer(), src.as_raw__InputArray(), label, confidence) }.into_result()
}
fn predict_collect(&self, src: &dyn core::ToInputArray, mut collector: core::Ptr::<dyn crate::face::PredictCollector>) -> Result<()> {
input_array_arg!(src);
unsafe { sys::cv_face_FaceRecognizer_predict_const_const__InputArrayR_Ptr_PredictCollector_(self.as_raw_FaceRecognizer(), src.as_raw__InputArray(), collector.as_raw_mut_PtrOfPredictCollector()) }.into_result()
}
fn write(&self, filename: &str) -> Result<()> {
extern_container_arg!(filename);
unsafe { sys::cv_face_FaceRecognizer_write_const_const_StringR(self.as_raw_FaceRecognizer(), filename.opencv_as_extern()) }.into_result()
}
fn read(&mut self, filename: &str) -> Result<()> {
extern_container_arg!(filename);
unsafe { sys::cv_face_FaceRecognizer_read_const_StringR(self.as_raw_mut_FaceRecognizer(), filename.opencv_as_extern()) }.into_result()
}
fn write_1(&self, fs: &mut core::FileStorage) -> Result<()> {
unsafe { sys::cv_face_FaceRecognizer_write_const_FileStorageR(self.as_raw_FaceRecognizer(), fs.as_raw_mut_FileStorage()) }.into_result()
}
fn read_1(&mut self, fn_: &core::FileNode) -> Result<()> {
unsafe { sys::cv_face_FaceRecognizer_read_const_FileNodeR(self.as_raw_mut_FaceRecognizer(), fn_.as_raw_FileNode()) }.into_result()
}
fn empty(&self) -> Result<bool> {
unsafe { sys::cv_face_FaceRecognizer_empty_const(self.as_raw_FaceRecognizer()) }.into_result()
}
fn set_label_info(&mut self, label: i32, str_info: &str) -> Result<()> {
extern_container_arg!(str_info);
unsafe { sys::cv_face_FaceRecognizer_setLabelInfo_int_const_StringR(self.as_raw_mut_FaceRecognizer(), label, str_info.opencv_as_extern()) }.into_result()
}
fn get_label_info(&self, label: i32) -> Result<String> {
unsafe { sys::cv_face_FaceRecognizer_getLabelInfo_const_int(self.as_raw_FaceRecognizer(), label) }.into_result().map(|r| unsafe { String::opencv_from_extern(r) } )
}
fn get_labels_by_string(&self, str: &str) -> Result<core::Vector::<i32>> {
extern_container_arg!(str);
unsafe { sys::cv_face_FaceRecognizer_getLabelsByString_const_const_StringR(self.as_raw_FaceRecognizer(), str.opencv_as_extern()) }.into_result().map(|r| unsafe { core::Vector::<i32>::opencv_from_extern(r) } )
}
fn get_threshold(&self) -> Result<f64> {
unsafe { sys::cv_face_FaceRecognizer_getThreshold_const(self.as_raw_FaceRecognizer()) }.into_result()
}
fn set_threshold(&mut self, val: f64) -> Result<()> {
unsafe { sys::cv_face_FaceRecognizer_setThreshold_double(self.as_raw_mut_FaceRecognizer(), val) }.into_result()
}
}
pub trait Facemark: core::AlgorithmTrait {
fn as_raw_Facemark(&self) -> *const c_void;
fn as_raw_mut_Facemark(&mut self) -> *mut c_void;
fn load_model(&mut self, model: &str) -> Result<()> {
extern_container_arg!(mut model);
unsafe { sys::cv_face_Facemark_loadModel_String(self.as_raw_mut_Facemark(), model.opencv_as_extern_mut()) }.into_result()
}
fn fit(&mut self, image: &dyn core::ToInputArray, faces: &dyn core::ToInputArray, landmarks: &mut dyn core::ToOutputArray) -> Result<bool> {
input_array_arg!(image);
input_array_arg!(faces);
output_array_arg!(landmarks);
unsafe { sys::cv_face_Facemark_fit_const__InputArrayR_const__InputArrayR_const__OutputArrayR(self.as_raw_mut_Facemark(), image.as_raw__InputArray(), faces.as_raw__InputArray(), landmarks.as_raw__OutputArray()) }.into_result()
}
}
pub trait FacemarkAAM: crate::face::FacemarkTrain {
fn as_raw_FacemarkAAM(&self) -> *const c_void;
fn as_raw_mut_FacemarkAAM(&mut self) -> *mut c_void;
fn fit_config(&mut self, image: &dyn core::ToInputArray, roi: &dyn core::ToInputArray, _landmarks: &mut dyn core::ToOutputArray, runtime_params: &core::Vector::<crate::face::FacemarkAAM_Config>) -> Result<bool> {
input_array_arg!(image);
input_array_arg!(roi);
output_array_arg!(_landmarks);
unsafe { sys::cv_face_FacemarkAAM_fitConfig_const__InputArrayR_const__InputArrayR_const__OutputArrayR_const_vector_Config_R(self.as_raw_mut_FacemarkAAM(), image.as_raw__InputArray(), roi.as_raw__InputArray(), _landmarks.as_raw__OutputArray(), runtime_params.as_raw_VectorOfFacemarkAAM_Config()) }.into_result()
}
}
impl dyn FacemarkAAM + '_ {
pub fn create(parameters: &crate::face::FacemarkAAM_Params) -> Result<core::Ptr::<dyn crate::face::FacemarkAAM>> {
unsafe { sys::cv_face_FacemarkAAM_create_const_ParamsR(parameters.as_raw_FacemarkAAM_Params()) }.into_result().map(|r| unsafe { core::Ptr::<dyn crate::face::FacemarkAAM>::opencv_from_extern(r) } )
}
}
pub trait FacemarkAAM_ConfigTrait {
fn as_raw_FacemarkAAM_Config(&self) -> *const c_void;
fn as_raw_mut_FacemarkAAM_Config(&mut self) -> *mut c_void;
fn r(&mut self) -> core::Mat {
unsafe { sys::cv_face_FacemarkAAM_Config_getPropR(self.as_raw_mut_FacemarkAAM_Config()) }.into_result().map(|r| unsafe { core::Mat::opencv_from_extern(r) } ).expect("Infallible function failed: r")
}
fn set_r(&mut self, mut val: core::Mat) -> () {
unsafe { sys::cv_face_FacemarkAAM_Config_setPropR_Mat(self.as_raw_mut_FacemarkAAM_Config(), val.as_raw_mut_Mat()) }.into_result().expect("Infallible function failed: set_r")
}
fn t(&self) -> core::Point2f {
unsafe { sys::cv_face_FacemarkAAM_Config_getPropT_const(self.as_raw_FacemarkAAM_Config()) }.into_result().expect("Infallible function failed: t")
}
fn set_t(&mut self, val: core::Point2f) -> () {
unsafe { sys::cv_face_FacemarkAAM_Config_setPropT_Point2f(self.as_raw_mut_FacemarkAAM_Config(), val.opencv_as_extern()) }.into_result().expect("Infallible function failed: set_t")
}
fn scale(&self) -> f32 {
unsafe { sys::cv_face_FacemarkAAM_Config_getPropScale_const(self.as_raw_FacemarkAAM_Config()) }.into_result().expect("Infallible function failed: scale")
}
fn set_scale(&mut self, val: f32) -> () {
unsafe { sys::cv_face_FacemarkAAM_Config_setPropScale_float(self.as_raw_mut_FacemarkAAM_Config(), val) }.into_result().expect("Infallible function failed: set_scale")
}
fn model_scale_idx(&self) -> i32 {
unsafe { sys::cv_face_FacemarkAAM_Config_getPropModel_scale_idx_const(self.as_raw_FacemarkAAM_Config()) }.into_result().expect("Infallible function failed: model_scale_idx")
}
fn set_model_scale_idx(&mut self, val: i32) -> () {
unsafe { sys::cv_face_FacemarkAAM_Config_setPropModel_scale_idx_int(self.as_raw_mut_FacemarkAAM_Config(), val) }.into_result().expect("Infallible function failed: set_model_scale_idx")
}
}
pub struct FacemarkAAM_Config {
ptr: *mut c_void
}
opencv_type_boxed! { FacemarkAAM_Config }
impl Drop for FacemarkAAM_Config {
fn drop(&mut self) {
extern "C" { fn cv_FacemarkAAM_Config_delete(instance: *mut c_void); }
unsafe { cv_FacemarkAAM_Config_delete(self.as_raw_mut_FacemarkAAM_Config()) };
}
}
impl FacemarkAAM_Config {
#[inline] pub fn as_raw_FacemarkAAM_Config(&self) -> *const c_void { self.as_raw() }
#[inline] pub fn as_raw_mut_FacemarkAAM_Config(&mut self) -> *mut c_void { self.as_raw_mut() }
}
unsafe impl Send for FacemarkAAM_Config {}
impl crate::face::FacemarkAAM_ConfigTrait for FacemarkAAM_Config {
#[inline] fn as_raw_FacemarkAAM_Config(&self) -> *const c_void { self.as_raw() }
#[inline] fn as_raw_mut_FacemarkAAM_Config(&mut self) -> *mut c_void { self.as_raw_mut() }
}
impl FacemarkAAM_Config {
pub fn new(mut rot: core::Mat, trans: core::Point2f, scaling: f32, scale_id: i32) -> Result<crate::face::FacemarkAAM_Config> {
unsafe { sys::cv_face_FacemarkAAM_Config_Config_Mat_Point2f_float_int(rot.as_raw_mut_Mat(), trans.opencv_as_extern(), scaling, scale_id) }.into_result().map(|r| unsafe { crate::face::FacemarkAAM_Config::opencv_from_extern(r) } )
}
}
pub trait FacemarkAAM_DataTrait {
fn as_raw_FacemarkAAM_Data(&self) -> *const c_void;
fn as_raw_mut_FacemarkAAM_Data(&mut self) -> *mut c_void;
fn s0(&mut self) -> core::Vector::<core::Point2f> {
unsafe { sys::cv_face_FacemarkAAM_Data_getPropS0(self.as_raw_mut_FacemarkAAM_Data()) }.into_result().map(|r| unsafe { core::Vector::<core::Point2f>::opencv_from_extern(r) } ).expect("Infallible function failed: s0")
}
fn set_s0(&mut self, mut val: core::Vector::<core::Point2f>) -> () {
unsafe { sys::cv_face_FacemarkAAM_Data_setPropS0_vector_Point2f_(self.as_raw_mut_FacemarkAAM_Data(), val.as_raw_mut_VectorOfPoint2f()) }.into_result().expect("Infallible function failed: set_s0")
}
}
pub struct FacemarkAAM_Data {
ptr: *mut c_void
}
opencv_type_boxed! { FacemarkAAM_Data }
impl Drop for FacemarkAAM_Data {
fn drop(&mut self) {
extern "C" { fn cv_FacemarkAAM_Data_delete(instance: *mut c_void); }
unsafe { cv_FacemarkAAM_Data_delete(self.as_raw_mut_FacemarkAAM_Data()) };
}
}
impl FacemarkAAM_Data {
#[inline] pub fn as_raw_FacemarkAAM_Data(&self) -> *const c_void { self.as_raw() }
#[inline] pub fn as_raw_mut_FacemarkAAM_Data(&mut self) -> *mut c_void { self.as_raw_mut() }
}
unsafe impl Send for FacemarkAAM_Data {}
impl crate::face::FacemarkAAM_DataTrait for FacemarkAAM_Data {
#[inline] fn as_raw_FacemarkAAM_Data(&self) -> *const c_void { self.as_raw() }
#[inline] fn as_raw_mut_FacemarkAAM_Data(&mut self) -> *mut c_void { self.as_raw_mut() }
}
impl FacemarkAAM_Data {
}
pub trait FacemarkAAM_ModelTrait {
fn as_raw_FacemarkAAM_Model(&self) -> *const c_void;
fn as_raw_mut_FacemarkAAM_Model(&mut self) -> *mut c_void;
fn scales(&mut self) -> core::Vector::<f32> {
unsafe { sys::cv_face_FacemarkAAM_Model_getPropScales(self.as_raw_mut_FacemarkAAM_Model()) }.into_result().map(|r| unsafe { core::Vector::<f32>::opencv_from_extern(r) } ).expect("Infallible function failed: scales")
}
fn set_scales(&mut self, mut val: core::Vector::<f32>) -> () {
unsafe { sys::cv_face_FacemarkAAM_Model_setPropScales_vector_float_(self.as_raw_mut_FacemarkAAM_Model(), val.as_raw_mut_VectorOff32()) }.into_result().expect("Infallible function failed: set_scales")
}
fn triangles(&mut self) -> core::Vector::<core::Vec3i> {
unsafe { sys::cv_face_FacemarkAAM_Model_getPropTriangles(self.as_raw_mut_FacemarkAAM_Model()) }.into_result().map(|r| unsafe { core::Vector::<core::Vec3i>::opencv_from_extern(r) } ).expect("Infallible function failed: triangles")
}
fn set_triangles(&mut self, mut val: core::Vector::<core::Vec3i>) -> () {
unsafe { sys::cv_face_FacemarkAAM_Model_setPropTriangles_vector_Vec3i_(self.as_raw_mut_FacemarkAAM_Model(), val.as_raw_mut_VectorOfVec3i()) }.into_result().expect("Infallible function failed: set_triangles")
}
fn textures(&mut self) -> core::Vector::<crate::face::FacemarkAAM_Model_Texture> {
unsafe { sys::cv_face_FacemarkAAM_Model_getPropTextures(self.as_raw_mut_FacemarkAAM_Model()) }.into_result().map(|r| unsafe { core::Vector::<crate::face::FacemarkAAM_Model_Texture>::opencv_from_extern(r) } ).expect("Infallible function failed: textures")
}
fn set_textures(&mut self, mut val: core::Vector::<crate::face::FacemarkAAM_Model_Texture>) -> () {
unsafe { sys::cv_face_FacemarkAAM_Model_setPropTextures_vector_Texture_(self.as_raw_mut_FacemarkAAM_Model(), val.as_raw_mut_VectorOfFacemarkAAM_Model_Texture()) }.into_result().expect("Infallible function failed: set_textures")
}
fn s0(&mut self) -> core::Vector::<core::Point2f> {
unsafe { sys::cv_face_FacemarkAAM_Model_getPropS0(self.as_raw_mut_FacemarkAAM_Model()) }.into_result().map(|r| unsafe { core::Vector::<core::Point2f>::opencv_from_extern(r) } ).expect("Infallible function failed: s0")
}
fn set_s0(&mut self, mut val: core::Vector::<core::Point2f>) -> () {
unsafe { sys::cv_face_FacemarkAAM_Model_setPropS0_vector_Point2f_(self.as_raw_mut_FacemarkAAM_Model(), val.as_raw_mut_VectorOfPoint2f()) }.into_result().expect("Infallible function failed: set_s0")
}
fn s(&mut self) -> core::Mat {
unsafe { sys::cv_face_FacemarkAAM_Model_getPropS(self.as_raw_mut_FacemarkAAM_Model()) }.into_result().map(|r| unsafe { core::Mat::opencv_from_extern(r) } ).expect("Infallible function failed: s")
}
fn set_s(&mut self, mut val: core::Mat) -> () {
unsafe { sys::cv_face_FacemarkAAM_Model_setPropS_Mat(self.as_raw_mut_FacemarkAAM_Model(), val.as_raw_mut_Mat()) }.into_result().expect("Infallible function failed: set_s")
}
fn q(&mut self) -> core::Mat {
unsafe { sys::cv_face_FacemarkAAM_Model_getPropQ(self.as_raw_mut_FacemarkAAM_Model()) }.into_result().map(|r| unsafe { core::Mat::opencv_from_extern(r) } ).expect("Infallible function failed: q")
}
fn set_q(&mut self, mut val: core::Mat) -> () {
unsafe { sys::cv_face_FacemarkAAM_Model_setPropQ_Mat(self.as_raw_mut_FacemarkAAM_Model(), val.as_raw_mut_Mat()) }.into_result().expect("Infallible function failed: set_q")
}
}
pub struct FacemarkAAM_Model {
ptr: *mut c_void
}
opencv_type_boxed! { FacemarkAAM_Model }
impl Drop for FacemarkAAM_Model {
fn drop(&mut self) {
extern "C" { fn cv_FacemarkAAM_Model_delete(instance: *mut c_void); }
unsafe { cv_FacemarkAAM_Model_delete(self.as_raw_mut_FacemarkAAM_Model()) };
}
}
impl FacemarkAAM_Model {
#[inline] pub fn as_raw_FacemarkAAM_Model(&self) -> *const c_void { self.as_raw() }
#[inline] pub fn as_raw_mut_FacemarkAAM_Model(&mut self) -> *mut c_void { self.as_raw_mut() }
}
unsafe impl Send for FacemarkAAM_Model {}
impl crate::face::FacemarkAAM_ModelTrait for FacemarkAAM_Model {
#[inline] fn as_raw_FacemarkAAM_Model(&self) -> *const c_void { self.as_raw() }
#[inline] fn as_raw_mut_FacemarkAAM_Model(&mut self) -> *mut c_void { self.as_raw_mut() }
}
impl FacemarkAAM_Model {
}
pub trait FacemarkAAM_Model_TextureTrait {
fn as_raw_FacemarkAAM_Model_Texture(&self) -> *const c_void;
fn as_raw_mut_FacemarkAAM_Model_Texture(&mut self) -> *mut c_void;
fn max_m(&self) -> i32 {
unsafe { sys::cv_face_FacemarkAAM_Model_Texture_getPropMax_m_const(self.as_raw_FacemarkAAM_Model_Texture()) }.into_result().expect("Infallible function failed: max_m")
}
fn set_max_m(&mut self, val: i32) -> () {
unsafe { sys::cv_face_FacemarkAAM_Model_Texture_setPropMax_m_int(self.as_raw_mut_FacemarkAAM_Model_Texture(), val) }.into_result().expect("Infallible function failed: set_max_m")
}
fn resolution(&self) -> core::Rect {
unsafe { sys::cv_face_FacemarkAAM_Model_Texture_getPropResolution_const(self.as_raw_FacemarkAAM_Model_Texture()) }.into_result().expect("Infallible function failed: resolution")
}
fn set_resolution(&mut self, val: core::Rect) -> () {
unsafe { sys::cv_face_FacemarkAAM_Model_Texture_setPropResolution_Rect(self.as_raw_mut_FacemarkAAM_Model_Texture(), val.opencv_as_extern()) }.into_result().expect("Infallible function failed: set_resolution")
}
fn a(&mut self) -> core::Mat {
unsafe { sys::cv_face_FacemarkAAM_Model_Texture_getPropA(self.as_raw_mut_FacemarkAAM_Model_Texture()) }.into_result().map(|r| unsafe { core::Mat::opencv_from_extern(r) } ).expect("Infallible function failed: a")
}
fn set_a(&mut self, mut val: core::Mat) -> () {
unsafe { sys::cv_face_FacemarkAAM_Model_Texture_setPropA_Mat(self.as_raw_mut_FacemarkAAM_Model_Texture(), val.as_raw_mut_Mat()) }.into_result().expect("Infallible function failed: set_a")
}
fn a0(&mut self) -> core::Mat {
unsafe { sys::cv_face_FacemarkAAM_Model_Texture_getPropA0(self.as_raw_mut_FacemarkAAM_Model_Texture()) }.into_result().map(|r| unsafe { core::Mat::opencv_from_extern(r) } ).expect("Infallible function failed: a0")
}
fn set_a0(&mut self, mut val: core::Mat) -> () {
unsafe { sys::cv_face_FacemarkAAM_Model_Texture_setPropA0_Mat(self.as_raw_mut_FacemarkAAM_Model_Texture(), val.as_raw_mut_Mat()) }.into_result().expect("Infallible function failed: set_a0")
}
fn aa(&mut self) -> core::Mat {
unsafe { sys::cv_face_FacemarkAAM_Model_Texture_getPropAA(self.as_raw_mut_FacemarkAAM_Model_Texture()) }.into_result().map(|r| unsafe { core::Mat::opencv_from_extern(r) } ).expect("Infallible function failed: aa")
}
fn set_aa(&mut self, mut val: core::Mat) -> () {
unsafe { sys::cv_face_FacemarkAAM_Model_Texture_setPropAA_Mat(self.as_raw_mut_FacemarkAAM_Model_Texture(), val.as_raw_mut_Mat()) }.into_result().expect("Infallible function failed: set_aa")
}
fn aa0(&mut self) -> core::Mat {
unsafe { sys::cv_face_FacemarkAAM_Model_Texture_getPropAA0(self.as_raw_mut_FacemarkAAM_Model_Texture()) }.into_result().map(|r| unsafe { core::Mat::opencv_from_extern(r) } ).expect("Infallible function failed: aa0")
}
fn set_aa0(&mut self, mut val: core::Mat) -> () {
unsafe { sys::cv_face_FacemarkAAM_Model_Texture_setPropAA0_Mat(self.as_raw_mut_FacemarkAAM_Model_Texture(), val.as_raw_mut_Mat()) }.into_result().expect("Infallible function failed: set_aa0")
}
fn texture_idx(&mut self) -> core::Vector::<core::Vector::<core::Point>> {
unsafe { sys::cv_face_FacemarkAAM_Model_Texture_getPropTextureIdx(self.as_raw_mut_FacemarkAAM_Model_Texture()) }.into_result().map(|r| unsafe { core::Vector::<core::Vector::<core::Point>>::opencv_from_extern(r) } ).expect("Infallible function failed: texture_idx")
}
fn set_texture_idx(&mut self, mut val: core::Vector::<core::Vector::<core::Point>>) -> () {
unsafe { sys::cv_face_FacemarkAAM_Model_Texture_setPropTextureIdx_vector_vector_Point__(self.as_raw_mut_FacemarkAAM_Model_Texture(), val.as_raw_mut_VectorOfVectorOfPoint()) }.into_result().expect("Infallible function failed: set_texture_idx")
}
fn base_shape(&mut self) -> core::Vector::<core::Point2f> {
unsafe { sys::cv_face_FacemarkAAM_Model_Texture_getPropBase_shape(self.as_raw_mut_FacemarkAAM_Model_Texture()) }.into_result().map(|r| unsafe { core::Vector::<core::Point2f>::opencv_from_extern(r) } ).expect("Infallible function failed: base_shape")
}
fn set_base_shape(&mut self, mut val: core::Vector::<core::Point2f>) -> () {
unsafe { sys::cv_face_FacemarkAAM_Model_Texture_setPropBase_shape_vector_Point2f_(self.as_raw_mut_FacemarkAAM_Model_Texture(), val.as_raw_mut_VectorOfPoint2f()) }.into_result().expect("Infallible function failed: set_base_shape")
}
fn ind1(&mut self) -> core::Vector::<i32> {
unsafe { sys::cv_face_FacemarkAAM_Model_Texture_getPropInd1(self.as_raw_mut_FacemarkAAM_Model_Texture()) }.into_result().map(|r| unsafe { core::Vector::<i32>::opencv_from_extern(r) } ).expect("Infallible function failed: ind1")
}
fn set_ind1(&mut self, mut val: core::Vector::<i32>) -> () {
unsafe { sys::cv_face_FacemarkAAM_Model_Texture_setPropInd1_vector_int_(self.as_raw_mut_FacemarkAAM_Model_Texture(), val.as_raw_mut_VectorOfi32()) }.into_result().expect("Infallible function failed: set_ind1")
}
fn ind2(&mut self) -> core::Vector::<i32> {
unsafe { sys::cv_face_FacemarkAAM_Model_Texture_getPropInd2(self.as_raw_mut_FacemarkAAM_Model_Texture()) }.into_result().map(|r| unsafe { core::Vector::<i32>::opencv_from_extern(r) } ).expect("Infallible function failed: ind2")
}
fn set_ind2(&mut self, mut val: core::Vector::<i32>) -> () {
unsafe { sys::cv_face_FacemarkAAM_Model_Texture_setPropInd2_vector_int_(self.as_raw_mut_FacemarkAAM_Model_Texture(), val.as_raw_mut_VectorOfi32()) }.into_result().expect("Infallible function failed: set_ind2")
}
}
pub struct FacemarkAAM_Model_Texture {
ptr: *mut c_void
}
opencv_type_boxed! { FacemarkAAM_Model_Texture }
impl Drop for FacemarkAAM_Model_Texture {
fn drop(&mut self) {
extern "C" { fn cv_FacemarkAAM_Model_Texture_delete(instance: *mut c_void); }
unsafe { cv_FacemarkAAM_Model_Texture_delete(self.as_raw_mut_FacemarkAAM_Model_Texture()) };
}
}
impl FacemarkAAM_Model_Texture {
#[inline] pub fn as_raw_FacemarkAAM_Model_Texture(&self) -> *const c_void { self.as_raw() }
#[inline] pub fn as_raw_mut_FacemarkAAM_Model_Texture(&mut self) -> *mut c_void { self.as_raw_mut() }
}
unsafe impl Send for FacemarkAAM_Model_Texture {}
impl crate::face::FacemarkAAM_Model_TextureTrait for FacemarkAAM_Model_Texture {
#[inline] fn as_raw_FacemarkAAM_Model_Texture(&self) -> *const c_void { self.as_raw() }
#[inline] fn as_raw_mut_FacemarkAAM_Model_Texture(&mut self) -> *mut c_void { self.as_raw_mut() }
}
impl FacemarkAAM_Model_Texture {
}
pub trait FacemarkAAM_ParamsTrait {
fn as_raw_FacemarkAAM_Params(&self) -> *const c_void;
fn as_raw_mut_FacemarkAAM_Params(&mut self) -> *mut c_void;
fn model_filename(&self) -> String {
unsafe { sys::cv_face_FacemarkAAM_Params_getPropModel_filename_const(self.as_raw_FacemarkAAM_Params()) }.into_result().map(|r| unsafe { String::opencv_from_extern(r) } ).expect("Infallible function failed: model_filename")
}
fn set_model_filename(&mut self, val: &str) -> () {
extern_container_arg!(nofail mut val);
unsafe { sys::cv_face_FacemarkAAM_Params_setPropModel_filename_string(self.as_raw_mut_FacemarkAAM_Params(), val.opencv_as_extern_mut()) }.into_result().expect("Infallible function failed: set_model_filename")
}
fn m(&self) -> i32 {
unsafe { sys::cv_face_FacemarkAAM_Params_getPropM_const(self.as_raw_FacemarkAAM_Params()) }.into_result().expect("Infallible function failed: m")
}
fn set_m(&mut self, val: i32) -> () {
unsafe { sys::cv_face_FacemarkAAM_Params_setPropM_int(self.as_raw_mut_FacemarkAAM_Params(), val) }.into_result().expect("Infallible function failed: set_m")
}
fn n(&self) -> i32 {
unsafe { sys::cv_face_FacemarkAAM_Params_getPropN_const(self.as_raw_FacemarkAAM_Params()) }.into_result().expect("Infallible function failed: n")
}
fn set_n(&mut self, val: i32) -> () {
unsafe { sys::cv_face_FacemarkAAM_Params_setPropN_int(self.as_raw_mut_FacemarkAAM_Params(), val) }.into_result().expect("Infallible function failed: set_n")
}
fn n_iter(&self) -> i32 {
unsafe { sys::cv_face_FacemarkAAM_Params_getPropN_iter_const(self.as_raw_FacemarkAAM_Params()) }.into_result().expect("Infallible function failed: n_iter")
}
fn set_n_iter(&mut self, val: i32) -> () {
unsafe { sys::cv_face_FacemarkAAM_Params_setPropN_iter_int(self.as_raw_mut_FacemarkAAM_Params(), val) }.into_result().expect("Infallible function failed: set_n_iter")
}
fn verbose(&self) -> bool {
unsafe { sys::cv_face_FacemarkAAM_Params_getPropVerbose_const(self.as_raw_FacemarkAAM_Params()) }.into_result().expect("Infallible function failed: verbose")
}
fn set_verbose(&mut self, val: bool) -> () {
unsafe { sys::cv_face_FacemarkAAM_Params_setPropVerbose_bool(self.as_raw_mut_FacemarkAAM_Params(), val) }.into_result().expect("Infallible function failed: set_verbose")
}
fn save_model(&self) -> bool {
unsafe { sys::cv_face_FacemarkAAM_Params_getPropSave_model_const(self.as_raw_FacemarkAAM_Params()) }.into_result().expect("Infallible function failed: save_model")
}
fn set_save_model(&mut self, val: bool) -> () {
unsafe { sys::cv_face_FacemarkAAM_Params_setPropSave_model_bool(self.as_raw_mut_FacemarkAAM_Params(), val) }.into_result().expect("Infallible function failed: set_save_model")
}
fn max_m(&self) -> i32 {
unsafe { sys::cv_face_FacemarkAAM_Params_getPropMax_m_const(self.as_raw_FacemarkAAM_Params()) }.into_result().expect("Infallible function failed: max_m")
}
fn set_max_m(&mut self, val: i32) -> () {
unsafe { sys::cv_face_FacemarkAAM_Params_setPropMax_m_int(self.as_raw_mut_FacemarkAAM_Params(), val) }.into_result().expect("Infallible function failed: set_max_m")
}
fn max_n(&self) -> i32 {
unsafe { sys::cv_face_FacemarkAAM_Params_getPropMax_n_const(self.as_raw_FacemarkAAM_Params()) }.into_result().expect("Infallible function failed: max_n")
}
fn set_max_n(&mut self, val: i32) -> () {
unsafe { sys::cv_face_FacemarkAAM_Params_setPropMax_n_int(self.as_raw_mut_FacemarkAAM_Params(), val) }.into_result().expect("Infallible function failed: set_max_n")
}
fn texture_max_m(&self) -> i32 {
unsafe { sys::cv_face_FacemarkAAM_Params_getPropTexture_max_m_const(self.as_raw_FacemarkAAM_Params()) }.into_result().expect("Infallible function failed: texture_max_m")
}
fn set_texture_max_m(&mut self, val: i32) -> () {
unsafe { sys::cv_face_FacemarkAAM_Params_setPropTexture_max_m_int(self.as_raw_mut_FacemarkAAM_Params(), val) }.into_result().expect("Infallible function failed: set_texture_max_m")
}
fn scales(&mut self) -> core::Vector::<f32> {
unsafe { sys::cv_face_FacemarkAAM_Params_getPropScales(self.as_raw_mut_FacemarkAAM_Params()) }.into_result().map(|r| unsafe { core::Vector::<f32>::opencv_from_extern(r) } ).expect("Infallible function failed: scales")
}
fn set_scales(&mut self, mut val: core::Vector::<f32>) -> () {
unsafe { sys::cv_face_FacemarkAAM_Params_setPropScales_vector_float_(self.as_raw_mut_FacemarkAAM_Params(), val.as_raw_mut_VectorOff32()) }.into_result().expect("Infallible function failed: set_scales")
}
fn read(&mut self, unnamed: &core::FileNode) -> Result<()> {
unsafe { sys::cv_face_FacemarkAAM_Params_read_const_FileNodeR(self.as_raw_mut_FacemarkAAM_Params(), unnamed.as_raw_FileNode()) }.into_result()
}
fn write(&self, unnamed: &mut core::FileStorage) -> Result<()> {
unsafe { sys::cv_face_FacemarkAAM_Params_write_const_FileStorageR(self.as_raw_FacemarkAAM_Params(), unnamed.as_raw_mut_FileStorage()) }.into_result()
}
}
pub struct FacemarkAAM_Params {
ptr: *mut c_void
}
opencv_type_boxed! { FacemarkAAM_Params }
impl Drop for FacemarkAAM_Params {
fn drop(&mut self) {
extern "C" { fn cv_FacemarkAAM_Params_delete(instance: *mut c_void); }
unsafe { cv_FacemarkAAM_Params_delete(self.as_raw_mut_FacemarkAAM_Params()) };
}
}
impl FacemarkAAM_Params {
#[inline] pub fn as_raw_FacemarkAAM_Params(&self) -> *const c_void { self.as_raw() }
#[inline] pub fn as_raw_mut_FacemarkAAM_Params(&mut self) -> *mut c_void { self.as_raw_mut() }
}
unsafe impl Send for FacemarkAAM_Params {}
impl crate::face::FacemarkAAM_ParamsTrait for FacemarkAAM_Params {
#[inline] fn as_raw_FacemarkAAM_Params(&self) -> *const c_void { self.as_raw() }
#[inline] fn as_raw_mut_FacemarkAAM_Params(&mut self) -> *mut c_void { self.as_raw_mut() }
}
impl FacemarkAAM_Params {
pub fn default() -> Result<crate::face::FacemarkAAM_Params> {
unsafe { sys::cv_face_FacemarkAAM_Params_Params() }.into_result().map(|r| unsafe { crate::face::FacemarkAAM_Params::opencv_from_extern(r) } )
}
}
pub trait FacemarkKazemi: crate::face::Facemark {
fn as_raw_FacemarkKazemi(&self) -> *const c_void;
fn as_raw_mut_FacemarkKazemi(&mut self) -> *mut c_void;
fn training(&mut self, images: &mut core::Vector::<core::Mat>, landmarks: &mut core::Vector::<core::Vector::<core::Point2f>>, configfile: &str, scale: core::Size, model_filename: &str) -> Result<bool> {
extern_container_arg!(mut configfile);
extern_container_arg!(mut model_filename);
unsafe { sys::cv_face_FacemarkKazemi_training_vector_Mat_R_vector_vector_Point2f__R_string_Size_string(self.as_raw_mut_FacemarkKazemi(), images.as_raw_mut_VectorOfMat(), landmarks.as_raw_mut_VectorOfVectorOfPoint2f(), configfile.opencv_as_extern_mut(), scale.opencv_as_extern(), model_filename.opencv_as_extern_mut()) }.into_result()
}
fn set_face_detector(&mut self, f: Option<Box<dyn FnMut(*const c_void, *const c_void) -> bool + Send + Sync + 'static>>) -> Result<bool> {
callback_arg!(f_trampoline(unnamed: *const c_void, unnamed_1: *const c_void, unnamed_2: *mut c_void) -> bool => unnamed_2 in callbacks => f(unnamed: *const c_void, unnamed_1: *const c_void) -> bool);
userdata_arg!(user_data in callbacks => f);
unsafe { sys::cv_face_FacemarkKazemi_setFaceDetector_bool__X__const_cv__InputArrayR__const_cv__OutputArrayR__voidX__voidX(self.as_raw_mut_FacemarkKazemi(), f_trampoline, user_data) }.into_result()
}
fn get_faces(&mut self, image: &dyn core::ToInputArray, faces: &mut dyn core::ToOutputArray) -> Result<bool> {
input_array_arg!(image);
output_array_arg!(faces);
unsafe { sys::cv_face_FacemarkKazemi_getFaces_const__InputArrayR_const__OutputArrayR(self.as_raw_mut_FacemarkKazemi(), image.as_raw__InputArray(), faces.as_raw__OutputArray()) }.into_result()
}
}
impl dyn FacemarkKazemi + '_ {
pub fn create(parameters: &crate::face::FacemarkKazemi_Params) -> Result<core::Ptr::<dyn crate::face::FacemarkKazemi>> {
unsafe { sys::cv_face_FacemarkKazemi_create_const_ParamsR(parameters.as_raw_FacemarkKazemi_Params()) }.into_result().map(|r| unsafe { core::Ptr::<dyn crate::face::FacemarkKazemi>::opencv_from_extern(r) } )
}
}
pub trait FacemarkKazemi_ParamsTrait {
fn as_raw_FacemarkKazemi_Params(&self) -> *const c_void;
fn as_raw_mut_FacemarkKazemi_Params(&mut self) -> *mut c_void;
fn cascade_depth(&self) -> u32 {
unsafe { sys::cv_face_FacemarkKazemi_Params_getPropCascade_depth_const(self.as_raw_FacemarkKazemi_Params()) }.into_result().expect("Infallible function failed: cascade_depth")
}
fn set_cascade_depth(&mut self, val: u32) -> () {
unsafe { sys::cv_face_FacemarkKazemi_Params_setPropCascade_depth_unsigned_long(self.as_raw_mut_FacemarkKazemi_Params(), val) }.into_result().expect("Infallible function failed: set_cascade_depth")
}
fn tree_depth(&self) -> u32 {
unsafe { sys::cv_face_FacemarkKazemi_Params_getPropTree_depth_const(self.as_raw_FacemarkKazemi_Params()) }.into_result().expect("Infallible function failed: tree_depth")
}
fn set_tree_depth(&mut self, val: u32) -> () {
unsafe { sys::cv_face_FacemarkKazemi_Params_setPropTree_depth_unsigned_long(self.as_raw_mut_FacemarkKazemi_Params(), val) }.into_result().expect("Infallible function failed: set_tree_depth")
}
fn num_trees_per_cascade_level(&self) -> u32 {
unsafe { sys::cv_face_FacemarkKazemi_Params_getPropNum_trees_per_cascade_level_const(self.as_raw_FacemarkKazemi_Params()) }.into_result().expect("Infallible function failed: num_trees_per_cascade_level")
}
fn set_num_trees_per_cascade_level(&mut self, val: u32) -> () {
unsafe { sys::cv_face_FacemarkKazemi_Params_setPropNum_trees_per_cascade_level_unsigned_long(self.as_raw_mut_FacemarkKazemi_Params(), val) }.into_result().expect("Infallible function failed: set_num_trees_per_cascade_level")
}
fn learning_rate(&self) -> f32 {
unsafe { sys::cv_face_FacemarkKazemi_Params_getPropLearning_rate_const(self.as_raw_FacemarkKazemi_Params()) }.into_result().expect("Infallible function failed: learning_rate")
}
fn set_learning_rate(&mut self, val: f32) -> () {
unsafe { sys::cv_face_FacemarkKazemi_Params_setPropLearning_rate_float(self.as_raw_mut_FacemarkKazemi_Params(), val) }.into_result().expect("Infallible function failed: set_learning_rate")
}
fn oversampling_amount(&self) -> u32 {
unsafe { sys::cv_face_FacemarkKazemi_Params_getPropOversampling_amount_const(self.as_raw_FacemarkKazemi_Params()) }.into_result().expect("Infallible function failed: oversampling_amount")
}
fn set_oversampling_amount(&mut self, val: u32) -> () {
unsafe { sys::cv_face_FacemarkKazemi_Params_setPropOversampling_amount_unsigned_long(self.as_raw_mut_FacemarkKazemi_Params(), val) }.into_result().expect("Infallible function failed: set_oversampling_amount")
}
fn num_test_coordinates(&self) -> u32 {
unsafe { sys::cv_face_FacemarkKazemi_Params_getPropNum_test_coordinates_const(self.as_raw_FacemarkKazemi_Params()) }.into_result().expect("Infallible function failed: num_test_coordinates")
}
fn set_num_test_coordinates(&mut self, val: u32) -> () {
unsafe { sys::cv_face_FacemarkKazemi_Params_setPropNum_test_coordinates_unsigned_long(self.as_raw_mut_FacemarkKazemi_Params(), val) }.into_result().expect("Infallible function failed: set_num_test_coordinates")
}
fn lambda(&self) -> f32 {
unsafe { sys::cv_face_FacemarkKazemi_Params_getPropLambda_const(self.as_raw_FacemarkKazemi_Params()) }.into_result().expect("Infallible function failed: lambda")
}
fn set_lambda(&mut self, val: f32) -> () {
unsafe { sys::cv_face_FacemarkKazemi_Params_setPropLambda_float(self.as_raw_mut_FacemarkKazemi_Params(), val) }.into_result().expect("Infallible function failed: set_lambda")
}
fn num_test_splits(&self) -> u32 {
unsafe { sys::cv_face_FacemarkKazemi_Params_getPropNum_test_splits_const(self.as_raw_FacemarkKazemi_Params()) }.into_result().expect("Infallible function failed: num_test_splits")
}
fn set_num_test_splits(&mut self, val: u32) -> () {
unsafe { sys::cv_face_FacemarkKazemi_Params_setPropNum_test_splits_unsigned_long(self.as_raw_mut_FacemarkKazemi_Params(), val) }.into_result().expect("Infallible function failed: set_num_test_splits")
}
fn configfile(&self) -> String {
unsafe { sys::cv_face_FacemarkKazemi_Params_getPropConfigfile_const(self.as_raw_FacemarkKazemi_Params()) }.into_result().map(|r| unsafe { String::opencv_from_extern(r) } ).expect("Infallible function failed: configfile")
}
fn set_configfile(&mut self, val: &str) -> () {
extern_container_arg!(nofail mut val);
unsafe { sys::cv_face_FacemarkKazemi_Params_setPropConfigfile_String(self.as_raw_mut_FacemarkKazemi_Params(), val.opencv_as_extern_mut()) }.into_result().expect("Infallible function failed: set_configfile")
}
}
pub struct FacemarkKazemi_Params {
ptr: *mut c_void
}
opencv_type_boxed! { FacemarkKazemi_Params }
impl Drop for FacemarkKazemi_Params {
fn drop(&mut self) {
extern "C" { fn cv_FacemarkKazemi_Params_delete(instance: *mut c_void); }
unsafe { cv_FacemarkKazemi_Params_delete(self.as_raw_mut_FacemarkKazemi_Params()) };
}
}
impl FacemarkKazemi_Params {
#[inline] pub fn as_raw_FacemarkKazemi_Params(&self) -> *const c_void { self.as_raw() }
#[inline] pub fn as_raw_mut_FacemarkKazemi_Params(&mut self) -> *mut c_void { self.as_raw_mut() }
}
unsafe impl Send for FacemarkKazemi_Params {}
impl crate::face::FacemarkKazemi_ParamsTrait for FacemarkKazemi_Params {
#[inline] fn as_raw_FacemarkKazemi_Params(&self) -> *const c_void { self.as_raw() }
#[inline] fn as_raw_mut_FacemarkKazemi_Params(&mut self) -> *mut c_void { self.as_raw_mut() }
}
impl FacemarkKazemi_Params {
pub fn default() -> Result<crate::face::FacemarkKazemi_Params> {
unsafe { sys::cv_face_FacemarkKazemi_Params_Params() }.into_result().map(|r| unsafe { crate::face::FacemarkKazemi_Params::opencv_from_extern(r) } )
}
}
pub trait FacemarkLBF: crate::face::FacemarkTrain {
fn as_raw_FacemarkLBF(&self) -> *const c_void;
fn as_raw_mut_FacemarkLBF(&mut self) -> *mut c_void;
}
impl dyn FacemarkLBF + '_ {
pub fn create(parameters: &crate::face::FacemarkLBF_Params) -> Result<core::Ptr::<dyn crate::face::FacemarkLBF>> {
unsafe { sys::cv_face_FacemarkLBF_create_const_ParamsR(parameters.as_raw_FacemarkLBF_Params()) }.into_result().map(|r| unsafe { core::Ptr::<dyn crate::face::FacemarkLBF>::opencv_from_extern(r) } )
}
}
pub trait FacemarkLBF_ParamsTrait {
fn as_raw_FacemarkLBF_Params(&self) -> *const c_void;
fn as_raw_mut_FacemarkLBF_Params(&mut self) -> *mut c_void;
fn shape_offset(&self) -> f64 {
unsafe { sys::cv_face_FacemarkLBF_Params_getPropShape_offset_const(self.as_raw_FacemarkLBF_Params()) }.into_result().expect("Infallible function failed: shape_offset")
}
fn set_shape_offset(&mut self, val: f64) -> () {
unsafe { sys::cv_face_FacemarkLBF_Params_setPropShape_offset_double(self.as_raw_mut_FacemarkLBF_Params(), val) }.into_result().expect("Infallible function failed: set_shape_offset")
}
fn cascade_face(&self) -> String {
unsafe { sys::cv_face_FacemarkLBF_Params_getPropCascade_face_const(self.as_raw_FacemarkLBF_Params()) }.into_result().map(|r| unsafe { String::opencv_from_extern(r) } ).expect("Infallible function failed: cascade_face")
}
fn set_cascade_face(&mut self, val: &str) -> () {
extern_container_arg!(nofail mut val);
unsafe { sys::cv_face_FacemarkLBF_Params_setPropCascade_face_String(self.as_raw_mut_FacemarkLBF_Params(), val.opencv_as_extern_mut()) }.into_result().expect("Infallible function failed: set_cascade_face")
}
fn verbose(&self) -> bool {
unsafe { sys::cv_face_FacemarkLBF_Params_getPropVerbose_const(self.as_raw_FacemarkLBF_Params()) }.into_result().expect("Infallible function failed: verbose")
}
fn set_verbose(&mut self, val: bool) -> () {
unsafe { sys::cv_face_FacemarkLBF_Params_setPropVerbose_bool(self.as_raw_mut_FacemarkLBF_Params(), val) }.into_result().expect("Infallible function failed: set_verbose")
}
fn n_landmarks(&self) -> i32 {
unsafe { sys::cv_face_FacemarkLBF_Params_getPropN_landmarks_const(self.as_raw_FacemarkLBF_Params()) }.into_result().expect("Infallible function failed: n_landmarks")
}
fn set_n_landmarks(&mut self, val: i32) -> () {
unsafe { sys::cv_face_FacemarkLBF_Params_setPropN_landmarks_int(self.as_raw_mut_FacemarkLBF_Params(), val) }.into_result().expect("Infallible function failed: set_n_landmarks")
}
fn init_shape_n(&self) -> i32 {
unsafe { sys::cv_face_FacemarkLBF_Params_getPropInitShape_n_const(self.as_raw_FacemarkLBF_Params()) }.into_result().expect("Infallible function failed: init_shape_n")
}
fn set_init_shape_n(&mut self, val: i32) -> () {
unsafe { sys::cv_face_FacemarkLBF_Params_setPropInitShape_n_int(self.as_raw_mut_FacemarkLBF_Params(), val) }.into_result().expect("Infallible function failed: set_init_shape_n")
}
fn stages_n(&self) -> i32 {
unsafe { sys::cv_face_FacemarkLBF_Params_getPropStages_n_const(self.as_raw_FacemarkLBF_Params()) }.into_result().expect("Infallible function failed: stages_n")
}
fn set_stages_n(&mut self, val: i32) -> () {
unsafe { sys::cv_face_FacemarkLBF_Params_setPropStages_n_int(self.as_raw_mut_FacemarkLBF_Params(), val) }.into_result().expect("Infallible function failed: set_stages_n")
}
fn tree_n(&self) -> i32 {
unsafe { sys::cv_face_FacemarkLBF_Params_getPropTree_n_const(self.as_raw_FacemarkLBF_Params()) }.into_result().expect("Infallible function failed: tree_n")
}
fn set_tree_n(&mut self, val: i32) -> () {
unsafe { sys::cv_face_FacemarkLBF_Params_setPropTree_n_int(self.as_raw_mut_FacemarkLBF_Params(), val) }.into_result().expect("Infallible function failed: set_tree_n")
}
fn tree_depth(&self) -> i32 {
unsafe { sys::cv_face_FacemarkLBF_Params_getPropTree_depth_const(self.as_raw_FacemarkLBF_Params()) }.into_result().expect("Infallible function failed: tree_depth")
}
fn set_tree_depth(&mut self, val: i32) -> () {
unsafe { sys::cv_face_FacemarkLBF_Params_setPropTree_depth_int(self.as_raw_mut_FacemarkLBF_Params(), val) }.into_result().expect("Infallible function failed: set_tree_depth")
}
fn bagging_overlap(&self) -> f64 {
unsafe { sys::cv_face_FacemarkLBF_Params_getPropBagging_overlap_const(self.as_raw_FacemarkLBF_Params()) }.into_result().expect("Infallible function failed: bagging_overlap")
}
fn set_bagging_overlap(&mut self, val: f64) -> () {
unsafe { sys::cv_face_FacemarkLBF_Params_setPropBagging_overlap_double(self.as_raw_mut_FacemarkLBF_Params(), val) }.into_result().expect("Infallible function failed: set_bagging_overlap")
}
fn model_filename(&self) -> String {
unsafe { sys::cv_face_FacemarkLBF_Params_getPropModel_filename_const(self.as_raw_FacemarkLBF_Params()) }.into_result().map(|r| unsafe { String::opencv_from_extern(r) } ).expect("Infallible function failed: model_filename")
}
fn set_model_filename(&mut self, val: &str) -> () {
extern_container_arg!(nofail mut val);
unsafe { sys::cv_face_FacemarkLBF_Params_setPropModel_filename_string(self.as_raw_mut_FacemarkLBF_Params(), val.opencv_as_extern_mut()) }.into_result().expect("Infallible function failed: set_model_filename")
}
fn save_model(&self) -> bool {
unsafe { sys::cv_face_FacemarkLBF_Params_getPropSave_model_const(self.as_raw_FacemarkLBF_Params()) }.into_result().expect("Infallible function failed: save_model")
}
fn set_save_model(&mut self, val: bool) -> () {
unsafe { sys::cv_face_FacemarkLBF_Params_setPropSave_model_bool(self.as_raw_mut_FacemarkLBF_Params(), val) }.into_result().expect("Infallible function failed: set_save_model")
}
fn seed(&self) -> u32 {
unsafe { sys::cv_face_FacemarkLBF_Params_getPropSeed_const(self.as_raw_FacemarkLBF_Params()) }.into_result().expect("Infallible function failed: seed")
}
fn set_seed(&mut self, val: u32) -> () {
unsafe { sys::cv_face_FacemarkLBF_Params_setPropSeed_unsigned_int(self.as_raw_mut_FacemarkLBF_Params(), val) }.into_result().expect("Infallible function failed: set_seed")
}
fn feats_m(&mut self) -> core::Vector::<i32> {
unsafe { sys::cv_face_FacemarkLBF_Params_getPropFeats_m(self.as_raw_mut_FacemarkLBF_Params()) }.into_result().map(|r| unsafe { core::Vector::<i32>::opencv_from_extern(r) } ).expect("Infallible function failed: feats_m")
}
fn set_feats_m(&mut self, mut val: core::Vector::<i32>) -> () {
unsafe { sys::cv_face_FacemarkLBF_Params_setPropFeats_m_vector_int_(self.as_raw_mut_FacemarkLBF_Params(), val.as_raw_mut_VectorOfi32()) }.into_result().expect("Infallible function failed: set_feats_m")
}
fn radius_m(&mut self) -> core::Vector::<f64> {
unsafe { sys::cv_face_FacemarkLBF_Params_getPropRadius_m(self.as_raw_mut_FacemarkLBF_Params()) }.into_result().map(|r| unsafe { core::Vector::<f64>::opencv_from_extern(r) } ).expect("Infallible function failed: radius_m")
}
fn set_radius_m(&mut self, mut val: core::Vector::<f64>) -> () {
unsafe { sys::cv_face_FacemarkLBF_Params_setPropRadius_m_vector_double_(self.as_raw_mut_FacemarkLBF_Params(), val.as_raw_mut_VectorOff64()) }.into_result().expect("Infallible function failed: set_radius_m")
}
fn detect_roi(&self) -> core::Rect {
unsafe { sys::cv_face_FacemarkLBF_Params_getPropDetectROI_const(self.as_raw_FacemarkLBF_Params()) }.into_result().expect("Infallible function failed: detect_roi")
}
fn set_detect_roi(&mut self, val: core::Rect) -> () {
unsafe { sys::cv_face_FacemarkLBF_Params_setPropDetectROI_Rect(self.as_raw_mut_FacemarkLBF_Params(), val.opencv_as_extern()) }.into_result().expect("Infallible function failed: set_detect_roi")
}
fn read(&mut self, unnamed: &core::FileNode) -> Result<()> {
unsafe { sys::cv_face_FacemarkLBF_Params_read_const_FileNodeR(self.as_raw_mut_FacemarkLBF_Params(), unnamed.as_raw_FileNode()) }.into_result()
}
fn write(&self, unnamed: &mut core::FileStorage) -> Result<()> {
unsafe { sys::cv_face_FacemarkLBF_Params_write_const_FileStorageR(self.as_raw_FacemarkLBF_Params(), unnamed.as_raw_mut_FileStorage()) }.into_result()
}
}
pub struct FacemarkLBF_Params {
ptr: *mut c_void
}
opencv_type_boxed! { FacemarkLBF_Params }
impl Drop for FacemarkLBF_Params {
fn drop(&mut self) {
extern "C" { fn cv_FacemarkLBF_Params_delete(instance: *mut c_void); }
unsafe { cv_FacemarkLBF_Params_delete(self.as_raw_mut_FacemarkLBF_Params()) };
}
}
impl FacemarkLBF_Params {
#[inline] pub fn as_raw_FacemarkLBF_Params(&self) -> *const c_void { self.as_raw() }
#[inline] pub fn as_raw_mut_FacemarkLBF_Params(&mut self) -> *mut c_void { self.as_raw_mut() }
}
unsafe impl Send for FacemarkLBF_Params {}
impl crate::face::FacemarkLBF_ParamsTrait for FacemarkLBF_Params {
#[inline] fn as_raw_FacemarkLBF_Params(&self) -> *const c_void { self.as_raw() }
#[inline] fn as_raw_mut_FacemarkLBF_Params(&mut self) -> *mut c_void { self.as_raw_mut() }
}
impl FacemarkLBF_Params {
pub fn default() -> Result<crate::face::FacemarkLBF_Params> {
unsafe { sys::cv_face_FacemarkLBF_Params_Params() }.into_result().map(|r| unsafe { crate::face::FacemarkLBF_Params::opencv_from_extern(r) } )
}
}
pub trait FacemarkTrain: crate::face::Facemark {
fn as_raw_FacemarkTrain(&self) -> *const c_void;
fn as_raw_mut_FacemarkTrain(&mut self) -> *mut c_void;
fn add_training_sample(&mut self, image: &dyn core::ToInputArray, landmarks: &dyn core::ToInputArray) -> Result<bool> {
input_array_arg!(image);
input_array_arg!(landmarks);
unsafe { sys::cv_face_FacemarkTrain_addTrainingSample_const__InputArrayR_const__InputArrayR(self.as_raw_mut_FacemarkTrain(), image.as_raw__InputArray(), landmarks.as_raw__InputArray()) }.into_result()
}
fn training(&mut self, parameters: *mut c_void) -> Result<()> {
unsafe { sys::cv_face_FacemarkTrain_training_voidX(self.as_raw_mut_FacemarkTrain(), parameters) }.into_result()
}
fn set_face_detector(&mut self, detector: crate::face::FN_FaceDetector) -> Result<bool> {
callback_arg!(detector_trampoline(unnamed: *const c_void, unnamed_1: *const c_void, user_data: *mut c_void) -> bool => user_data in callbacks => detector(unnamed: *const c_void, unnamed_1: *const c_void) -> bool);
userdata_arg!(user_data in callbacks => detector);
unsafe { sys::cv_face_FacemarkTrain_setFaceDetector_FN_FaceDetector_voidX(self.as_raw_mut_FacemarkTrain(), detector_trampoline, user_data) }.into_result()
}
fn get_faces(&mut self, image: &dyn core::ToInputArray, faces: &mut dyn core::ToOutputArray) -> Result<bool> {
input_array_arg!(image);
output_array_arg!(faces);
unsafe { sys::cv_face_FacemarkTrain_getFaces_const__InputArrayR_const__OutputArrayR(self.as_raw_mut_FacemarkTrain(), image.as_raw__InputArray(), faces.as_raw__OutputArray()) }.into_result()
}
fn get_data(&mut self, items: *mut c_void) -> Result<bool> {
unsafe { sys::cv_face_FacemarkTrain_getData_voidX(self.as_raw_mut_FacemarkTrain(), items) }.into_result()
}
}
pub trait FisherFaceRecognizer: crate::face::BasicFaceRecognizer {
fn as_raw_FisherFaceRecognizer(&self) -> *const c_void;
fn as_raw_mut_FisherFaceRecognizer(&mut self) -> *mut c_void;
}
impl dyn FisherFaceRecognizer + '_ {
pub fn create(num_components: i32, threshold: f64) -> Result<core::Ptr::<dyn crate::face::FisherFaceRecognizer>> {
unsafe { sys::cv_face_FisherFaceRecognizer_create_int_double(num_components, threshold) }.into_result().map(|r| unsafe { core::Ptr::<dyn crate::face::FisherFaceRecognizer>::opencv_from_extern(r) } )
}
}
pub trait LBPHFaceRecognizer: crate::face::FaceRecognizer {
fn as_raw_LBPHFaceRecognizer(&self) -> *const c_void;
fn as_raw_mut_LBPHFaceRecognizer(&mut self) -> *mut c_void;
fn get_grid_x(&self) -> Result<i32> {
unsafe { sys::cv_face_LBPHFaceRecognizer_getGridX_const(self.as_raw_LBPHFaceRecognizer()) }.into_result()
}
fn set_grid_x(&mut self, val: i32) -> Result<()> {
unsafe { sys::cv_face_LBPHFaceRecognizer_setGridX_int(self.as_raw_mut_LBPHFaceRecognizer(), val) }.into_result()
}
fn get_grid_y(&self) -> Result<i32> {
unsafe { sys::cv_face_LBPHFaceRecognizer_getGridY_const(self.as_raw_LBPHFaceRecognizer()) }.into_result()
}
fn set_grid_y(&mut self, val: i32) -> Result<()> {
unsafe { sys::cv_face_LBPHFaceRecognizer_setGridY_int(self.as_raw_mut_LBPHFaceRecognizer(), val) }.into_result()
}
fn get_radius(&self) -> Result<i32> {
unsafe { sys::cv_face_LBPHFaceRecognizer_getRadius_const(self.as_raw_LBPHFaceRecognizer()) }.into_result()
}
fn set_radius(&mut self, val: i32) -> Result<()> {
unsafe { sys::cv_face_LBPHFaceRecognizer_setRadius_int(self.as_raw_mut_LBPHFaceRecognizer(), val) }.into_result()
}
fn get_neighbors(&self) -> Result<i32> {
unsafe { sys::cv_face_LBPHFaceRecognizer_getNeighbors_const(self.as_raw_LBPHFaceRecognizer()) }.into_result()
}
fn set_neighbors(&mut self, val: i32) -> Result<()> {
unsafe { sys::cv_face_LBPHFaceRecognizer_setNeighbors_int(self.as_raw_mut_LBPHFaceRecognizer(), val) }.into_result()
}
fn get_threshold(&self) -> Result<f64> {
unsafe { sys::cv_face_LBPHFaceRecognizer_getThreshold_const(self.as_raw_LBPHFaceRecognizer()) }.into_result()
}
fn set_threshold(&mut self, val: f64) -> Result<()> {
unsafe { sys::cv_face_LBPHFaceRecognizer_setThreshold_double(self.as_raw_mut_LBPHFaceRecognizer(), val) }.into_result()
}
fn get_histograms(&self) -> Result<core::Vector::<core::Mat>> {
unsafe { sys::cv_face_LBPHFaceRecognizer_getHistograms_const(self.as_raw_LBPHFaceRecognizer()) }.into_result().map(|r| unsafe { core::Vector::<core::Mat>::opencv_from_extern(r) } )
}
fn get_labels(&self) -> Result<core::Mat> {
unsafe { sys::cv_face_LBPHFaceRecognizer_getLabels_const(self.as_raw_LBPHFaceRecognizer()) }.into_result().map(|r| unsafe { core::Mat::opencv_from_extern(r) } )
}
}
impl dyn LBPHFaceRecognizer + '_ {
pub fn create(radius: i32, neighbors: i32, grid_x: i32, grid_y: i32, threshold: f64) -> Result<core::Ptr::<dyn crate::face::LBPHFaceRecognizer>> {
unsafe { sys::cv_face_LBPHFaceRecognizer_create_int_int_int_int_double(radius, neighbors, grid_x, grid_y, threshold) }.into_result().map(|r| unsafe { core::Ptr::<dyn crate::face::LBPHFaceRecognizer>::opencv_from_extern(r) } )
}
}
pub trait MACE: core::AlgorithmTrait {
fn as_raw_MACE(&self) -> *const c_void;
fn as_raw_mut_MACE(&mut self) -> *mut c_void;
fn salt(&mut self, passphrase: &str) -> Result<()> {
extern_container_arg!(passphrase);
unsafe { sys::cv_face_MACE_salt_const_StringR(self.as_raw_mut_MACE(), passphrase.opencv_as_extern()) }.into_result()
}
fn train(&mut self, images: &dyn core::ToInputArray) -> Result<()> {
input_array_arg!(images);
unsafe { sys::cv_face_MACE_train_const__InputArrayR(self.as_raw_mut_MACE(), images.as_raw__InputArray()) }.into_result()
}
fn same(&self, query: &dyn core::ToInputArray) -> Result<bool> {
input_array_arg!(query);
unsafe { sys::cv_face_MACE_same_const_const__InputArrayR(self.as_raw_MACE(), query.as_raw__InputArray()) }.into_result()
}
}
impl dyn MACE + '_ {
pub fn load(filename: &str, objname: &str) -> Result<core::Ptr::<dyn crate::face::MACE>> {
extern_container_arg!(filename);
extern_container_arg!(objname);
unsafe { sys::cv_face_MACE_load_const_StringR_const_StringR(filename.opencv_as_extern(), objname.opencv_as_extern()) }.into_result().map(|r| unsafe { core::Ptr::<dyn crate::face::MACE>::opencv_from_extern(r) } )
}
pub fn create(imgsize: i32) -> Result<core::Ptr::<dyn crate::face::MACE>> {
unsafe { sys::cv_face_MACE_create_int(imgsize) }.into_result().map(|r| unsafe { core::Ptr::<dyn crate::face::MACE>::opencv_from_extern(r) } )
}
}
pub trait PredictCollector {
fn as_raw_PredictCollector(&self) -> *const c_void;
fn as_raw_mut_PredictCollector(&mut self) -> *mut c_void;
fn init(&mut self, size: size_t) -> Result<()> {
unsafe { sys::cv_face_PredictCollector_init_size_t(self.as_raw_mut_PredictCollector(), size) }.into_result()
}
fn collect(&mut self, label: i32, dist: f64) -> Result<bool> {
unsafe { sys::cv_face_PredictCollector_collect_int_double(self.as_raw_mut_PredictCollector(), label, dist) }.into_result()
}
}
pub trait StandardCollectorTrait: crate::face::PredictCollector {
fn as_raw_StandardCollector(&self) -> *const c_void;
fn as_raw_mut_StandardCollector(&mut self) -> *mut c_void;
fn init(&mut self, size: size_t) -> Result<()> {
unsafe { sys::cv_face_StandardCollector_init_size_t(self.as_raw_mut_StandardCollector(), size) }.into_result()
}
fn collect(&mut self, label: i32, dist: f64) -> Result<bool> {
unsafe { sys::cv_face_StandardCollector_collect_int_double(self.as_raw_mut_StandardCollector(), label, dist) }.into_result()
}
fn get_min_label(&self) -> Result<i32> {
unsafe { sys::cv_face_StandardCollector_getMinLabel_const(self.as_raw_StandardCollector()) }.into_result()
}
fn get_min_dist(&self) -> Result<f64> {
unsafe { sys::cv_face_StandardCollector_getMinDist_const(self.as_raw_StandardCollector()) }.into_result()
}
}
pub struct StandardCollector {
ptr: *mut c_void
}
opencv_type_boxed! { StandardCollector }
impl Drop for StandardCollector {
fn drop(&mut self) {
extern "C" { fn cv_StandardCollector_delete(instance: *mut c_void); }
unsafe { cv_StandardCollector_delete(self.as_raw_mut_StandardCollector()) };
}
}
impl StandardCollector {
#[inline] pub fn as_raw_StandardCollector(&self) -> *const c_void { self.as_raw() }
#[inline] pub fn as_raw_mut_StandardCollector(&mut self) -> *mut c_void { self.as_raw_mut() }
}
unsafe impl Send for StandardCollector {}
impl crate::face::PredictCollector for StandardCollector {
#[inline] fn as_raw_PredictCollector(&self) -> *const c_void { self.as_raw() }
#[inline] fn as_raw_mut_PredictCollector(&mut self) -> *mut c_void { self.as_raw_mut() }
}
impl crate::face::StandardCollectorTrait for StandardCollector {
#[inline] fn as_raw_StandardCollector(&self) -> *const c_void { self.as_raw() }
#[inline] fn as_raw_mut_StandardCollector(&mut self) -> *mut c_void { self.as_raw_mut() }
}
impl StandardCollector {
pub fn new(threshold_: f64) -> Result<crate::face::StandardCollector> {
unsafe { sys::cv_face_StandardCollector_StandardCollector_double(threshold_) }.into_result().map(|r| unsafe { crate::face::StandardCollector::opencv_from_extern(r) } )
}
pub fn create(threshold: f64) -> Result<core::Ptr::<crate::face::StandardCollector>> {
unsafe { sys::cv_face_StandardCollector_create_double(threshold) }.into_result().map(|r| unsafe { core::Ptr::<crate::face::StandardCollector>::opencv_from_extern(r) } )
}
}
#[repr(C)]
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct StandardCollector_PredictResult {
pub label: i32,
pub distance: f64,
}
opencv_type_simple! { crate::face::StandardCollector_PredictResult }
impl StandardCollector_PredictResult {
pub fn new(label_: i32, distance_: f64) -> Result<crate::face::StandardCollector_PredictResult> {
unsafe { sys::cv_face_StandardCollector_PredictResult_PredictResult_int_double(label_, distance_) }.into_result()
}
}