OpenCV for Unity 2.6.4
Enox Software / Please refer to OpenCV official document ( http://docs.opencv.org/4.10.0/index.html ) for the details of the argument of the method.
|
A helper component class for efficiently obtaining camera frames from WebCamTexture and converting them to OpenCV Mat
format in real-time using AsyncGPUReadback
.
More...
Public Member Functions | |
virtual bool | DidUpdateThisFrame () |
Indicate whether the video buffer of the frame has been updated. | |
virtual void | Dispose () |
Releases all resource used by the WebCamTexture2MatAsyncGPUHelper object. | |
virtual Source2MatHelperColorFormat | GetBaseColorFormat () |
Return the video base color format. | |
virtual Color32[] | GetBufferColors () |
Get the buffer colors. | |
virtual Matrix4x4 | GetCameraToWorldMatrix () |
Return the camera to world matrix. | |
virtual string | GetDeviceName () |
Return the active camera device name. | |
virtual float | GetFPS () |
Return the active camera framerate. | |
virtual int | GetHeight () |
Return the active camera height. | |
virtual Mat | GetMat () |
Get the mat of the current frame. | |
virtual Matrix4x4 | GetProjectionMatrix () |
Return the projection matrix matrix. | |
virtual WebCamDevice | GetWebCamDevice () |
Return the active WebcamDevice. | |
virtual WebCamTexture | GetWebCamTexture () |
Return the active WebcamTexture. | |
virtual int | GetWidth () |
Return the active camera width. | |
virtual void | Initialize (bool autoPlay=true) |
Initialize this instance. | |
virtual void | Initialize (bool requestedIsFrontFacing, float requestedFPS=30f, bool rotate90Degree=false, bool autoPlay=true) |
Initialize this instance. | |
virtual void | Initialize (int requestedWidth, int requestedHeight, bool autoPlay=true) |
Initialize this instance. | |
virtual void | Initialize (string deviceName, int requestedWidth, int requestedHeight, bool requestedIsFrontFacing=false, float requestedFPS=30f, bool rotate90Degree=false, bool autoPlay=true) |
Initialize this instance. | |
virtual bool | IsFrontFacing () |
Indicate whether the active camera device is currently front facng. | |
virtual bool | IsInitialized () |
Indicate whether this instance has been initialized. | |
virtual bool | IsPaused () |
Indicate whether the camera is paused. | |
virtual bool | IsPlaying () |
Indicate whether the active camera is currently playing. | |
virtual void | Pause () |
Pause the active camera. | |
virtual void | Play () |
Start the active camera. | |
virtual void | Stop () |
Stop the active camera. | |
Public Member Functions inherited from OpenCVForUnity.UnityUtils.Helper.ICameraSource2MatHelper | |
Public Member Functions inherited from OpenCVForUnity.UnityUtils.Helper.ISource2MatHelper |
Protected Member Functions | |
virtual IEnumerator | _Initialize () |
Initialize this instance by coroutine. | |
virtual void | CancelInitCoroutine () |
Cancel Init Coroutine. | |
virtual void | FlipMat (Mat mat, bool flipVertical, bool flipHorizontal) |
Flip the mat. | |
virtual IEnumerator | hasUserAuthorizedCameraPermission () |
Check camera permission state by coroutine. | |
virtual void | LateUpdate () |
virtual IEnumerator | OnApplicationFocus (bool hasFocus) |
virtual void | OnDestroy () |
Raises the destroy event. | |
virtual void | OnValidate () |
virtual void | ReleaseResources () |
To release the resources. | |
virtual void | Update () |
Protected Attributes | |
bool | _flipHorizontal = false |
Set whether to flip horizontal. | |
bool | _flipVertical = false |
Set whether to flip vertically. | |
UnityEvent | _onDisposed |
UnityEvent that is triggered when this instance is disposed. | |
Source2MatHelperErrorUnityEvent | _onErrorOccurred |
UnityEvent that is triggered when this instance is error Occurred. | |
UnityEvent | _onInitialized |
UnityEvent that is triggered when this instance is initialized. | |
Source2MatHelperColorFormat | _outputColorFormat = Source2MatHelperColorFormat.RGBA |
Select the output color format. | |
string | _requestedDeviceName = null |
Set the name of the camera device to use. (or device index number) | |
float | _requestedFPS = 30f |
Set the frame rate of camera. | |
int | _requestedHeight = 480 |
Set the height of camera. | |
bool | _requestedIsFrontFacing = false |
Set whether to use the front facing camera. | |
int | _requestedWidth = 640 |
Set the width of camera. | |
bool | _rotate90Degree = false |
Set whether to rotate camera frame 90 degrees. (clockwise) | |
int | _timeoutFrameCount = 1500 |
The number of frames before the initialization process times out. | |
bool | autoPlayAfterInitialize |
If set to true play after completion of initialization. | |
Source2MatHelperColorFormat | baseColorFormat = Source2MatHelperColorFormat.RGBA |
The base color format. | |
Mat | baseMat |
The base mat. | |
Color32[] | colors |
The buffer colors. | |
bool | didUpdateImageBufferInCurrentFrame = false |
bool | didUpdateThisFrame = false |
Mat | frameMat |
The frame mat. | |
bool | hasInitDone = false |
Indicates whether this instance has been initialized. | |
IEnumerator | initCoroutine |
The initialization coroutine. | |
bool | isInitWaiting = false |
Indicates whether this instance is waiting for initialization to complete. | |
bool | isScreenSizeChangeWaiting = false |
RenderTexture | renderTexture |
The RenderTexture. | |
Mat | rotatedFrameMat |
The rotated frame mat. | |
int | screenHeight |
The height of the screen. | |
ScreenOrientation | screenOrientation |
The orientation of the screen. | |
int | screenWidth |
The width of the screen. | |
WebCamDevice | webCamDevice |
The active WebcamDevice. | |
WebCamTexture | webCamTexture |
The active WebcamTexture. | |
Properties | |
virtual bool | flipHorizontal [get, set] |
virtual bool | flipVertical [get, set] |
UnityEvent | onDisposed [get, set] |
Source2MatHelperErrorUnityEvent | onErrorOccurred [get, set] |
UnityEvent | onInitialized [get, set] |
virtual Source2MatHelperColorFormat | outputColorFormat [get, set] |
virtual string | requestedDeviceName [get, set] |
virtual float | requestedFPS [get, set] |
virtual int | requestedHeight [get, set] |
virtual bool | requestedIsFrontFacing [get, set] |
virtual int | requestedWidth [get, set] |
virtual bool | rotate90Degree [get, set] |
virtual int | timeoutFrameCount [get, set] |
Properties inherited from OpenCVForUnity.UnityUtils.Helper.ICameraSource2MatHelper | |
Properties inherited from OpenCVForUnity.UnityUtils.Helper.ISource2MatHelper |
A helper component class for efficiently obtaining camera frames from WebCamTexture and converting them to OpenCV Mat
format in real-time using AsyncGPUReadback
.
The WebCamTexture2MatAsyncGPUHelper
class captures video frames from a device's camera using WebCamTexture and utilizes AsyncGPUReadback
to efficiently transfer pixel data to the CPU. Each frame is then converted to an OpenCV Mat
object. This component handles camera orientation, rotation, and necessary transformations to ensure the Mat
output aligns correctly with the device's display orientation.
By leveraging AsyncGPUReadback
, this component reduces CPU load and enhances performance, making it particularly suitable for applications requiring real-time image processing with high frame rates. It enables seamless integration of OpenCV-based image processing algorithms with Unity's camera input while optimizing resource usage.
Note: By setting outputColorFormat to RGBA, processing that does not include extra color conversion is performed.
Attach this component to a GameObject and call GetMat()
to retrieve the latest camera frame in Mat
format. The helper class manages camera start/stop operations, AsyncGPUReadback
requests, and frame updates internally.
|
protectedvirtual |
Initialize this instance by coroutine.
|
protectedvirtual |
Cancel Init Coroutine.
|
virtual |
Indicate whether the video buffer of the frame has been updated.
true
, if the video buffer has been updated false
otherwise.Implements OpenCVForUnity.UnityUtils.Helper.ISource2MatHelper.
|
virtual |
Releases all resource used by the WebCamTexture2MatAsyncGPUHelper object.
Call Dispose when you are finished using the WebCamTexture2MatAsyncGPUHelper. The Dispose method leaves the WebCamTexture2MatAsyncGPUHelper in an unusable state. After calling Dispose, you must release all references to the WebCamTexture2MatAsyncGPUHelper so the garbage collector can reclaim the memory that the WebCamTexture2MatAsyncGPUHelper was occupying.
Implements OpenCVForUnity.UnityUtils.Helper.ISource2MatHelper.
|
protectedvirtual |
Flip the mat.
mat | Mat. |
|
virtual |
Return the video base color format.
Implements OpenCVForUnity.UnityUtils.Helper.ISource2MatHelper.
|
virtual |
Get the buffer colors.
|
virtual |
Return the camera to world matrix.
Implements OpenCVForUnity.UnityUtils.Helper.ICameraSource2MatHelper.
|
virtual |
Return the active camera device name.
Implements OpenCVForUnity.UnityUtils.Helper.ISource2MatHelper.
|
virtual |
Return the active camera framerate.
Implements OpenCVForUnity.UnityUtils.Helper.ICameraSource2MatHelper.
|
virtual |
Return the active camera height.
Implements OpenCVForUnity.UnityUtils.Helper.ISource2MatHelper.
|
virtual |
Get the mat of the current frame.
The Mat object's type is 'CV_8UC4' or 'CV_8UC3' or 'CV_8UC1' (ColorFormat is determined by the outputColorFormat setting). Please do not dispose of the returned mat as it will be reused.
Implements OpenCVForUnity.UnityUtils.Helper.ISource2MatHelper.
|
virtual |
Return the projection matrix matrix.
Implements OpenCVForUnity.UnityUtils.Helper.ICameraSource2MatHelper.
|
virtual |
Return the active WebcamDevice.
|
virtual |
Return the active WebcamTexture.
|
virtual |
Return the active camera width.
Implements OpenCVForUnity.UnityUtils.Helper.ISource2MatHelper.
|
protectedvirtual |
Check camera permission state by coroutine.
|
virtual |
Initialize this instance.
autoPlay | If set to true play after completion of initialization. |
Implements OpenCVForUnity.UnityUtils.Helper.ISource2MatHelper.
|
virtual |
Initialize this instance.
requestedIsFrontFacing | If set to true requested to using the front camera. |
requestedFPS | Requested FPS. |
rotate90Degree | If set to true requested to rotate camera frame 90 degrees. (clockwise) |
autoPlay | If set to true play after completion of initialization. |
|
virtual |
Initialize this instance.
requestedWidth | Requested width. |
requestedHeight | Requested height. |
autoPlay | If set to true play after completion of initialization. |
|
virtual |
Initialize this instance.
deviceName | Device name. |
requestedWidth | Requested width. |
requestedHeight | Requested height. |
requestedIsFrontFacing | If set to true requested to using the front camera. |
requestedFPS | Requested FPS. |
rotate90Degree | If set to true requested to rotate camera frame 90 degrees. (clockwise) |
autoPlay | If set to true play after completion of initialization. |
|
virtual |
Indicate whether the active camera device is currently front facng.
true
, if the active camera device is front facng, false
otherwise.Implements OpenCVForUnity.UnityUtils.Helper.ICameraSource2MatHelper.
|
virtual |
Indicate whether this instance has been initialized.
true
, if this instance has been initialized, false
otherwise.Implements OpenCVForUnity.UnityUtils.Helper.ISource2MatHelper.
|
virtual |
Indicate whether the camera is paused.
true
, if the active camera is paused, false
otherwise.Implements OpenCVForUnity.UnityUtils.Helper.ISource2MatHelper.
|
virtual |
Indicate whether the active camera is currently playing.
true
, if the active camera is playing, false
otherwise.Implements OpenCVForUnity.UnityUtils.Helper.ISource2MatHelper.
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
Raises the destroy event.
|
protectedvirtual |
|
virtual |
Pause the active camera.
Implements OpenCVForUnity.UnityUtils.Helper.ISource2MatHelper.
|
virtual |
Start the active camera.
Implements OpenCVForUnity.UnityUtils.Helper.ISource2MatHelper.
|
protectedvirtual |
To release the resources.
|
virtual |
Stop the active camera.
Implements OpenCVForUnity.UnityUtils.Helper.ISource2MatHelper.
|
protectedvirtual |
|
protected |
Set whether to flip horizontal.
|
protected |
Set whether to flip vertically.
|
protected |
UnityEvent that is triggered when this instance is disposed.
|
protected |
UnityEvent that is triggered when this instance is error Occurred.
|
protected |
UnityEvent that is triggered when this instance is initialized.
|
protected |
Select the output color format.
|
protected |
Set the name of the camera device to use. (or device index number)
|
protected |
Set the frame rate of camera.
|
protected |
Set the height of camera.
|
protected |
Set whether to use the front facing camera.
|
protected |
Set the width of camera.
|
protected |
Set whether to rotate camera frame 90 degrees. (clockwise)
|
protected |
The number of frames before the initialization process times out.
|
protected |
If set to true play after completion of initialization.
|
protected |
The base color format.
|
protected |
The base mat.
|
protected |
The buffer colors.
|
protected |
|
protected |
|
protected |
The frame mat.
|
protected |
Indicates whether this instance has been initialized.
|
protected |
The initialization coroutine.
|
protected |
Indicates whether this instance is waiting for initialization to complete.
|
protected |
|
protected |
The RenderTexture.
|
protected |
The rotated frame mat.
|
protected |
The height of the screen.
|
protected |
The orientation of the screen.
|
protected |
The width of the screen.
|
protected |
The active WebcamDevice.
|
protected |
The active WebcamTexture.
|
getset |
|
getset |
|
getset |
|
getset |
|
getset |
|
getset |
|
getset |
|
getset |
|
getset |
|
getset |
|
getset |
|
getset |
|
getset |