OpenCV for Unity ver2.3.9 Release!

Version 2.3.9 [Common]Updated to OpenCV4.3.0. [Common]Added LibFaceDetectionV2Example, LibFaceDetectionV3Example, ColorizationExample and DocumentScannerExample. [Common]Update ArUcoCameraCalibrationExample and WrapPerspectiveExample.

OpenCV for Unity ver2.3.8 Release!

Version 2.3.8 [Common]Updated to OpenCV4.2.0. [UWP]Added ARM64 Architecture. [WebGL]Added opencvforunity.bc with multi-threading enabled. [Common]Added FastNeuralStyleTransferExample and LibFaceDetectionExample. [Common]Added MatIndexer class and MatUtils class. [Common]Update ComicFilterExample, VideoCaptureExample, OpenPoseExample and MatBasicProcessingExample.

OpenCV for Unity ver2.3.7 Release!

Version 2.3.7 [WebGL]Fixed build errors that occur when DevelopmentBuild is enabled on the WegGL platform. [Common]Added optimization code using NativeArray class. ( require PlayerSettings.allowUnsafeCode flag, “OPENCV_USE_UNSAFE_CODE” ScriptingDefineSymbol and Unity2018.2 or later. ) [iOS]Fixed build errors that occur on the iOS platform with Unity2019.3 or later. [Common]Updated to WebCamTextureToMatHelper.cs v1.1.1.

OpenCV for Unity ver2.3.6 Release!

Version 2.3.6 [WebGL]Fixed “Plugins/WebGL/2018.2/opencvforunity.bc”. [Common]Added multi-dimensional Mat example to MatBasicProcessingExample. [Common]Fixed ARUtils.cs.

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 [ […]

OpenCV for Unity ver2.3.3 Release!

Version 2.3.3 [Common]Updated to OpenCV4.0.0. [Common]Re-assined namespace as was classified by module names. [Common]Updated to WebCamTextureToMatHelper.cs v1.1.0. [Common]Updated to ImageOptimizationHelper v1.1.0 [Common]Added Utils_GetFilePathExample, FaceMarkExample and QRCodeDetectorExample.

OpenCV for Unity ver2.3.1 Release!

Version 2.3.1 [Common]Updated to OpenCV3.4.2. [Android,UWP]Fixed Utils.setDebugMode() method on the IL2CPP backend. [Common]Added DnnObjectDetectionExample and DnnObjectDetectionWebCamTextureExample.