#![allow(
unused_parens,
clippy::excessive_precision,
clippy::missing_safety_doc,
clippy::should_implement_trait,
clippy::too_many_arguments,
clippy::unused_unit,
clippy::let_unit_value,
clippy::derive_partial_eq_without_eq,
)]
use crate::{mod_prelude::*, core, sys, types};
pub mod prelude {
pub use { super::ImageCollection_iteratorTraitConst, super::ImageCollection_iteratorTrait, super::ImageCollectionTraitConst, super::ImageCollectionTrait };
}
pub const IMREAD_ANYCOLOR: i32 = 4;
pub const IMREAD_ANYDEPTH: i32 = 2;
pub const IMREAD_COLOR: i32 = 1;
pub const IMREAD_GRAYSCALE: i32 = 0;
pub const IMREAD_IGNORE_ORIENTATION: i32 = 128;
pub const IMREAD_LOAD_GDAL: i32 = 8;
pub const IMREAD_REDUCED_COLOR_2: i32 = 17;
pub const IMREAD_REDUCED_COLOR_4: i32 = 33;
pub const IMREAD_REDUCED_COLOR_8: i32 = 65;
pub const IMREAD_REDUCED_GRAYSCALE_2: i32 = 16;
pub const IMREAD_REDUCED_GRAYSCALE_4: i32 = 32;
pub const IMREAD_REDUCED_GRAYSCALE_8: i32 = 64;
pub const IMREAD_UNCHANGED: i32 = -1;
pub const IMWRITE_EXR_COMPRESSION: i32 = 49;
pub const IMWRITE_EXR_COMPRESSION_B44: i32 = 6;
pub const IMWRITE_EXR_COMPRESSION_B44A: i32 = 7;
pub const IMWRITE_EXR_COMPRESSION_DWAA: i32 = 8;
pub const IMWRITE_EXR_COMPRESSION_DWAB: i32 = 9;
pub const IMWRITE_EXR_COMPRESSION_NO: i32 = 0;
pub const IMWRITE_EXR_COMPRESSION_PIZ: i32 = 4;
pub const IMWRITE_EXR_COMPRESSION_PXR24: i32 = 5;
pub const IMWRITE_EXR_COMPRESSION_RLE: i32 = 1;
pub const IMWRITE_EXR_COMPRESSION_ZIP: i32 = 3;
pub const IMWRITE_EXR_COMPRESSION_ZIPS: i32 = 2;
pub const IMWRITE_EXR_DWA_COMPRESSION_LEVEL: i32 = 50;
pub const IMWRITE_EXR_TYPE: i32 = 48;
pub const IMWRITE_EXR_TYPE_FLOAT: i32 = 2;
pub const IMWRITE_EXR_TYPE_HALF: i32 = 1;
pub const IMWRITE_HDR_COMPRESSION: i32 = 80;
pub const IMWRITE_HDR_COMPRESSION_NONE: i32 = 0;
pub const IMWRITE_HDR_COMPRESSION_RLE: i32 = 1;
pub const IMWRITE_JPEG2000_COMPRESSION_X1000: i32 = 272;
pub const IMWRITE_JPEG_CHROMA_QUALITY: i32 = 6;
pub const IMWRITE_JPEG_LUMA_QUALITY: i32 = 5;
pub const IMWRITE_JPEG_OPTIMIZE: i32 = 3;
pub const IMWRITE_JPEG_PROGRESSIVE: i32 = 2;
pub const IMWRITE_JPEG_QUALITY: i32 = 1;
pub const IMWRITE_JPEG_RST_INTERVAL: i32 = 4;
pub const IMWRITE_JPEG_SAMPLING_FACTOR: i32 = 7;
pub const IMWRITE_JPEG_SAMPLING_FACTOR_411: i32 = 4264209;
pub const IMWRITE_JPEG_SAMPLING_FACTOR_420: i32 = 2232593;
pub const IMWRITE_JPEG_SAMPLING_FACTOR_422: i32 = 2167057;
pub const IMWRITE_JPEG_SAMPLING_FACTOR_440: i32 = 1184017;
pub const IMWRITE_JPEG_SAMPLING_FACTOR_444: i32 = 1118481;
pub const IMWRITE_PAM_FORMAT_BLACKANDWHITE: i32 = 1;
pub const IMWRITE_PAM_FORMAT_GRAYSCALE: i32 = 2;
pub const IMWRITE_PAM_FORMAT_GRAYSCALE_ALPHA: i32 = 3;
pub const IMWRITE_PAM_FORMAT_NULL: i32 = 0;
pub const IMWRITE_PAM_FORMAT_RGB: i32 = 4;
pub const IMWRITE_PAM_FORMAT_RGB_ALPHA: i32 = 5;
pub const IMWRITE_PAM_TUPLETYPE: i32 = 128;
pub const IMWRITE_PNG_BILEVEL: i32 = 18;
pub const IMWRITE_PNG_COMPRESSION: i32 = 16;
pub const IMWRITE_PNG_STRATEGY: i32 = 17;
pub const IMWRITE_PNG_STRATEGY_DEFAULT: i32 = 0;
pub const IMWRITE_PNG_STRATEGY_FILTERED: i32 = 1;
pub const IMWRITE_PNG_STRATEGY_FIXED: i32 = 4;
pub const IMWRITE_PNG_STRATEGY_HUFFMAN_ONLY: i32 = 2;
pub const IMWRITE_PNG_STRATEGY_RLE: i32 = 3;
pub const IMWRITE_PXM_BINARY: i32 = 32;
pub const IMWRITE_TIFF_COMPRESSION: i32 = 259;
pub const IMWRITE_TIFF_RESUNIT: i32 = 256;
pub const IMWRITE_TIFF_XDPI: i32 = 257;
pub const IMWRITE_TIFF_YDPI: i32 = 258;
pub const IMWRITE_WEBP_QUALITY: i32 = 64;
#[repr(C)]
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
pub enum ImreadModes {
IMREAD_UNCHANGED = -1,
IMREAD_GRAYSCALE = 0,
IMREAD_COLOR = 1,
IMREAD_ANYDEPTH = 2,
IMREAD_ANYCOLOR = 4,
IMREAD_LOAD_GDAL = 8,
IMREAD_REDUCED_GRAYSCALE_2 = 16,
IMREAD_REDUCED_COLOR_2 = 17,
IMREAD_REDUCED_GRAYSCALE_4 = 32,
IMREAD_REDUCED_COLOR_4 = 33,
IMREAD_REDUCED_GRAYSCALE_8 = 64,
IMREAD_REDUCED_COLOR_8 = 65,
IMREAD_IGNORE_ORIENTATION = 128,
}
opencv_type_enum! { crate::imgcodecs::ImreadModes }
#[repr(C)]
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
pub enum ImwriteEXRCompressionFlags {
IMWRITE_EXR_COMPRESSION_NO = 0,
IMWRITE_EXR_COMPRESSION_RLE = 1,
IMWRITE_EXR_COMPRESSION_ZIPS = 2,
IMWRITE_EXR_COMPRESSION_ZIP = 3,
IMWRITE_EXR_COMPRESSION_PIZ = 4,
IMWRITE_EXR_COMPRESSION_PXR24 = 5,
IMWRITE_EXR_COMPRESSION_B44 = 6,
IMWRITE_EXR_COMPRESSION_B44A = 7,
IMWRITE_EXR_COMPRESSION_DWAA = 8,
IMWRITE_EXR_COMPRESSION_DWAB = 9,
}
opencv_type_enum! { crate::imgcodecs::ImwriteEXRCompressionFlags }
#[repr(C)]
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
pub enum ImwriteEXRTypeFlags {
IMWRITE_EXR_TYPE_HALF = 1,
IMWRITE_EXR_TYPE_FLOAT = 2,
}
opencv_type_enum! { crate::imgcodecs::ImwriteEXRTypeFlags }
#[repr(C)]
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
pub enum ImwriteFlags {
IMWRITE_JPEG_QUALITY = 1,
IMWRITE_JPEG_PROGRESSIVE = 2,
IMWRITE_JPEG_OPTIMIZE = 3,
IMWRITE_JPEG_RST_INTERVAL = 4,
IMWRITE_JPEG_LUMA_QUALITY = 5,
IMWRITE_JPEG_CHROMA_QUALITY = 6,
IMWRITE_JPEG_SAMPLING_FACTOR = 7,
IMWRITE_PNG_COMPRESSION = 16,
IMWRITE_PNG_STRATEGY = 17,
IMWRITE_PNG_BILEVEL = 18,
IMWRITE_PXM_BINARY = 32,
IMWRITE_EXR_TYPE = 48,
IMWRITE_EXR_COMPRESSION = 49,
IMWRITE_EXR_DWA_COMPRESSION_LEVEL = 50,
IMWRITE_WEBP_QUALITY = 64,
IMWRITE_HDR_COMPRESSION = 80,
IMWRITE_PAM_TUPLETYPE = 128,
IMWRITE_TIFF_RESUNIT = 256,
IMWRITE_TIFF_XDPI = 257,
IMWRITE_TIFF_YDPI = 258,
IMWRITE_TIFF_COMPRESSION = 259,
IMWRITE_JPEG2000_COMPRESSION_X1000 = 272,
}
opencv_type_enum! { crate::imgcodecs::ImwriteFlags }
#[repr(C)]
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
pub enum ImwriteHDRCompressionFlags {
IMWRITE_HDR_COMPRESSION_NONE = 0,
IMWRITE_HDR_COMPRESSION_RLE = 1,
}
opencv_type_enum! { crate::imgcodecs::ImwriteHDRCompressionFlags }
#[repr(C)]
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
pub enum ImwriteJPEGSamplingFactorParams {
IMWRITE_JPEG_SAMPLING_FACTOR_411 = 4264209,
IMWRITE_JPEG_SAMPLING_FACTOR_420 = 2232593,
IMWRITE_JPEG_SAMPLING_FACTOR_422 = 2167057,
IMWRITE_JPEG_SAMPLING_FACTOR_440 = 1184017,
IMWRITE_JPEG_SAMPLING_FACTOR_444 = 1118481,
}
opencv_type_enum! { crate::imgcodecs::ImwriteJPEGSamplingFactorParams }
#[repr(C)]
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
pub enum ImwritePAMFlags {
IMWRITE_PAM_FORMAT_NULL = 0,
IMWRITE_PAM_FORMAT_BLACKANDWHITE = 1,
IMWRITE_PAM_FORMAT_GRAYSCALE = 2,
IMWRITE_PAM_FORMAT_GRAYSCALE_ALPHA = 3,
IMWRITE_PAM_FORMAT_RGB = 4,
IMWRITE_PAM_FORMAT_RGB_ALPHA = 5,
}
opencv_type_enum! { crate::imgcodecs::ImwritePAMFlags }
#[repr(C)]
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
pub enum ImwritePNGFlags {
IMWRITE_PNG_STRATEGY_DEFAULT = 0,
IMWRITE_PNG_STRATEGY_FILTERED = 1,
IMWRITE_PNG_STRATEGY_HUFFMAN_ONLY = 2,
IMWRITE_PNG_STRATEGY_RLE = 3,
IMWRITE_PNG_STRATEGY_FIXED = 4,
}
opencv_type_enum! { crate::imgcodecs::ImwritePNGFlags }
#[inline]
pub fn have_image_reader(filename: &str) -> Result<bool> {
extern_container_arg!(filename);
return_send!(via ocvrs_return);
unsafe { sys::cv_haveImageReader_const_StringR(filename.opencv_as_extern(), ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn have_image_writer(filename: &str) -> Result<bool> {
extern_container_arg!(filename);
return_send!(via ocvrs_return);
unsafe { sys::cv_haveImageWriter_const_StringR(filename.opencv_as_extern(), ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn imcount(filename: &str, flags: i32) -> Result<size_t> {
extern_container_arg!(filename);
return_send!(via ocvrs_return);
unsafe { sys::cv_imcount_const_StringR_int(filename.opencv_as_extern(), flags, ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn imdecode(buf: &dyn core::ToInputArray, flags: i32) -> Result<core::Mat> {
extern_container_arg!(buf);
return_send!(via ocvrs_return);
unsafe { sys::cv_imdecode_const__InputArrayR_int(buf.as_raw__InputArray(), flags, ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
let ret = unsafe { core::Mat::opencv_from_extern(ret) };
Ok(ret)
}
#[inline]
pub fn imdecode_to(buf: &dyn core::ToInputArray, flags: i32, dst: &mut core::Mat) -> Result<core::Mat> {
extern_container_arg!(buf);
return_send!(via ocvrs_return);
unsafe { sys::cv_imdecode_const__InputArrayR_int_MatX(buf.as_raw__InputArray(), flags, dst.as_raw_mut_Mat(), ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
let ret = unsafe { core::Mat::opencv_from_extern(ret) };
Ok(ret)
}
#[inline]
pub fn imdecodemulti(buf: &dyn core::ToInputArray, flags: i32, mats: &mut core::Vector<core::Mat>) -> Result<bool> {
extern_container_arg!(buf);
return_send!(via ocvrs_return);
unsafe { sys::cv_imdecodemulti_const__InputArrayR_int_vectorLMatGR(buf.as_raw__InputArray(), flags, mats.as_raw_mut_VectorOfMat(), ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn imencode(ext: &str, img: &dyn core::ToInputArray, buf: &mut core::Vector<u8>, params: &core::Vector<i32>) -> Result<bool> {
extern_container_arg!(ext);
extern_container_arg!(img);
return_send!(via ocvrs_return);
unsafe { sys::cv_imencode_const_StringR_const__InputArrayR_vectorLunsigned_charGR_const_vectorLintGR(ext.opencv_as_extern(), img.as_raw__InputArray(), buf.as_raw_mut_VectorOfu8(), params.as_raw_VectorOfi32(), ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn imread(filename: &str, flags: i32) -> Result<core::Mat> {
extern_container_arg!(filename);
return_send!(via ocvrs_return);
unsafe { sys::cv_imread_const_StringR_int(filename.opencv_as_extern(), flags, ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
let ret = unsafe { core::Mat::opencv_from_extern(ret) };
Ok(ret)
}
#[inline]
pub fn imreadmulti(filename: &str, mats: &mut core::Vector<core::Mat>, flags: i32) -> Result<bool> {
extern_container_arg!(filename);
return_send!(via ocvrs_return);
unsafe { sys::cv_imreadmulti_const_StringR_vectorLMatGR_int(filename.opencv_as_extern(), mats.as_raw_mut_VectorOfMat(), flags, ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn imreadmulti_range(filename: &str, mats: &mut core::Vector<core::Mat>, start: i32, count: i32, flags: i32) -> Result<bool> {
extern_container_arg!(filename);
return_send!(via ocvrs_return);
unsafe { sys::cv_imreadmulti_const_StringR_vectorLMatGR_int_int_int(filename.opencv_as_extern(), mats.as_raw_mut_VectorOfMat(), start, count, flags, ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn imwrite(filename: &str, img: &dyn core::ToInputArray, params: &core::Vector<i32>) -> Result<bool> {
extern_container_arg!(filename);
extern_container_arg!(img);
return_send!(via ocvrs_return);
unsafe { sys::cv_imwrite_const_StringR_const__InputArrayR_const_vectorLintGR(filename.opencv_as_extern(), img.as_raw__InputArray(), params.as_raw_VectorOfi32(), ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn imwritemulti(filename: &str, img: &dyn core::ToInputArray, params: &core::Vector<i32>) -> Result<bool> {
extern_container_arg!(filename);
extern_container_arg!(img);
return_send!(via ocvrs_return);
unsafe { sys::cv_imwritemulti_const_StringR_const__InputArrayR_const_vectorLintGR(filename.opencv_as_extern(), img.as_raw__InputArray(), params.as_raw_VectorOfi32(), ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
pub trait ImageCollectionTraitConst {
fn as_raw_ImageCollection(&self) -> *const c_void;
#[inline]
fn size(&self) -> Result<size_t> {
return_send!(via ocvrs_return);
unsafe { sys::cv_ImageCollection_size_const(self.as_raw_ImageCollection(), ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
}
pub trait ImageCollectionTrait: crate::imgcodecs::ImageCollectionTraitConst {
fn as_raw_mut_ImageCollection(&mut self) -> *mut c_void;
#[inline]
fn init(&mut self, img: &str, flags: i32) -> Result<()> {
extern_container_arg!(img);
return_send!(via ocvrs_return);
unsafe { sys::cv_ImageCollection_init_const_StringR_int(self.as_raw_mut_ImageCollection(), img.opencv_as_extern(), flags, ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
fn at(&mut self, index: i32) -> Result<core::Mat> {
return_send!(via ocvrs_return);
unsafe { sys::cv_ImageCollection_at_int(self.as_raw_mut_ImageCollection(), index, ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
let ret = unsafe { core::Mat::opencv_from_extern(ret) };
Ok(ret)
}
#[inline]
fn get_mut(&mut self, index: i32) -> Result<core::Mat> {
return_send!(via ocvrs_return);
unsafe { sys::cv_ImageCollection_operator___int(self.as_raw_mut_ImageCollection(), index, ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
let ret = unsafe { core::Mat::opencv_from_extern(ret) };
Ok(ret)
}
#[inline]
fn release_cache(&mut self, index: i32) -> Result<()> {
return_send!(via ocvrs_return);
unsafe { sys::cv_ImageCollection_releaseCache_int(self.as_raw_mut_ImageCollection(), index, ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
fn begin(&mut self) -> Result<crate::imgcodecs::ImageCollection_iterator> {
return_send!(via ocvrs_return);
unsafe { sys::cv_ImageCollection_begin(self.as_raw_mut_ImageCollection(), ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
let ret = unsafe { crate::imgcodecs::ImageCollection_iterator::opencv_from_extern(ret) };
Ok(ret)
}
#[inline]
fn end(&mut self) -> Result<crate::imgcodecs::ImageCollection_iterator> {
return_send!(via ocvrs_return);
unsafe { sys::cv_ImageCollection_end(self.as_raw_mut_ImageCollection(), ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
let ret = unsafe { crate::imgcodecs::ImageCollection_iterator::opencv_from_extern(ret) };
Ok(ret)
}
}
pub struct ImageCollection {
ptr: *mut c_void
}
opencv_type_boxed! { ImageCollection }
impl Drop for ImageCollection {
fn drop(&mut self) {
extern "C" { fn cv_ImageCollection_delete(instance: *mut c_void); }
unsafe { cv_ImageCollection_delete(self.as_raw_mut_ImageCollection()) };
}
}
unsafe impl Send for ImageCollection {}
impl crate::imgcodecs::ImageCollectionTraitConst for ImageCollection {
#[inline] fn as_raw_ImageCollection(&self) -> *const c_void { self.as_raw() }
}
impl crate::imgcodecs::ImageCollectionTrait for ImageCollection {
#[inline] fn as_raw_mut_ImageCollection(&mut self) -> *mut c_void { self.as_raw_mut() }
}
impl ImageCollection {
#[inline]
pub fn default() -> Result<crate::imgcodecs::ImageCollection> {
return_send!(via ocvrs_return);
unsafe { sys::cv_ImageCollection_ImageCollection(ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
let ret = unsafe { crate::imgcodecs::ImageCollection::opencv_from_extern(ret) };
Ok(ret)
}
#[inline]
pub fn new(filename: &str, flags: i32) -> Result<crate::imgcodecs::ImageCollection> {
extern_container_arg!(filename);
return_send!(via ocvrs_return);
unsafe { sys::cv_ImageCollection_ImageCollection_const_StringR_int(filename.opencv_as_extern(), flags, ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
let ret = unsafe { crate::imgcodecs::ImageCollection::opencv_from_extern(ret) };
Ok(ret)
}
}
pub trait ImageCollection_iteratorTraitConst {
fn as_raw_ImageCollection_iterator(&self) -> *const c_void;
}
pub trait ImageCollection_iteratorTrait: crate::imgcodecs::ImageCollection_iteratorTraitConst {
fn as_raw_mut_ImageCollection_iterator(&mut self) -> *mut c_void;
#[inline]
fn try_deref_mut(&mut self) -> Result<core::Mat> {
return_send!(via ocvrs_return);
unsafe { sys::cv_ImageCollection_iterator_operatorX(self.as_raw_mut_ImageCollection_iterator(), ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
let ret = unsafe { core::Mat::opencv_from_extern(ret) };
Ok(ret)
}
#[inline]
fn incr(&mut self) -> Result<crate::imgcodecs::ImageCollection_iterator> {
return_send!(via ocvrs_return);
unsafe { sys::cv_ImageCollection_iterator_operatorAA(self.as_raw_mut_ImageCollection_iterator(), ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
let ret = unsafe { crate::imgcodecs::ImageCollection_iterator::opencv_from_extern(ret) };
Ok(ret)
}
}
pub struct ImageCollection_iterator {
ptr: *mut c_void
}
opencv_type_boxed! { ImageCollection_iterator }
impl Drop for ImageCollection_iterator {
fn drop(&mut self) {
extern "C" { fn cv_ImageCollection_iterator_delete(instance: *mut c_void); }
unsafe { cv_ImageCollection_iterator_delete(self.as_raw_mut_ImageCollection_iterator()) };
}
}
unsafe impl Send for ImageCollection_iterator {}
impl crate::imgcodecs::ImageCollection_iteratorTraitConst for ImageCollection_iterator {
#[inline] fn as_raw_ImageCollection_iterator(&self) -> *const c_void { self.as_raw() }
}
impl crate::imgcodecs::ImageCollection_iteratorTrait for ImageCollection_iterator {
#[inline] fn as_raw_mut_ImageCollection_iterator(&mut self) -> *mut c_void { self.as_raw_mut() }
}
impl ImageCollection_iterator {
#[inline]
pub fn new(col: &mut crate::imgcodecs::ImageCollection) -> Result<crate::imgcodecs::ImageCollection_iterator> {
return_send!(via ocvrs_return);
unsafe { sys::cv_ImageCollection_iterator_iterator_ImageCollectionX(col.as_raw_mut_ImageCollection(), ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
let ret = unsafe { crate::imgcodecs::ImageCollection_iterator::opencv_from_extern(ret) };
Ok(ret)
}
#[inline]
pub fn new_1(col: &mut crate::imgcodecs::ImageCollection, end: i32) -> Result<crate::imgcodecs::ImageCollection_iterator> {
return_send!(via ocvrs_return);
unsafe { sys::cv_ImageCollection_iterator_iterator_ImageCollectionX_int(col.as_raw_mut_ImageCollection(), end, ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
let ret = unsafe { crate::imgcodecs::ImageCollection_iterator::opencv_from_extern(ret) };
Ok(ret)
}
}