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 obtaining video frames from a file using OpenCV's VideoCapture
and converting them to OpenCV Mat
format.
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 VideoCapture2MatHelper object. | |
virtual Source2MatHelperColorFormat | GetBaseColorFormat () |
Return the video base color format. | |
virtual string | GetDeviceName () |
Return the active video device name. | |
virtual float | GetFPS () |
Return the video framerate. | |
virtual int | GetFrameCount () |
Return the number of frames in the current video content. | |
virtual int | GetFrameIndex () |
Return the video frame index. | |
virtual float | GetFramePosRatio () |
Return the relative position of the video file: 0=start of the film, 1=end of the film. | |
virtual int | GetHeight () |
Return the video height. | |
virtual Mat | GetMat () |
Get the mat of the current frame. | |
virtual VideoCapture | GetVideoCapture () |
Return the VideoCapture instance. | |
virtual int | GetWidth () |
Return the video width. | |
virtual void | Initialize (bool autoPlay=true) |
Initialize this instance. | |
virtual void | Initialize (string requestedVideoFilePath, bool autoPlay=true) |
Initialize this instance. | |
virtual bool | IsInitialized () |
Indicate whether this instance has been initialized. | |
virtual bool | IsPaused () |
Indicate whether the video is paused. | |
virtual bool | IsPlaying () |
Indicate whether the video is currently playing. | |
virtual void | Pause () |
Pause the video. | |
virtual void | Play () |
Start the video. | |
virtual void | SetFrameIndex (int index) |
Set the video frame index. | |
virtual void | SetFramePosRatio (float ratio) |
Set the relative position of the video file: 0=start of the film, 1=end of the film. | |
virtual void | Stop () |
Stop the video. | |
Public Member Functions inherited from OpenCVForUnity.UnityUtils.Helper.IVideoSource2MatHelper | |
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 | LateUpdate () |
virtual void | OnDestroy () |
Raises the destroy event. | |
virtual void | OnValidate () |
virtual void | ReadFrame () |
virtual void | ReleaseResources () |
To release the resources. | |
virtual void | StartWaitFrameTimeThread () |
virtual void | StopWaitFrameTimeThread () |
virtual void | WaitFrameTimeThreadWorker () |
Protected Attributes | |
int | _apiPreference = Videoio.CAP_ANY |
Set the apiPreference. VideoCapture API backends identifier. (Advanced Option) See ReadMe.pdf for setup instructions for using CAP_FFMPEG on Windows platforms. | |
bool | _didUpdateImageBufferInCurrentFrame = false |
bool | _didUpdateThisFrame = false |
Mat | _imageBufferMat |
bool | _isPlaying = false |
bool | _isReading = false |
bool | _isThreadRunning = false |
bool | _loop = true |
Indicate whether to play this video in a loop. | |
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.BGR |
Select the output color format. | |
string | _requestedVideoFilePath = string.Empty |
Set the video file path, relative to the starting point of the "StreamingAssets" folder, or absolute path. | |
bool | _shouldStopThread = false |
int | _timeoutFrameCount = 1500 |
The number of frames before the initialization process times out. | |
VideoCapture | _videoCapture |
bool | autoPlayAfterInitialize |
If set to true play after completion of initialization. | |
Source2MatHelperColorFormat | baseColorFormat = Source2MatHelperColorFormat.BGR |
The base color format. | |
Mat | baseMat |
The base mat. | |
Mat | frameMat |
The frame mat. | |
IEnumerator | getFilePathCoroutine |
The get file path coroutine. | |
bool | hasInitDone = false |
Indicates whether this instance has been initialized. | |
System.Object | imageBufferMatLockObject = new System.Object() |
The image buffer mat. | |
IEnumerator | initCoroutine |
The initialization coroutine. | |
bool | isInitWaiting = false |
Indicates whether this instance is waiting for initialization to complete. | |
System.Object | sync = new System.Object() |
System.Object | videoCaptureLockObject = new System.Object() |
Properties | |
virtual int | apiPreference [get, set] |
virtual bool | didUpdateImageBufferInCurrentFrame [get, set] |
virtual bool | didUpdateThisFrame [get, set] |
Mat | imageBufferMat [get, set] |
virtual bool | isPlaying [get, set] |
virtual bool | isReading [get, set] |
virtual bool | isThreadRunning [get, set] |
virtual bool | loop [get, set] |
UnityEvent | onDisposed [get, set] |
Source2MatHelperErrorUnityEvent | onErrorOccurred [get, set] |
UnityEvent | onInitialized [get, set] |
virtual Source2MatHelperColorFormat | outputColorFormat [get, set] |
virtual string | requestedVideoFilePath [get, set] |
virtual bool | shouldStopThread [get, set] |
virtual int | timeoutFrameCount [get, set] |
VideoCapture | videoCapture [get, set] |
Properties inherited from OpenCVForUnity.UnityUtils.Helper.IVideoSource2MatHelper | |
Properties inherited from OpenCVForUnity.UnityUtils.Helper.ISource2MatHelper |
A helper component class for obtaining video frames from a file using OpenCV's VideoCapture
and converting them to OpenCV Mat
format.
The VideoCapture2MatHelper
class uses OpenCV's VideoCapture
to read frames from a specified video file and converts each frame to an OpenCV Mat
object. This component automatically retrieves the appropriate frame based on the video's frame rate, ensuring smooth playback and accurate frame timing.
To ensure compatibility across platforms, it is recommended to use the MJPEG format for video files, as it is widely supported by the VideoCapture
class.
This component is particularly useful for applications that require frame-by-frame processing of video files in Unity, allowing seamless integration with OpenCV-based image processing routines.
Note: By setting outputColorFormat to BGR, processing that does not include extra color conversion is performed.
Attach this component to a GameObject and call GetMat()
to retrieve the latest video frame in Mat
format. The helper class manages video file loading, frame retrieval, and frame updates internally based on the video's playback rate.
|
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 VideoCapture2MatHelper object.
Call Dispose when you are finished using the VideoCapture2MatHelper. The Dispose method leaves the VideoCapture2MatHelper in an unusable state. After calling Dispose, you must release all references to the VideoCapture2MatHelper so the garbage collector can reclaim the memory that the VideoCapture2MatHelper was occupying.
Implements OpenCVForUnity.UnityUtils.Helper.ISource2MatHelper.
|
virtual |
Return the video base color format.
Implements OpenCVForUnity.UnityUtils.Helper.ISource2MatHelper.
|
virtual |
Return the active video device name.
Implements OpenCVForUnity.UnityUtils.Helper.ISource2MatHelper.
|
virtual |
Return the video framerate.
Implements OpenCVForUnity.UnityUtils.Helper.IVideoSource2MatHelper.
|
virtual |
Return the number of frames in the current video content.
Implements OpenCVForUnity.UnityUtils.Helper.IVideoSource2MatHelper.
|
virtual |
Return the video frame index.
Implements OpenCVForUnity.UnityUtils.Helper.IVideoSource2MatHelper.
|
virtual |
Return the relative position of the video file: 0=start of the film, 1=end of the film.
Implements OpenCVForUnity.UnityUtils.Helper.IVideoSource2MatHelper.
|
virtual |
Return the video 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 VideoCapture instance.
|
virtual |
Return the video width.
Implements OpenCVForUnity.UnityUtils.Helper.ISource2MatHelper.
|
virtual |
Initialize this instance.
autoPlay | If set to true play after completion of initialization. |
Implements OpenCVForUnity.UnityUtils.Helper.ISource2MatHelper.
|
virtual |
Initialize this instance.
requestedVideoFilePath | Requested video file path. |
autoPlay | If set to true play after completion of initialization. |
|
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 video is paused.
true
, if the video is paused, false
otherwise.Implements OpenCVForUnity.UnityUtils.Helper.ISource2MatHelper.
|
virtual |
Indicate whether the video is currently playing.
true
, if the video is playing, false
otherwise.Implements OpenCVForUnity.UnityUtils.Helper.ISource2MatHelper.
|
protectedvirtual |
|
protectedvirtual |
Raises the destroy event.
|
protectedvirtual |
|
virtual |
Pause the video.
Implements OpenCVForUnity.UnityUtils.Helper.ISource2MatHelper.
|
virtual |
Start the video.
Implements OpenCVForUnity.UnityUtils.Helper.ISource2MatHelper.
|
protectedvirtual |
|
protectedvirtual |
To release the resources.
|
virtual |
Set the video frame index.
index | The video frame index. |
Implements OpenCVForUnity.UnityUtils.Helper.IVideoSource2MatHelper.
|
virtual |
Set the relative position of the video file: 0=start of the film, 1=end of the film.
ratio | The relative position of the video file: 0=start of the film, 1=end of the film. |
Implements OpenCVForUnity.UnityUtils.Helper.IVideoSource2MatHelper.
|
protectedvirtual |
|
virtual |
Stop the video.
Implements OpenCVForUnity.UnityUtils.Helper.ISource2MatHelper.
|
protectedvirtual |
|
protectedvirtual |
|
protected |
Set the apiPreference. VideoCapture API backends identifier. (Advanced Option) See ReadMe.pdf for setup instructions for using CAP_FFMPEG on Windows platforms.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Indicate whether to play this video in a loop.
|
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 video file path, relative to the starting point of the "StreamingAssets" folder, or absolute path.
|
protected |
|
protected |
The number of frames before the initialization process times out.
|
protected |
|
protected |
If set to true play after completion of initialization.
|
protected |
The base color format.
|
protected |
The base mat.
|
protected |
The frame mat.
|
protected |
The get file path coroutine.
|
protected |
Indicates whether this instance has been initialized.
|
protected |
The image buffer mat.
|
protected |
The initialization coroutine.
|
protected |
Indicates whether this instance is waiting for initialization to complete.
|
protected |
|
protected |
|
getset |
|
getsetprotected |
|
getsetprotected |
|
getsetprotected |
|
getsetprotected |
|
getsetprotected |
|
getsetprotected |
|
getset |
|
getset |
|
getset |
|
getset |
|
getset |
|
getset |
|
getsetprotected |
|
getset |
|
getsetprotected |