Struct opencv::core::Mat_

source ·
pub struct Mat_<T> { /* private fields */ }
Expand description

docs.opencv.org

This struct is freely convertible into and from Mat using into and try_from methods. You might want to convert Mat to Mat_ before calling typed methods (like at, data_typed) when more performance is required because this way you will skip the data type checks (still WIP, not all methods are covered).

Implementations§

source§

impl<T: DataType> Mat_<T>

source

pub fn into_untyped(self) -> Mat

source

pub fn as_untyped(&self) -> &Mat

source

pub fn as_raw_Mat_(&self) -> *const c_void

source

pub fn as_raw_mut_Mat_(&mut self) -> *mut c_void

source

pub fn at(&self, i0: i32) -> Result<&T>

source

pub fn at_mut(&mut self, i0: i32) -> Result<&mut T>

source

pub fn data_typed(&self) -> Result<&[T]>

source

pub fn data_typed_mut(&mut self) -> Result<&mut [T]>

Trait Implementations§

source§

impl<T> Boxed for Mat_<T>

source§

unsafe fn from_raw(ptr: *mut c_void) -> Self

Wrap the specified raw pointer Read more
source§

fn into_raw(self) -> *mut c_void

Return an the underlying raw pointer while consuming this wrapper. Read more
source§

fn as_raw(&self) -> *const c_void

Return the underlying raw pointer. Read more
source§

fn as_raw_mut(&mut self) -> *mut c_void

Return the underlying mutable raw pointer Read more
source§

impl<T> Debug for Mat_<T>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<T: DataType> From<Mat_<T>> for Mat

source§

fn from(s: Mat_<T>) -> Self

Converts to this type from the input type.
source§

impl<T> MatTrait for Mat_<T>

source§

fn as_raw_mut_Mat(&mut self) -> *mut c_void

source§

fn set_flags(&mut self, val: i32)

! includes several bit-fields: Read more
source§

fn set_dims(&mut self, val: i32)

the matrix dimensionality, >= 2
source§

fn set_rows(&mut self, val: i32)

the number of rows and columns or (-1, -1) when the matrix has more than 2 dimensions
source§

fn set_cols(&mut self, val: i32)

the number of rows and columns or (-1, -1) when the matrix has more than 2 dimensions
source§

fn data_mut(&mut self) -> *mut u8

pointer to the data
source§

unsafe fn set_data(&mut self, val: *mut u8)

pointer to the data
source§

fn u(&mut self) -> UMatData

interaction with UMat
source§

fn set_u(&mut self, val: &mut UMatData)

interaction with UMat
source§

fn set_to( &mut self, value: &dyn ToInputArray, mask: &dyn ToInputArray ) -> Result<Mat>

Sets all or some of the array elements to the specified value. Read more
source§

unsafe fn create_rows_cols( &mut self, rows: i32, cols: i32, typ: i32 ) -> Result<()>

Allocates new array data if needed. Read more
source§

unsafe fn create_size(&mut self, size: Size, typ: i32) -> Result<()>

Allocates new array data if needed. Read more
source§

unsafe fn create_nd(&mut self, sizes: &[i32], typ: i32) -> Result<()>

Allocates new array data if needed. Read more
source§

unsafe fn create_nd_vec(&mut self, sizes: &Vector<i32>, typ: i32) -> Result<()>

Allocates new array data if needed. Read more
source§

fn addref(&mut self) -> Result<()>

Increments the reference counter. Read more
source§

fn release(&mut self) -> Result<()>

Decrements the reference counter and deallocates the matrix if needed. Read more
source§

fn deallocate(&mut self) -> Result<()>

internal use function, consider to use ‘release’ method instead; deallocates the matrix data
source§

fn reserve(&mut self, sz: size_t) -> Result<()>

Reserves space for the certain number of rows. Read more
source§

fn reserve_buffer(&mut self, sz: size_t) -> Result<()>

Reserves space for the certain number of bytes. Read more
source§

fn resize(&mut self, sz: size_t) -> Result<()>

Changes the number of matrix rows. Read more
source§

fn resize_with_default(&mut self, sz: size_t, s: Scalar) -> Result<()>

Changes the number of matrix rows. Read more
source§

fn push_back(&mut self, m: &Mat) -> Result<()>

Adds elements to the bottom of the matrix. Read more
source§

fn pop_back(&mut self, nelems: size_t) -> Result<()>

Removes elements from the bottom of the matrix. Read more
source§

fn adjust_roi( &mut self, dtop: i32, dbottom: i32, dleft: i32, dright: i32 ) -> Result<Mat>

Adjusts a submatrix size and position within the parent matrix. Read more
source§

fn ptr_mut(&mut self, i0: i32) -> Result<*mut u8>

Returns a pointer to the specified matrix row. Read more
source§

fn ptr_2d_mut(&mut self, row: i32, col: i32) -> Result<*mut u8>

Returns a pointer to the specified matrix row. Read more
source§

fn ptr_3d_mut(&mut self, i0: i32, i1: i32, i2: i32) -> Result<*mut u8>

Returns a pointer to the specified matrix row. Read more
source§

fn ptr_nd_mut(&mut self, idx: &[i32]) -> Result<*mut u8>

Returns a pointer to the specified matrix row. Read more
source§

fn at_mut<T: DataType>(&mut self, i0: i32) -> Result<&mut T>

Returns a reference to the specified array element. Read more
source§

fn at_2d_mut<T: DataType>(&mut self, row: i32, col: i32) -> Result<&mut T>

Returns a reference to the specified array element. Read more
source§

fn at_3d_mut<T: DataType>( &mut self, i0: i32, i1: i32, i2: i32 ) -> Result<&mut T>

Returns a reference to the specified array element. Read more
source§

fn at_nd_mut<T: DataType>(&mut self, idx: &[i32]) -> Result<&mut T>

Returns a reference to the specified array element. Read more
source§

fn at_pt_mut<T: DataType>(&mut self, pt: Point) -> Result<&mut T>

Returns a reference to the specified array element. Read more
source§

fn update_continuity_flag(&mut self) -> Result<()>

internal use method: updates the continuity flag
source§

impl<T> MatTraitConst for Mat_<T>

source§

fn as_raw_Mat(&self) -> *const c_void

source§

fn flags(&self) -> i32

! includes several bit-fields: Read more
source§

fn dims(&self) -> i32

the matrix dimensionality, >= 2
source§

fn rows(&self) -> i32

the number of rows and columns or (-1, -1) when the matrix has more than 2 dimensions
source§

fn cols(&self) -> i32

the number of rows and columns or (-1, -1) when the matrix has more than 2 dimensions
source§

fn datastart(&self) -> *const u8

helper fields used in locateROI and adjustROI
source§

fn dataend(&self) -> *const u8

source§

fn datalimit(&self) -> *const u8

source§

fn mat_size(&self) -> MatSize

source§

fn mat_step(&self) -> MatStep

source§

fn get_umat( &self, access_flags: AccessFlag, usage_flags: UMatUsageFlags ) -> Result<UMat>

retrieve UMat from Mat Read more
source§

fn row(&self, y: i32) -> Result<Mat>

Creates a matrix header for the specified matrix row. Read more
source§

fn col(&self, x: i32) -> Result<Mat>

Creates a matrix header for the specified matrix column. Read more
source§

fn row_bounds(&self, startrow: i32, endrow: i32) -> Result<Mat>

Creates a matrix header for the specified row span. Read more
source§

fn row_range(&self, r: &Range) -> Result<Mat>

Creates a matrix header for the specified row span. Read more
source§

fn col_bounds(&self, startcol: i32, endcol: i32) -> Result<Mat>

Creates a matrix header for the specified column span. Read more
source§

fn col_range(&self, r: &Range) -> Result<Mat>

Creates a matrix header for the specified column span. Read more
source§

fn diag(&self, d: i32) -> Result<Mat>

Extracts a diagonal from a matrix Read more
source§

fn try_clone(&self) -> Result<Mat>

Creates a full copy of the array and the underlying data. Read more
source§

fn copy_to(&self, m: &mut dyn ToOutputArray) -> Result<()>

Copies the matrix to another one. Read more
source§

fn copy_to_masked( &self, m: &mut dyn ToOutputArray, mask: &dyn ToInputArray ) -> Result<()>

Copies the matrix to another one. Read more
source§

fn convert_to( &self, m: &mut dyn ToOutputArray, rtype: i32, alpha: f64, beta: f64 ) -> Result<()>

Converts an array to another data type with optional scaling. Read more
source§

fn assign_to(&self, m: &mut Mat, typ: i32) -> Result<()>

Provides a functional form of convertTo. Read more
source§

fn reshape(&self, cn: i32, rows: i32) -> Result<Mat>

Changes the shape and/or the number of channels of a 2D matrix without copying the data. Read more
source§

fn reshape_nd(&self, cn: i32, newsz: &[i32]) -> Result<Mat>

Changes the shape and/or the number of channels of a 2D matrix without copying the data. Read more
source§

fn reshape_nd_vec(&self, cn: i32, newshape: &Vector<i32>) -> Result<Mat>

Changes the shape and/or the number of channels of a 2D matrix without copying the data. Read more
source§

fn t(&self) -> Result<MatExpr>

Transposes a matrix. Read more
source§

fn inv(&self, method: i32) -> Result<MatExpr>

Inverses a matrix. Read more
source§

fn mul(&self, m: &dyn ToInputArray, scale: f64) -> Result<MatExpr>

Performs an element-wise multiplication or division of the two matrices. Read more
source§

fn cross(&self, m: &dyn ToInputArray) -> Result<Mat>

Computes a cross-product of two 3-element vectors. Read more
source§

fn dot(&self, m: &dyn ToInputArray) -> Result<f64>

Computes a dot-product of two vectors. Read more
source§

fn locate_roi(&self, whole_size: &mut Size, ofs: &mut Point) -> Result<()>

Locates the matrix header within a parent matrix. Read more
source§

fn apply(&self, row_range: Range, col_range: Range) -> Result<Mat>

Extracts a rectangular submatrix. Read more
source§

fn apply_1(&self, roi: Rect) -> Result<Mat>

Extracts a rectangular submatrix. Read more
source§

fn apply_2(&self, ranges: &Range) -> Result<Mat>

Extracts a rectangular submatrix. Read more
source§

fn apply_3(&self, ranges: &Vector<Range>) -> Result<Mat>

Extracts a rectangular submatrix. Read more
source§

fn is_continuous(&self) -> bool

Reports whether the matrix is continuous or not. Read more
source§

fn is_submatrix(&self) -> bool

returns true if the matrix is a submatrix of another matrix
source§

fn elem_size(&self) -> Result<size_t>

Returns the matrix element size in bytes. Read more
source§

fn elem_size1(&self) -> size_t

Returns the size of each matrix element channel in bytes. Read more
source§

fn typ(&self) -> i32

Returns the type of a matrix element. Read more
source§

fn depth(&self) -> i32

Returns the depth of a matrix element. Read more
source§

fn channels(&self) -> i32

Returns the number of matrix channels. Read more
source§

fn step1(&self, i: i32) -> Result<size_t>

Returns a normalized step. Read more
source§

fn empty(&self) -> bool

Returns true if the array has no elements. Read more
source§

fn total(&self) -> size_t

Returns the total number of array elements. Read more
source§

fn total_slice(&self, start_dim: i32, end_dim: i32) -> Result<size_t>

Returns the total number of array elements. Read more
source§

fn check_vector( &self, elem_channels: i32, depth: i32, require_continuous: bool ) -> Result<i32>

Parameters Read more
source§

fn ptr(&self, i0: i32) -> Result<*const u8>

Returns a pointer to the specified matrix row. Read more
source§

fn ptr_2d(&self, row: i32, col: i32) -> Result<*const u8>

Returns a pointer to the specified matrix row. Read more
source§

fn ptr_3d(&self, i0: i32, i1: i32, i2: i32) -> Result<*const u8>

Returns a pointer to the specified matrix row. Read more
source§

fn ptr_nd(&self, idx: &[i32]) -> Result<*const u8>

Returns a pointer to the specified matrix row. Read more
source§

fn at<T: DataType>(&self, i0: i32) -> Result<&T>

Returns a reference to the specified array element. Read more
source§

fn at_2d<T: DataType>(&self, row: i32, col: i32) -> Result<&T>

Returns a reference to the specified array element. Read more
source§

fn at_3d<T: DataType>(&self, i0: i32, i1: i32, i2: i32) -> Result<&T>

Returns a reference to the specified array element. Read more
source§

fn at_nd<T: DataType>(&self, idx: &[i32]) -> Result<&T>

Returns a reference to the specified array element. Read more
source§

fn at_pt<T: DataType>(&self, pt: Point) -> Result<&T>

Returns a reference to the specified array element. Read more
source§

impl<T> ToInputArray for Mat_<T>

source§

impl<T> ToInputOutputArray for Mat_<T>

source§

impl<T> ToOutputArray for Mat_<T>

source§

impl<T: DataType> TryFrom<Mat> for Mat_<T>

§

type Error = Error

The type returned in the event of a conversion error.
source§

fn try_from(mat: Mat) -> Result<Self, Self::Error>

Performs the conversion.

Auto Trait Implementations§

§

impl<T> RefUnwindSafe for Mat_<T>where T: RefUnwindSafe,

§

impl<T> Send for Mat_<T>where T: Send,

§

impl<T> !Sync for Mat_<T>

§

impl<T> Unpin for Mat_<T>where T: Unpin,

§

impl<T> UnwindSafe for Mat_<T>where T: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.