use std::os::raw::{c_char, c_void};
use libc::size_t;
use crate::{Error, Result, core, sys, types};
pub trait HistogramPhaseUnwrapping : crate::phase_unwrapping::PhaseUnwrapping {
#[doc(hidden)] fn as_raw_HistogramPhaseUnwrapping(&self) -> *mut c_void;
fn get_inverse_reliability_map(&mut self, reliability_map: &mut core::Mat) -> Result<()> {
unsafe { sys::cv_phase_unwrapping_HistogramPhaseUnwrapping_getInverseReliabilityMap_Mat(self.as_raw_HistogramPhaseUnwrapping(), reliability_map.as_raw_Mat()) }.into_result()
}
}
impl<'a> HistogramPhaseUnwrapping + 'a {
pub fn create(parameters: &crate::phase_unwrapping::HistogramPhaseUnwrapping_Params) -> Result<types::PtrOfHistogramPhaseUnwrapping> {
unsafe { sys::cv_phase_unwrapping_HistogramPhaseUnwrapping_create_Params(parameters.as_raw_HistogramPhaseUnwrapping_Params()) }.into_result().map(|x| types::PtrOfHistogramPhaseUnwrapping { ptr: x })
}
}
#[allow(dead_code)]
pub struct HistogramPhaseUnwrapping_Params {
#[doc(hidden)] pub(crate) ptr: *mut c_void
}
impl Drop for crate::phase_unwrapping::HistogramPhaseUnwrapping_Params {
fn drop(&mut self) {
unsafe { sys::cv_HistogramPhaseUnwrapping_Params_delete(self.ptr) };
}
}
impl crate::phase_unwrapping::HistogramPhaseUnwrapping_Params {
pub fn as_raw_HistogramPhaseUnwrapping_Params(&self) -> *mut c_void { self.ptr }
pub unsafe fn from_raw_ptr(ptr: *mut c_void) -> Self {
HistogramPhaseUnwrapping_Params {
ptr
}
}
}
impl HistogramPhaseUnwrapping_Params {
pub fn new() -> Result<crate::phase_unwrapping::HistogramPhaseUnwrapping_Params> {
unsafe { sys::cv_phase_unwrapping_HistogramPhaseUnwrapping_Params_Params() }.into_result().map(|x| crate::phase_unwrapping::HistogramPhaseUnwrapping_Params { ptr: x })
}
}
pub trait PhaseUnwrapping : core::Algorithm {
#[doc(hidden)] fn as_raw_PhaseUnwrapping(&self) -> *mut c_void;
fn unwrap_phase_map(&mut self, wrapped_phase_map: &core::Mat, unwrapped_phase_map: &mut core::Mat, shadow_mask: &core::Mat) -> Result<()> {
unsafe { sys::cv_phase_unwrapping_PhaseUnwrapping_unwrapPhaseMap_Mat_Mat_Mat(self.as_raw_PhaseUnwrapping(), wrapped_phase_map.as_raw_Mat(), unwrapped_phase_map.as_raw_Mat(), shadow_mask.as_raw_Mat()) }.into_result()
}
}
impl<'a> PhaseUnwrapping + 'a {
}