OpenCV for Unity ver2.3.2 Release!
- Author: Enox Software
- Category: Update
- Tags: OpenCV for Unity
Version 2.3.2
[macOS]Removed 32bit architecture(i386) from opencvforuntiy.bundle.Related posts
OpenCV for Unity ver1.2.7 Release!
Version: 1.2.7 [Common] Added Beta11 Version of “OpenCV for Untiy” based on “OpenCV3.0.0”(Added mjpeg format support in VideoCapture class).
- Author: Enox Software
- Category: Update
- Tags: OpenCV for Unity
How to catch native OpenCV’s errors code (CVException handling)
In order to display the native opencv’s error code, please enclose the code in Utils.setDebugMode(true) and Utils.setDebugMode(false). Example Code: // // CVException handling example // // 32F, channels=1, 3×3 Mat m1 = new Mat (3, 3, CvType.CV_32FC1); m1.put (0, 0, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f); // 8U, channels=1, 3×3 Mat m2 = new Mat (3, 3, CvType.CV_8UC1); m2.put (0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9); // dump Debug.Log (“”m1=”” + m1); Debug.Log (“”m1.dump()=”” + m1.dump ()); Debug.Log (“”m2=”” + m2); Debug.Log (“”m2.dump()=”” + m2.dump ()); #if UNITY_STANDALONE || UNITY_EDITOR // Publish CVException to Debug.LogError. Utils.setDebugMode (true, false); Mat m3 = m1 / m2; Utils.setDebugMode (false); // Throw CVException. Utils.setDebugMode (true, true); try { Mat m4 = m1 / m2; } catch (Exception e) { Debug.Log (“”CVException: “” + e); } Utils.setDebugMode (false); #else Debug.Log (“”The setDebugMode method is only supported on WIN, MAC and LINUX.””); #endif Execution Result: m1=Mat [ 3*3*CV_32FC1, isCont=True, isSubmat=False, nativeObj=0x820637680, dataAddr=0x820295296 ] m1.dump()=[1, 2, 3; 4, 5, 6; 7, 8, 9] m2=Mat [ 3*3*CV_8UC1, isCont=True, isSubmat=False, nativeObj=0x820637792, dataAddr=0x820619712 ] m2.dump()=[ 1, 2, 3; 4, 5, 6; 7, 8, 9] core::divide_12() : OpenCV(3.4.1-dev) C:\Users\xxxxx\Desktop\opencv\modules\core\src\arithm.cpp:683: error: (-5) When the input arrays in add/subtract/multiply/divide functions have different types, the output array type must be explicitly specified in function cv::arithm_op m3=Mat [ […]
- Author: Enox Software
- Category: Tips
- Tags: OpenCV for Unity
OpenCV for Unity ver2.6.4 Release!
Version 2.6.4 [Common] Added various data access methods to the Mat class, including ptr(), at(), AsSpan(), and AsSpanRowRange(). [Common] Updated get() and set() methods in the Mat class to support Span and generics, and updated MatUtils.copyFromMat() and MatUtils.copyToMat() to support Span. [Common] Added structs and ValueTuples corresponding to the data formats of basic OpenCV classes, and created overloads for methods that use these basic classes as arguments, allowing the use of structs and ValueTuples instead. This update simplifies code, enables more efficient memory usage, and improves data access speed. [Common] Added Utils.getFilePathAsyncTask() and Utils.getMultipleFilePathsAsyncTask() methods. It is an asynchronous Task return version of the existing Utils.getFilePathsAsync() method. It can be seamlessly integrated with other asynchronous code. [Common] Added Utils.texture2DToMatRaw() and Utils.matToTexture2DRaw() methods. [Common] Added methods for conversion between Mat and RenderTexture using ComputeShader (Utils.matToRenderTexture(), Utils.renderTextureToMat()). [Common] Added the WebCamTexture2MatAsyncGPUHelper class. [Common] Updated the DebugMatUtils class to support displaying Texture2D and RenderTexture. [Common] Added a face blurring feature to FaceDetectorYNExample. [iOS] Fixed an issue where AddToEmbeddedBinaries was processed redundantly with each incremental build.
- Author: Enox Software
- Category: Update
- Tags: OpenCV for Unity