/NatDeviceWithOpenCVForUnityExample

An example of improving performance of video preview on mobile platform by replacing WebCamTexture of Unity standard API with NatDevice.

Primary LanguageC#

NatDevice With OpenCVForUnity Example

  • An example of a benchmark test integrating NatDevice and OpenCVForUnity. (Comparison between WebCamTexture and NatDevice API)
  • An example of replacing WebCamTextureToMatHelper with NatDeviceCamPreviewToMatHelper.
  • An example of native sharing and save to the camera roll using NatShare API.

Environment

Demo

Setup

  1. Download the latest release unitypackage. NatDeviceWithOpenCVForUnityExample.unitypackage
  2. Create a new project. (NatDeviceWithOpenCVForUnityExample)
    • Enable "Allow 'unsafe' Code" option in the "Player Settings > Other Settings" Inspector.
  3. Import NatDevice.
  4. Import NatShare.
  5. Import OpenCVForUnity.
    • Setup the OpenCVForUnity. (Tools > OpenCV for Unity > Set Plugin Import Settings)
    • Select MenuItem[Tools/OpenCV for Unity/Use Unsafe Code]. Use_UnsafeCode.PNG AllowUnsafeCode.PNG
  6. Import the NatDeviceWithOpenCVForUnityExample.unitypackage.
  7. Change the "Minimum API Level" to 24 or higher in the "Player Settings (Androd)" Inspector.
  8. Change the "Target minimum iOS Version" to 13 or higher in the "Player Settings (iOS)" Inspector.
    • Set the reason for accessing the camera in "cameraUsageDescription".
  9. Add the "Assets/NatDeviceWithOpenCVForUnityExample/*.unity" files to the "Scenes In Build" list in the "Build Settings" window.
  10. Build and Deploy to Android and iOS.

Android Instructions

Build requires Android SDK Platform 29 or higher.

iOS Instructions

After building an Xcode project from Unity, add the following keys to the Info.plist file with a good description:

  • NSPhotoLibraryUsageDescription
  • NSPhotoLibraryAddUsageDescription

ScreenShot

screenshot01.jpg screenshot02.jpg screenshot03.jpg