pub struct GpuMatND { /* private fields */ }
Implementations
sourceimpl GpuMatND
impl GpuMatND
sourcepub fn new(size: GpuMatND_SizeArray, typ: i32) -> Result<GpuMatND>
pub fn new(size: GpuMatND_SizeArray, typ: i32) -> Result<GpuMatND>
default constructor
Overloaded parameters
Parameters
- size: Array of integers specifying an n-dimensional array shape.
- type: Array type. Use CV_8UC1, …, CV_16FC4 to create 1-4 channel matrices, or CV_8UC(n), …, CV_64FC(n) to create multi-channel (up to CV_CN_MAX channels) matrices.
sourcepub unsafe fn new_1(
size: GpuMatND_SizeArray,
typ: i32,
data: *mut c_void,
step: GpuMatND_StepArray
) -> Result<GpuMatND>
pub unsafe fn new_1(
size: GpuMatND_SizeArray,
typ: i32,
data: *mut c_void,
step: GpuMatND_StepArray
) -> Result<GpuMatND>
default constructor
Overloaded parameters
Parameters
- size: Array of integers specifying an n-dimensional array shape.
- type: Array type. Use CV_8UC1, …, CV_16FC4 to create 1-4 channel matrices, or CV_8UC(n), …, CV_64FC(n) to create multi-channel (up to CV_CN_MAX channels) matrices.
- data: Pointer to the user data. Matrix constructors that take data and step parameters do not allocate matrix data. Instead, they just initialize the matrix header that points to the specified data, which means that no data is copied. This operation is very efficient and can be used to process external data using OpenCV functions. The external data is not automatically deallocated, so you should take care of it.
- step: Array of _size.size()-1 steps in case of a multi-dimensional array (the last step is always set to the element size). If not specified, the matrix is assumed to be continuous.
C++ default parameters
- step: StepArray()
pub fn copy(unnamed: &GpuMatND) -> GpuMatND
pub fn copy_mut(unnamed: &mut GpuMatND) -> GpuMatND
Trait Implementations
sourceimpl Boxed for GpuMatND
impl Boxed for GpuMatND
sourceimpl GpuMatNDTrait for GpuMatND
impl GpuMatNDTrait for GpuMatND
fn as_raw_mut_GpuMatND(&mut self) -> *mut c_void
sourcefn set_size(&mut self, val: GpuMatND_SizeArray)
fn set_size(&mut self, val: GpuMatND_SizeArray)
shape of this array
sourcefn set_step(&mut self, val: GpuMatND_StepArray)
fn set_step(&mut self, val: GpuMatND_StepArray)
! step values
Their semantics is identical to the semantics of step for Mat. Read more
sourcefn create(&mut self, size: GpuMatND_SizeArray, typ: i32) -> Result<()>
fn create(&mut self, size: GpuMatND_SizeArray, typ: i32) -> Result<()>
Allocates GPU memory.
Suppose there is some GPU memory already allocated. In that case, this method may choose to reuse that
GPU memory under the specific condition: it must be of the same size and type, not externally allocated,
the GPU memory is continuous(i.e., isContinuous() is true), and is not a sub-matrix of another GpuMatND
(i.e., isSubmatrix() is false). In other words, this method guarantees that the GPU memory allocated by
this method is always continuous and is not a sub-region of another GpuMatND. Read more
fn release(&mut self) -> Result<()>
fn swap(&mut self, m: &mut GpuMatND)
fn upload(&mut self, src: &dyn ToInputArray) -> Result<()>
fn upload_1(&mut self, src: &dyn ToInputArray, stream: &mut Stream) -> Result<()>
sourceimpl GpuMatNDTraitConst for GpuMatND
impl GpuMatNDTraitConst for GpuMatND
fn as_raw_GpuMatND(&self) -> *const c_void
sourcefn step(&self) -> Vector<size_t>
fn step(&self) -> Vector<size_t>
! step values
Their semantics is identical to the semantics of step for Mat. Read more
sourcefn try_clone(&self) -> Result<GpuMatND>
fn try_clone(&self) -> Result<GpuMatND>
Creates a full copy of the array and the underlying data.
The method creates a full copy of the array. It mimics the behavior of Mat::clone(), i.e.
the original step is not taken into account. So, the array copy is a continuous array
occupying total()*elemSize() bytes. Read more
sourcefn clone_1(&self, stream: &mut Stream) -> Result<GpuMatND>
fn clone_1(&self, stream: &mut Stream) -> Result<GpuMatND>
Creates a full copy of the array and the underlying data.
The method creates a full copy of the array. It mimics the behavior of Mat::clone(), i.e.
the original step is not taken into account. So, the array copy is a continuous array
occupying total()*elemSize() bytes. Read more
sourcefn create_gpu_mat_header(
&self,
idx: GpuMatND_IndexArray,
row_range: Range,
col_range: Range
) -> Result<GpuMat>
fn create_gpu_mat_header(
&self,
idx: GpuMatND_IndexArray,
row_range: Range,
col_range: Range
) -> Result<GpuMat>
Creates a GpuMat header for a 2D plane part of an n-dim matrix. Read more
sourcefn create_gpu_mat_header_1(&self) -> Result<GpuMat>
fn create_gpu_mat_header_1(&self) -> Result<GpuMat>
Creates a GpuMat header for a 2D plane part of an n-dim matrix. Read more
sourcefn to_gpu_mat(&self) -> Result<GpuMat>
fn to_gpu_mat(&self) -> Result<GpuMat>
Extracts a 2D plane part of an n-dim matrix if this GpuMatND is effectively 2D.
It differs from createGpuMatHeader() in that it clones a part of this GpuMatND. Read more
fn download(&self, dst: &mut dyn ToOutputArray) -> Result<()>
fn download_1(
&self,
dst: &mut dyn ToOutputArray,
stream: &mut Stream
) -> Result<()>
sourcefn is_continuous(&self) -> Result<bool>
fn is_continuous(&self) -> Result<bool>
returns true iff the GpuMatND data is continuous
(i.e. when there are no gaps between successive rows) Read more
sourcefn is_submatrix(&self) -> Result<bool>
fn is_submatrix(&self) -> Result<bool>
returns true if the matrix is a sub-matrix of another matrix
sourcefn elem_size1(&self) -> Result<size_t>
fn elem_size1(&self) -> Result<size_t>
returns the size of element channel in bytes
sourcefn external(&self) -> Result<bool>
fn external(&self) -> Result<bool>
returns true if not empty and points to external(user-allocated) gpu memory
sourcefn get_device_ptr(&self) -> Result<*mut u8>
fn get_device_ptr(&self) -> Result<*mut u8>
returns pointer to the first byte of the GPU memory
sourcefn total_mem_size(&self) -> Result<size_t>
fn total_mem_size(&self) -> Result<size_t>
returns the size of underlying memory in bytes
impl Send for GpuMatND
Auto Trait Implementations
impl RefUnwindSafe for GpuMatND
impl !Sync for GpuMatND
impl Unpin for GpuMatND
impl UnwindSafe for GpuMatND
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more