pub struct GScalar { /* private fields */ }
Expand description
\addtogroup gapi_data_objects /
GScalar class represents cv::Scalar data in the graph.
GScalar may be associated with a cv::Scalar value, which becomes its constant value bound in graph compile time. cv::GScalar describes a functional relationship between operations consuming and producing GScalar objects.
GScalar is a virtual counterpart of cv::Scalar, which is usually used to represent the GScalar data in G-API during the execution.
§See also
Scalar
Implementations§
source§impl GScalar
impl GScalar
sourcepub fn default() -> Result<GScalar>
pub fn default() -> Result<GScalar>
Constructs an empty GScalar
Normally, empty G-API data objects denote a starting point of the graph. When an empty GScalar is assigned to a result of some operation, it obtains a functional link to this operation (and is not empty anymore).
sourcepub fn new(s: Scalar) -> Result<GScalar>
pub fn new(s: Scalar) -> Result<GScalar>
Constructs a value-initialized GScalar
In contrast with GMat (which can be either an explicit graph input or a result of some operation), GScalars may have their values be associated at graph construction time. It is useful when some operation has a GScalar input which doesn’t change during the program execution, and is set only once. In this case, there is no need to declare such GScalar as a graph input.
Note: The value of GScalar may be overwritten by assigning some
other GScalar to the object using operator=
– on the
assignment, the old GScalar value is discarded.
§Parameters
- s: a cv::Scalar value to associate with this GScalar object.
sourcepub fn new_1(s: Scalar) -> Result<GScalar>
pub fn new_1(s: Scalar) -> Result<GScalar>
Constructs a value-initialized GScalar
In contrast with GMat (which can be either an explicit graph input or a result of some operation), GScalars may have their values be associated at graph construction time. It is useful when some operation has a GScalar input which doesn’t change during the program execution, and is set only once. In this case, there is no need to declare such GScalar as a graph input.
Note: The value of GScalar may be overwritten by assigning some
other GScalar to the object using operator=
– on the
assignment, the old GScalar value is discarded.
§Parameters
- s: a cv::Scalar value to associate with this GScalar object.
§Overloaded parameters
Constructs a value-initialized GScalar
- s: a cv::Scalar value to associate with this GScalar object.
sourcepub fn new_2(v0: f64) -> Result<GScalar>
pub fn new_2(v0: f64) -> Result<GScalar>
Constructs a value-initialized GScalar
In contrast with GMat (which can be either an explicit graph input or a result of some operation), GScalars may have their values be associated at graph construction time. It is useful when some operation has a GScalar input which doesn’t change during the program execution, and is set only once. In this case, there is no need to declare such GScalar as a graph input.
Note: The value of GScalar may be overwritten by assigning some
other GScalar to the object using operator=
– on the
assignment, the old GScalar value is discarded.
§Parameters
- s: a cv::Scalar value to associate with this GScalar object.
§Overloaded parameters
Constructs a value-initialized GScalar
- v0: A
double
value to associate with this GScalar. Note that only the first component of a four-component cv::Scalar is set to this value, with others remain zeros.
This constructor overload is not marked explicit
and can be
used in G-API expression code like this:
Here operator+(GMat,GScalar) is used to wrap cv::gapi::addC() and a value-initialized GScalar is created on the fly.
@overload
Trait Implementations§
source§impl Boxed for GScalar
impl Boxed for GScalar
source§unsafe fn from_raw(ptr: <GScalar as OpenCVFromExtern>::ExternReceive) -> Self
unsafe fn from_raw(ptr: <GScalar as OpenCVFromExtern>::ExternReceive) -> Self
source§fn into_raw(self) -> <GScalar as OpenCVTypeExternContainer>::ExternSendMut
fn into_raw(self) -> <GScalar as OpenCVTypeExternContainer>::ExternSendMut
source§fn as_raw(&self) -> <GScalar as OpenCVTypeExternContainer>::ExternSend
fn as_raw(&self) -> <GScalar as OpenCVTypeExternContainer>::ExternSend
source§fn as_raw_mut(
&mut self
) -> <GScalar as OpenCVTypeExternContainer>::ExternSendMut
fn as_raw_mut( &mut self ) -> <GScalar as OpenCVTypeExternContainer>::ExternSendMut
source§impl GScalarTrait for GScalar
impl GScalarTrait for GScalar
fn as_raw_mut_GScalar(&mut self) -> *mut c_void
source§impl GScalarTraitConst for GScalar
impl GScalarTraitConst for GScalar
fn as_raw_GScalar(&self) -> *const c_void
impl Send for GScalar
Auto Trait Implementations§
impl Freeze for GScalar
impl RefUnwindSafe for GScalar
impl !Sync for GScalar
impl Unpin for GScalar
impl UnwindSafe for GScalar
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<Mat> ModifyInplace for Matwhere
Mat: Boxed,
impl<Mat> ModifyInplace for Matwhere
Mat: Boxed,
source§unsafe fn modify_inplace<Res>(
&mut self,
f: impl FnOnce(&Mat, &mut Mat) -> Res
) -> Res
unsafe fn modify_inplace<Res>( &mut self, f: impl FnOnce(&Mat, &mut Mat) -> Res ) -> Res
Mat
or another similar object. By passing
a mutable reference to the Mat
to this function your closure will get called with the read reference and a write references
to the same Mat
. This is of course unsafe as it breaks the Rust aliasing rules, but it might be useful for some performance
sensitive operations. One example of an OpenCV function that allows such in-place modification is imgproc::threshold
. Read more