use std::os::raw::{c_char, c_void};
use libc::{ptrdiff_t, size_t};
use crate::{Error, Result, core, sys, types};
pub trait HistogramPhaseUnwrapping: crate::phase_unwrapping::PhaseUnwrapping {
#[inline(always)] 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 dyn HistogramPhaseUnwrapping + '_ {
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(|ptr| types::PtrOfHistogramPhaseUnwrapping { ptr })
}
}
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 {
#[inline(always)] pub fn as_raw_HistogramPhaseUnwrapping_Params(&self) -> *mut c_void { self.ptr }
pub unsafe fn from_raw_ptr(ptr: *mut c_void) -> Self {
Self { ptr }
}
}
unsafe impl Send for HistogramPhaseUnwrapping_Params {}
impl HistogramPhaseUnwrapping_Params {
pub fn default() -> Result<crate::phase_unwrapping::HistogramPhaseUnwrapping_Params> {
unsafe { sys::cv_phase_unwrapping_HistogramPhaseUnwrapping_Params_Params() }.into_result().map(|ptr| crate::phase_unwrapping::HistogramPhaseUnwrapping_Params { ptr })
}
}
pub trait PhaseUnwrapping: core::Algorithm {
#[inline(always)] 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()
}
}