Table of Contents

Class CvPtrObject

Namespace
OpenCvSharp
Assembly
OpenCvSharp.dll

Base class for OpenCV Algorithm-hierarchy objects. The owned OpenCvSafeHandle (in CvObject) wraps the raw T* used for P/Invoke, so RawPtr, CvPtr and OpenCvSharp.CvObject.Handle all yield that pointer. When the object is owned through a cv::Ptr<T>* smart pointer, that smart pointer (kept in OpenCvSharp.CvPtrObject.smartPtr) is what gets released on disposal.

public abstract class CvPtrObject : CvObject, IDisposable
Inheritance
CvPtrObject
Implements
Derived
Inherited Members

Constructors

CvPtrObject(nint, Action<nint>)

Direct-allocation constructor. rawPtr is a T* that is released directly by releaseRawPtr.

protected CvPtrObject(nint rawPtr, Action<nint> releaseRawPtr)

Parameters

rawPtr nint
releaseRawPtr Action<nint>

CvPtrObject(nint, nint, Action<nint>)

Factory-pattern constructor. smartPtr is a cv::Ptr<T>* that owns the object lifetime; rawPtr is the T* extracted from it for P/Invoke.

protected CvPtrObject(nint smartPtr, nint rawPtr, Action<nint> releaseSmartPtr)

Parameters

smartPtr nint
rawPtr nint
releaseSmartPtr Action<nint>

Properties

RawPtr

Returns the raw T* for use in P/Invoke calls.

public nint RawPtr { get; }

Property Value

nint