时下人工智能大火,公司需要做一个智能识别图案的app,需要在cocos creator中集成opencv,现将趟坑得出的流程记录下来,让有同样需求的技术人少趟坑。
操作系统 macOS10.15.5
cocos creator 版本 1.9.3
android studio 版本 3.5.2
opencv 版本 3.0.0
为什么不用最新的opencv 4.3.0版本呢,因为我的cocos creator工程用的是ndk14构建的,而opencv4.3.0是用更高版本的ndk构建的,它们之间APP_STL不兼容(gnustl_static/c++_shared),ndk14只能用gnustl_static,所以只能降版本到opencv3.0.0了。
考虑到性能问题,用native和jni的方式集成opencv。
又考虑到易用问题,同时集成openv java包。
一、到opencv官网下载3.0.0版本的android包。
二、cocos creator 用android-26 的 API Level构建android工程。然后将opencv中native目录(上图红框)整个拷贝到android工程中的app目录下面,改名opencv-native,如下图所示:
三、修改app/jni/Android.mk,添加opencv操作模块:
TH := $(call my-dir)
# ============================================原来的cocos2djs模块
include $(CLEAR_VARS)
LOCAL_MODULE := cocos2djs_shared
LOCAL_MODULE_FILENAME := libcocos2djs
ifeq ($(USE_ARM_M