我们需要在Unity中使用WebCamTexture获取图像,传送到OpenCV中做处理,然后返回到Unity中作显示;Unity通过调用动态链接库so与OpenCV进行通信,最终程序会打包成APK并且在Android上运行。
系统环境:
Visual Studio 2015
OpenCV 3.4.7
Android API level 19 & 26
Unity 2019.2.5f1
.NET Framework 4.7.2
生成动态链接库
本文使用的是Visual Studio 2015,注意要安装Xamarin和Android SDK
打开Visual Studio,新建一个Android动态共享库项目UnityAndroidDeme:
项目名字右键->属性->配置属性->C/C++->常规->附加包含目录,添加Path-to-OpenCV-android-sdk\sdk\native\jni\include。
项目名字右键->属性->配置属性->C链接器->常规->附加库目录,添加Path-to-OpenCV-android-sdk\sdk\native\libs\armeabi-v7a。
项目名字右键->属性->配置属性->C链接器->输入->附加依赖项,添加Path-to-OpenCV-android-sdk\sdk\native\libs\armeabi-v7a\libopencv_java3.so,注意这里需要完整的路径。
项目名字右键->属性->配置属性->常规->目标API级别,选取KitKat 4.4 - 4.4.4,(android-19)。
添加文件UnityAndroidDemo.h,UnityAndroidDemo.cpp和UnityAndroidDemoDLL.cpp。
UnityAndroidDemo.h:
#pragma once
#include
#include
struct Color3