use std::os::raw::{c_char, c_void};
use libc::size_t;
use crate::{Error, Result, core, sys, types};
pub const CV_INPAINT_NS: i32 = 0;
pub const CV_INPAINT_TELEA: i32 = 1;
pub const INPAINT_NS: i32 = 0;
pub const INPAINT_TELEA: i32 = 1;
pub const LDR_SIZE: i32 = 256;
pub const MIXED_CLONE: i32 = 2;
pub const MONOCHROME_TRANSFER: i32 = 3;
pub const NORMAL_CLONE: i32 = 1;
pub const NORMCONV_FILTER: i32 = 2;
pub const RECURS_FILTER: i32 = 1;
pub fn color_change(src: &core::Mat, mask: &core::Mat, dst: &mut core::Mat, red_mul: f32, green_mul: f32, blue_mul: f32) -> Result<()> {
unsafe { sys::cv_photo_cv_colorChange_Mat_src_Mat_mask_Mat_dst_float_red_mul_float_green_mul_float_blue_mul(src.as_raw_Mat(), mask.as_raw_Mat(), dst.as_raw_Mat(), red_mul, green_mul, blue_mul) }.into_result()
}
pub fn create_align_mtb(max_bits: i32, exclude_range: i32, cut: bool) -> Result<types::PtrOfAlignMTB> {
unsafe { sys::cv_photo_cv_createAlignMTB_int_max_bits_int_exclude_range_bool_cut(max_bits, exclude_range, cut) }.into_result().map(|x| types::PtrOfAlignMTB { ptr: x })
}
pub fn create_calibrate_debevec(samples: i32, lambda: f32, random: bool) -> Result<types::PtrOfCalibrateDebevec> {
unsafe { sys::cv_photo_cv_createCalibrateDebevec_int_samples_float_lambda_bool_random(samples, lambda, random) }.into_result().map(|x| types::PtrOfCalibrateDebevec { ptr: x })
}
pub fn create_calibrate_robertson(max_iter: i32, threshold: f32) -> Result<types::PtrOfCalibrateRobertson> {
unsafe { sys::cv_photo_cv_createCalibrateRobertson_int_max_iter_float_threshold(max_iter, threshold) }.into_result().map(|x| types::PtrOfCalibrateRobertson { ptr: x })
}
pub fn create_merge_debevec() -> Result<types::PtrOfMergeDebevec> {
unsafe { sys::cv_photo_cv_createMergeDebevec() }.into_result().map(|x| types::PtrOfMergeDebevec { ptr: x })
}
pub fn create_merge_mertens(contrast_weight: f32, saturation_weight: f32, exposure_weight: f32) -> Result<types::PtrOfMergeMertens> {
unsafe { sys::cv_photo_cv_createMergeMertens_float_contrast_weight_float_saturation_weight_float_exposure_weight(contrast_weight, saturation_weight, exposure_weight) }.into_result().map(|x| types::PtrOfMergeMertens { ptr: x })
}
pub fn create_merge_robertson() -> Result<types::PtrOfMergeRobertson> {
unsafe { sys::cv_photo_cv_createMergeRobertson() }.into_result().map(|x| types::PtrOfMergeRobertson { ptr: x })
}
pub fn create_tonemap_drago(gamma: f32, saturation: f32, bias: f32) -> Result<types::PtrOfTonemapDrago> {
unsafe { sys::cv_photo_cv_createTonemapDrago_float_gamma_float_saturation_float_bias(gamma, saturation, bias) }.into_result().map(|x| types::PtrOfTonemapDrago { ptr: x })
}
pub fn create_tonemap_mantiuk(gamma: f32, scale: f32, saturation: f32) -> Result<types::PtrOfTonemapMantiuk> {
unsafe { sys::cv_photo_cv_createTonemapMantiuk_float_gamma_float_scale_float_saturation(gamma, scale, saturation) }.into_result().map(|x| types::PtrOfTonemapMantiuk { ptr: x })
}
pub fn create_tonemap_reinhard(gamma: f32, intensity: f32, light_adapt: f32, color_adapt: f32) -> Result<types::PtrOfTonemapReinhard> {
unsafe { sys::cv_photo_cv_createTonemapReinhard_float_gamma_float_intensity_float_light_adapt_float_color_adapt(gamma, intensity, light_adapt, color_adapt) }.into_result().map(|x| types::PtrOfTonemapReinhard { ptr: x })
}
pub fn create_tonemap(gamma: f32) -> Result<types::PtrOfTonemap> {
unsafe { sys::cv_photo_cv_createTonemap_float_gamma(gamma) }.into_result().map(|x| types::PtrOfTonemap { ptr: x })
}
pub fn decolor(src: &core::Mat, grayscale: &mut core::Mat, color_boost: &mut core::Mat) -> Result<()> {
unsafe { sys::cv_photo_cv_decolor_Mat_src_Mat_grayscale_Mat_color_boost(src.as_raw_Mat(), grayscale.as_raw_Mat(), color_boost.as_raw_Mat()) }.into_result()
}
pub fn denoise_tvl1(observations: &types::VectorOfMat, result: &core::Mat, lambda: f64, niters: i32) -> Result<()> {
unsafe { sys::cv_photo_cv_denoise_TVL1_VectorOfMat_observations_Mat_result_double_lambda_int_niters(observations.as_raw_VectorOfMat(), result.as_raw_Mat(), lambda, niters) }.into_result()
}
pub fn detail_enhance(src: &core::Mat, dst: &mut core::Mat, sigma_s: f32, sigma_r: f32) -> Result<()> {
unsafe { sys::cv_photo_cv_detailEnhance_Mat_src_Mat_dst_float_sigma_s_float_sigma_r(src.as_raw_Mat(), dst.as_raw_Mat(), sigma_s, sigma_r) }.into_result()
}
pub fn edge_preserving_filter(src: &core::Mat, dst: &mut core::Mat, flags: i32, sigma_s: f32, sigma_r: f32) -> Result<()> {
unsafe { sys::cv_photo_cv_edgePreservingFilter_Mat_src_Mat_dst_int_flags_float_sigma_s_float_sigma_r(src.as_raw_Mat(), dst.as_raw_Mat(), flags, sigma_s, sigma_r) }.into_result()
}
pub fn fast_nl_means_denoising_colored_multi(src_imgs: &types::VectorOfMat, dst: &mut core::Mat, img_to_denoise_index: i32, temporal_window_size: i32, h: f32, h_color: f32, template_window_size: i32, search_window_size: i32) -> Result<()> {
unsafe { sys::cv_photo_cv_fastNlMeansDenoisingColoredMulti_VectorOfMat_srcImgs_Mat_dst_int_imgToDenoiseIndex_int_temporalWindowSize_float_h_float_hColor_int_templateWindowSize_int_searchWindowSize(src_imgs.as_raw_VectorOfMat(), dst.as_raw_Mat(), img_to_denoise_index, temporal_window_size, h, h_color, template_window_size, search_window_size) }.into_result()
}
pub fn fast_nl_means_denoising_color(src: &core::Mat, dst: &mut core::Mat, h: f32, h_color: f32, template_window_size: i32, search_window_size: i32) -> Result<()> {
unsafe { sys::cv_photo_cv_fastNlMeansDenoisingColored_Mat_src_Mat_dst_float_h_float_hColor_int_templateWindowSize_int_searchWindowSize(src.as_raw_Mat(), dst.as_raw_Mat(), h, h_color, template_window_size, search_window_size) }.into_result()
}
pub fn fast_nl_means_denoising_multi(src_imgs: &types::VectorOfMat, dst: &mut core::Mat, img_to_denoise_index: i32, temporal_window_size: i32, h: &types::VectorOffloat, template_window_size: i32, search_window_size: i32, norm_type: i32) -> Result<()> {
unsafe { sys::cv_photo_cv_fastNlMeansDenoisingMulti_VectorOfMat_srcImgs_Mat_dst_int_imgToDenoiseIndex_int_temporalWindowSize_VectorOffloat_h_int_templateWindowSize_int_searchWindowSize_int_normType(src_imgs.as_raw_VectorOfMat(), dst.as_raw_Mat(), img_to_denoise_index, temporal_window_size, h.as_raw_VectorOffloat(), template_window_size, search_window_size, norm_type) }.into_result()
}
pub fn fast_nl_means_denoising_multi_1(src_imgs: &types::VectorOfMat, dst: &mut core::Mat, img_to_denoise_index: i32, temporal_window_size: i32, h: f32, template_window_size: i32, search_window_size: i32) -> Result<()> {
unsafe { sys::cv_photo_cv_fastNlMeansDenoisingMulti_VectorOfMat_srcImgs_Mat_dst_int_imgToDenoiseIndex_int_temporalWindowSize_float_h_int_templateWindowSize_int_searchWindowSize(src_imgs.as_raw_VectorOfMat(), dst.as_raw_Mat(), img_to_denoise_index, temporal_window_size, h, template_window_size, search_window_size) }.into_result()
}
pub fn fast_nl_means_denoising_vec(src: &core::Mat, dst: &mut core::Mat, h: &types::VectorOffloat, template_window_size: i32, search_window_size: i32, norm_type: i32) -> Result<()> {
unsafe { sys::cv_photo_cv_fastNlMeansDenoising_Mat_src_Mat_dst_VectorOffloat_h_int_templateWindowSize_int_searchWindowSize_int_normType(src.as_raw_Mat(), dst.as_raw_Mat(), h.as_raw_VectorOffloat(), template_window_size, search_window_size, norm_type) }.into_result()
}
pub fn fast_nl_means_denoising_window(src: &core::Mat, dst: &mut core::Mat, h: f32, template_window_size: i32, search_window_size: i32) -> Result<()> {
unsafe { sys::cv_photo_cv_fastNlMeansDenoising_Mat_src_Mat_dst_float_h_int_templateWindowSize_int_searchWindowSize(src.as_raw_Mat(), dst.as_raw_Mat(), h, template_window_size, search_window_size) }.into_result()
}
pub fn illumination_change(src: &core::Mat, mask: &core::Mat, dst: &mut core::Mat, alpha: f32, beta: f32) -> Result<()> {
unsafe { sys::cv_photo_cv_illuminationChange_Mat_src_Mat_mask_Mat_dst_float_alpha_float_beta(src.as_raw_Mat(), mask.as_raw_Mat(), dst.as_raw_Mat(), alpha, beta) }.into_result()
}
pub fn inpaint(src: &core::Mat, inpaint_mask: &core::Mat, dst: &mut core::Mat, inpaint_radius: f64, flags: i32) -> Result<()> {
unsafe { sys::cv_photo_cv_inpaint_Mat_src_Mat_inpaintMask_Mat_dst_double_inpaintRadius_int_flags(src.as_raw_Mat(), inpaint_mask.as_raw_Mat(), dst.as_raw_Mat(), inpaint_radius, flags) }.into_result()
}
pub fn pencil_sketch(src: &core::Mat, dst1: &mut core::Mat, dst2: &mut core::Mat, sigma_s: f32, sigma_r: f32, shade_factor: f32) -> Result<()> {
unsafe { sys::cv_photo_cv_pencilSketch_Mat_src_Mat_dst1_Mat_dst2_float_sigma_s_float_sigma_r_float_shade_factor(src.as_raw_Mat(), dst1.as_raw_Mat(), dst2.as_raw_Mat(), sigma_s, sigma_r, shade_factor) }.into_result()
}
pub fn seamless_clone(src: &core::Mat, dst: &core::Mat, mask: &core::Mat, p: core::Point, blend: &mut core::Mat, flags: i32) -> Result<()> {
unsafe { sys::cv_photo_cv_seamlessClone_Mat_src_Mat_dst_Mat_mask_Point_p_Mat_blend_int_flags(src.as_raw_Mat(), dst.as_raw_Mat(), mask.as_raw_Mat(), p, blend.as_raw_Mat(), flags) }.into_result()
}
pub fn stylization(src: &core::Mat, dst: &mut core::Mat, sigma_s: f32, sigma_r: f32) -> Result<()> {
unsafe { sys::cv_photo_cv_stylization_Mat_src_Mat_dst_float_sigma_s_float_sigma_r(src.as_raw_Mat(), dst.as_raw_Mat(), sigma_s, sigma_r) }.into_result()
}
pub fn texture_flattening(src: &core::Mat, mask: &core::Mat, dst: &mut core::Mat, low_threshold: f32, high_threshold: f32, kernel_size: i32) -> Result<()> {
unsafe { sys::cv_photo_cv_textureFlattening_Mat_src_Mat_mask_Mat_dst_float_low_threshold_float_high_threshold_int_kernel_size(src.as_raw_Mat(), mask.as_raw_Mat(), dst.as_raw_Mat(), low_threshold, high_threshold, kernel_size) }.into_result()
}
pub trait AlignExposures : core::Algorithm {
#[doc(hidden)] fn as_raw_AlignExposures(&self) -> *mut c_void;
fn process(&mut self, src: &types::VectorOfMat, dst: &types::VectorOfMat, times: &core::Mat, response: &core::Mat) -> Result<()> {
unsafe { sys::cv_photo_cv_AlignExposures_process_VectorOfMat_src_VectorOfMat_dst_Mat_times_Mat_response(self.as_raw_AlignExposures(), src.as_raw_VectorOfMat(), dst.as_raw_VectorOfMat(), times.as_raw_Mat(), response.as_raw_Mat()) }.into_result()
}
}
impl<'a> AlignExposures + 'a {
}
pub trait AlignMTB : crate::photo::AlignExposures {
#[doc(hidden)] fn as_raw_AlignMTB(&self) -> *mut c_void;
fn process_with_response(&mut self, src: &types::VectorOfMat, dst: &types::VectorOfMat, times: &core::Mat, response: &core::Mat) -> Result<()> {
unsafe { sys::cv_photo_cv_AlignMTB_process_VectorOfMat_src_VectorOfMat_dst_Mat_times_Mat_response(self.as_raw_AlignMTB(), src.as_raw_VectorOfMat(), dst.as_raw_VectorOfMat(), times.as_raw_Mat(), response.as_raw_Mat()) }.into_result()
}
fn process(&mut self, src: &types::VectorOfMat, dst: &types::VectorOfMat) -> Result<()> {
unsafe { sys::cv_photo_cv_AlignMTB_process_VectorOfMat_src_VectorOfMat_dst(self.as_raw_AlignMTB(), src.as_raw_VectorOfMat(), dst.as_raw_VectorOfMat()) }.into_result()
}
fn calculate_shift(&mut self, img0: &core::Mat, img1: &core::Mat) -> Result<core::Point> {
unsafe { sys::cv_photo_cv_AlignMTB_calculateShift_Mat_img0_Mat_img1(self.as_raw_AlignMTB(), img0.as_raw_Mat(), img1.as_raw_Mat()) }.into_result()
}
fn shift_mat(&mut self, src: &core::Mat, dst: &mut core::Mat, shift: core::Point) -> Result<()> {
unsafe { sys::cv_photo_cv_AlignMTB_shiftMat_Mat_src_Mat_dst_Point_shift(self.as_raw_AlignMTB(), src.as_raw_Mat(), dst.as_raw_Mat(), shift) }.into_result()
}
fn compute_bitmaps(&mut self, img: &core::Mat, tb: &mut core::Mat, eb: &mut core::Mat) -> Result<()> {
unsafe { sys::cv_photo_cv_AlignMTB_computeBitmaps_Mat_img_Mat_tb_Mat_eb(self.as_raw_AlignMTB(), img.as_raw_Mat(), tb.as_raw_Mat(), eb.as_raw_Mat()) }.into_result()
}
fn get_max_bits(&self) -> Result<i32> {
unsafe { sys::cv_photo_cv_AlignMTB_getMaxBits_const(self.as_raw_AlignMTB()) }.into_result()
}
fn set_max_bits(&mut self, max_bits: i32) -> Result<()> {
unsafe { sys::cv_photo_cv_AlignMTB_setMaxBits_int_max_bits(self.as_raw_AlignMTB(), max_bits) }.into_result()
}
fn get_exclude_range(&self) -> Result<i32> {
unsafe { sys::cv_photo_cv_AlignMTB_getExcludeRange_const(self.as_raw_AlignMTB()) }.into_result()
}
fn set_exclude_range(&mut self, exclude_range: i32) -> Result<()> {
unsafe { sys::cv_photo_cv_AlignMTB_setExcludeRange_int_exclude_range(self.as_raw_AlignMTB(), exclude_range) }.into_result()
}
fn get_cut(&self) -> Result<bool> {
unsafe { sys::cv_photo_cv_AlignMTB_getCut_const(self.as_raw_AlignMTB()) }.into_result()
}
fn set_cut(&mut self, value: bool) -> Result<()> {
unsafe { sys::cv_photo_cv_AlignMTB_setCut_bool_value(self.as_raw_AlignMTB(), value) }.into_result()
}
}
impl<'a> AlignMTB + 'a {
}
pub trait CalibrateCRF : core::Algorithm {
#[doc(hidden)] fn as_raw_CalibrateCRF(&self) -> *mut c_void;
fn process(&mut self, src: &types::VectorOfMat, dst: &mut core::Mat, times: &core::Mat) -> Result<()> {
unsafe { sys::cv_photo_cv_CalibrateCRF_process_VectorOfMat_src_Mat_dst_Mat_times(self.as_raw_CalibrateCRF(), src.as_raw_VectorOfMat(), dst.as_raw_Mat(), times.as_raw_Mat()) }.into_result()
}
}
impl<'a> CalibrateCRF + 'a {
}
pub trait CalibrateDebevec : crate::photo::CalibrateCRF {
#[doc(hidden)] fn as_raw_CalibrateDebevec(&self) -> *mut c_void;
fn get_lambda(&self) -> Result<f32> {
unsafe { sys::cv_photo_cv_CalibrateDebevec_getLambda_const(self.as_raw_CalibrateDebevec()) }.into_result()
}
fn set_lambda(&mut self, lambda: f32) -> Result<()> {
unsafe { sys::cv_photo_cv_CalibrateDebevec_setLambda_float_lambda(self.as_raw_CalibrateDebevec(), lambda) }.into_result()
}
fn get_samples(&self) -> Result<i32> {
unsafe { sys::cv_photo_cv_CalibrateDebevec_getSamples_const(self.as_raw_CalibrateDebevec()) }.into_result()
}
fn set_samples(&mut self, samples: i32) -> Result<()> {
unsafe { sys::cv_photo_cv_CalibrateDebevec_setSamples_int_samples(self.as_raw_CalibrateDebevec(), samples) }.into_result()
}
fn get_random(&self) -> Result<bool> {
unsafe { sys::cv_photo_cv_CalibrateDebevec_getRandom_const(self.as_raw_CalibrateDebevec()) }.into_result()
}
fn set_random(&mut self, random: bool) -> Result<()> {
unsafe { sys::cv_photo_cv_CalibrateDebevec_setRandom_bool_random(self.as_raw_CalibrateDebevec(), random) }.into_result()
}
}
impl<'a> CalibrateDebevec + 'a {
}
pub trait CalibrateRobertson : crate::photo::CalibrateCRF {
#[doc(hidden)] fn as_raw_CalibrateRobertson(&self) -> *mut c_void;
fn get_max_iter(&self) -> Result<i32> {
unsafe { sys::cv_photo_cv_CalibrateRobertson_getMaxIter_const(self.as_raw_CalibrateRobertson()) }.into_result()
}
fn set_max_iter(&mut self, max_iter: i32) -> Result<()> {
unsafe { sys::cv_photo_cv_CalibrateRobertson_setMaxIter_int_max_iter(self.as_raw_CalibrateRobertson(), max_iter) }.into_result()
}
fn get_threshold(&self) -> Result<f32> {
unsafe { sys::cv_photo_cv_CalibrateRobertson_getThreshold_const(self.as_raw_CalibrateRobertson()) }.into_result()
}
fn set_threshold(&mut self, threshold: f32) -> Result<()> {
unsafe { sys::cv_photo_cv_CalibrateRobertson_setThreshold_float_threshold(self.as_raw_CalibrateRobertson(), threshold) }.into_result()
}
fn get_radiance(&self) -> Result<core::Mat> {
unsafe { sys::cv_photo_cv_CalibrateRobertson_getRadiance_const(self.as_raw_CalibrateRobertson()) }.into_result().map(|x| core::Mat { ptr: x })
}
}
impl<'a> CalibrateRobertson + 'a {
}
pub trait MergeDebevec : crate::photo::MergeExposures {
#[doc(hidden)] fn as_raw_MergeDebevec(&self) -> *mut c_void;
fn process_with_response(&mut self, src: &types::VectorOfMat, dst: &mut core::Mat, times: &core::Mat, response: &core::Mat) -> Result<()> {
unsafe { sys::cv_photo_cv_MergeDebevec_process_VectorOfMat_src_Mat_dst_Mat_times_Mat_response(self.as_raw_MergeDebevec(), src.as_raw_VectorOfMat(), dst.as_raw_Mat(), times.as_raw_Mat(), response.as_raw_Mat()) }.into_result()
}
fn process(&mut self, src: &types::VectorOfMat, dst: &mut core::Mat, times: &core::Mat) -> Result<()> {
unsafe { sys::cv_photo_cv_MergeDebevec_process_VectorOfMat_src_Mat_dst_Mat_times(self.as_raw_MergeDebevec(), src.as_raw_VectorOfMat(), dst.as_raw_Mat(), times.as_raw_Mat()) }.into_result()
}
}
impl<'a> MergeDebevec + 'a {
}
pub trait MergeExposures : core::Algorithm {
#[doc(hidden)] fn as_raw_MergeExposures(&self) -> *mut c_void;
fn process(&mut self, src: &types::VectorOfMat, dst: &mut core::Mat, times: &core::Mat, response: &core::Mat) -> Result<()> {
unsafe { sys::cv_photo_cv_MergeExposures_process_VectorOfMat_src_Mat_dst_Mat_times_Mat_response(self.as_raw_MergeExposures(), src.as_raw_VectorOfMat(), dst.as_raw_Mat(), times.as_raw_Mat(), response.as_raw_Mat()) }.into_result()
}
}
impl<'a> MergeExposures + 'a {
}
pub trait MergeMertens : crate::photo::MergeExposures {
#[doc(hidden)] fn as_raw_MergeMertens(&self) -> *mut c_void;
fn process_with_response(&mut self, src: &types::VectorOfMat, dst: &mut core::Mat, times: &core::Mat, response: &core::Mat) -> Result<()> {
unsafe { sys::cv_photo_cv_MergeMertens_process_VectorOfMat_src_Mat_dst_Mat_times_Mat_response(self.as_raw_MergeMertens(), src.as_raw_VectorOfMat(), dst.as_raw_Mat(), times.as_raw_Mat(), response.as_raw_Mat()) }.into_result()
}
fn process(&mut self, src: &types::VectorOfMat, dst: &mut core::Mat) -> Result<()> {
unsafe { sys::cv_photo_cv_MergeMertens_process_VectorOfMat_src_Mat_dst(self.as_raw_MergeMertens(), src.as_raw_VectorOfMat(), dst.as_raw_Mat()) }.into_result()
}
fn get_contrast_weight(&self) -> Result<f32> {
unsafe { sys::cv_photo_cv_MergeMertens_getContrastWeight_const(self.as_raw_MergeMertens()) }.into_result()
}
fn set_contrast_weight(&mut self, contrast_weiht: f32) -> Result<()> {
unsafe { sys::cv_photo_cv_MergeMertens_setContrastWeight_float_contrast_weiht(self.as_raw_MergeMertens(), contrast_weiht) }.into_result()
}
fn get_saturation_weight(&self) -> Result<f32> {
unsafe { sys::cv_photo_cv_MergeMertens_getSaturationWeight_const(self.as_raw_MergeMertens()) }.into_result()
}
fn set_saturation_weight(&mut self, saturation_weight: f32) -> Result<()> {
unsafe { sys::cv_photo_cv_MergeMertens_setSaturationWeight_float_saturation_weight(self.as_raw_MergeMertens(), saturation_weight) }.into_result()
}
fn get_exposure_weight(&self) -> Result<f32> {
unsafe { sys::cv_photo_cv_MergeMertens_getExposureWeight_const(self.as_raw_MergeMertens()) }.into_result()
}
fn set_exposure_weight(&mut self, exposure_weight: f32) -> Result<()> {
unsafe { sys::cv_photo_cv_MergeMertens_setExposureWeight_float_exposure_weight(self.as_raw_MergeMertens(), exposure_weight) }.into_result()
}
}
impl<'a> MergeMertens + 'a {
}
pub trait MergeRobertson : crate::photo::MergeExposures {
#[doc(hidden)] fn as_raw_MergeRobertson(&self) -> *mut c_void;
fn process_with_response(&mut self, src: &types::VectorOfMat, dst: &mut core::Mat, times: &core::Mat, response: &core::Mat) -> Result<()> {
unsafe { sys::cv_photo_cv_MergeRobertson_process_VectorOfMat_src_Mat_dst_Mat_times_Mat_response(self.as_raw_MergeRobertson(), src.as_raw_VectorOfMat(), dst.as_raw_Mat(), times.as_raw_Mat(), response.as_raw_Mat()) }.into_result()
}
fn process(&mut self, src: &types::VectorOfMat, dst: &mut core::Mat, times: &core::Mat) -> Result<()> {
unsafe { sys::cv_photo_cv_MergeRobertson_process_VectorOfMat_src_Mat_dst_Mat_times(self.as_raw_MergeRobertson(), src.as_raw_VectorOfMat(), dst.as_raw_Mat(), times.as_raw_Mat()) }.into_result()
}
}
impl<'a> MergeRobertson + 'a {
}
pub trait Tonemap : core::Algorithm {
#[doc(hidden)] fn as_raw_Tonemap(&self) -> *mut c_void;
fn process(&mut self, src: &core::Mat, dst: &mut core::Mat) -> Result<()> {
unsafe { sys::cv_photo_cv_Tonemap_process_Mat_src_Mat_dst(self.as_raw_Tonemap(), src.as_raw_Mat(), dst.as_raw_Mat()) }.into_result()
}
fn get_gamma(&self) -> Result<f32> {
unsafe { sys::cv_photo_cv_Tonemap_getGamma_const(self.as_raw_Tonemap()) }.into_result()
}
fn set_gamma(&mut self, gamma: f32) -> Result<()> {
unsafe { sys::cv_photo_cv_Tonemap_setGamma_float_gamma(self.as_raw_Tonemap(), gamma) }.into_result()
}
}
impl<'a> Tonemap + 'a {
}
pub trait TonemapDrago : crate::photo::Tonemap {
#[doc(hidden)] fn as_raw_TonemapDrago(&self) -> *mut c_void;
fn get_saturation(&self) -> Result<f32> {
unsafe { sys::cv_photo_cv_TonemapDrago_getSaturation_const(self.as_raw_TonemapDrago()) }.into_result()
}
fn set_saturation(&mut self, saturation: f32) -> Result<()> {
unsafe { sys::cv_photo_cv_TonemapDrago_setSaturation_float_saturation(self.as_raw_TonemapDrago(), saturation) }.into_result()
}
fn get_bias(&self) -> Result<f32> {
unsafe { sys::cv_photo_cv_TonemapDrago_getBias_const(self.as_raw_TonemapDrago()) }.into_result()
}
fn set_bias(&mut self, bias: f32) -> Result<()> {
unsafe { sys::cv_photo_cv_TonemapDrago_setBias_float_bias(self.as_raw_TonemapDrago(), bias) }.into_result()
}
}
impl<'a> TonemapDrago + 'a {
}
pub trait TonemapMantiuk : crate::photo::Tonemap {
#[doc(hidden)] fn as_raw_TonemapMantiuk(&self) -> *mut c_void;
fn get_scale(&self) -> Result<f32> {
unsafe { sys::cv_photo_cv_TonemapMantiuk_getScale_const(self.as_raw_TonemapMantiuk()) }.into_result()
}
fn set_scale(&mut self, scale: f32) -> Result<()> {
unsafe { sys::cv_photo_cv_TonemapMantiuk_setScale_float_scale(self.as_raw_TonemapMantiuk(), scale) }.into_result()
}
fn get_saturation(&self) -> Result<f32> {
unsafe { sys::cv_photo_cv_TonemapMantiuk_getSaturation_const(self.as_raw_TonemapMantiuk()) }.into_result()
}
fn set_saturation(&mut self, saturation: f32) -> Result<()> {
unsafe { sys::cv_photo_cv_TonemapMantiuk_setSaturation_float_saturation(self.as_raw_TonemapMantiuk(), saturation) }.into_result()
}
}
impl<'a> TonemapMantiuk + 'a {
}
pub trait TonemapReinhard : crate::photo::Tonemap {
#[doc(hidden)] fn as_raw_TonemapReinhard(&self) -> *mut c_void;
fn get_intensity(&self) -> Result<f32> {
unsafe { sys::cv_photo_cv_TonemapReinhard_getIntensity_const(self.as_raw_TonemapReinhard()) }.into_result()
}
fn set_intensity(&mut self, intensity: f32) -> Result<()> {
unsafe { sys::cv_photo_cv_TonemapReinhard_setIntensity_float_intensity(self.as_raw_TonemapReinhard(), intensity) }.into_result()
}
fn get_light_adaptation(&self) -> Result<f32> {
unsafe { sys::cv_photo_cv_TonemapReinhard_getLightAdaptation_const(self.as_raw_TonemapReinhard()) }.into_result()
}
fn set_light_adaptation(&mut self, light_adapt: f32) -> Result<()> {
unsafe { sys::cv_photo_cv_TonemapReinhard_setLightAdaptation_float_light_adapt(self.as_raw_TonemapReinhard(), light_adapt) }.into_result()
}
fn get_color_adaptation(&self) -> Result<f32> {
unsafe { sys::cv_photo_cv_TonemapReinhard_getColorAdaptation_const(self.as_raw_TonemapReinhard()) }.into_result()
}
fn set_color_adaptation(&mut self, color_adapt: f32) -> Result<()> {
unsafe { sys::cv_photo_cv_TonemapReinhard_setColorAdaptation_float_color_adapt(self.as_raw_TonemapReinhard(), color_adapt) }.into_result()
}
}
impl<'a> TonemapReinhard + 'a {
}