Android 集成 OpenCV native library
来源:互联网 发布:淘宝产品图片怎么做 编辑:程序博客网 时间:2024/05/17 09:39
- Android集成OpenCV native library:
- 目前来看,OpenCV提供的SDK中已经附带了编译好的.a和.so库,使用者可以根据自己的需要选择动态或者静态库链接。
- OpenCV SDK下载地址: http://opencv.org/releases.html
- 选择对应版本的Android pack下载。
- 解压开会发现有一个sdk目录(这里以3.0.0版本为例)。
- sdk/native/libs包含了OpenCV已经编译好的.a静态库和.so动态库。静态库的数量很多,估计是编译的时候直接分模块编译了,个人估计没准可以按功能选择性的引入静态库。不过动态库就只有一个。
- sdk/native/libs中包含了OpenCV所依赖的其他第三方库,这里就只有静态库,因为这种应用场景下只能使用静态库。
- sdk/native/jni包含了include头文件和各种cmake/mk来进行集成编译。
- 一般来说,要将库集成到自己的App中,是需要将库文件和头文件的路径加入到Android.mk中的,并且还需要修改其中的一些编译配置。不过OpenCV在这里就很方便,其sdk/native/jni/中的OpenCV.mk已经替你将上面这些步骤全部包含了。你要做的主要就是将OpenCV.mk include到你的Android.mk中。
- OpenCV.mk使用的一些要点:
- OpenCV.mk会修改LOCAL_XXX变量使得你在include之后基本就可以直接使用,因此,在include OpenCV.mk 后,在使用其提供的信息进行编译前,不要调用include $(CLEAR_VARS),否则前面OpenCV.mk配置的LOCAL_XXX就被清除了,编译会失败
- OpenCV.mk集成静态库:
- 需要在include前这样设定变量: OPENCV_LIB_TYPE := STATIC OPENCV_LIB_TYPE是OpenCV.mk内部使用的变量
- OpenCV.mk集成动态库
- 需要在include前这样设定变量:
- OPENCV_LIB_TYPE := SHARED
- OPENCV_INSTALL_MODULES:=on (这一步会将so库加入到$(PREBUILT_SHARED_LIBRARY)中,后面才能进行link)
- LOCAL_SHARED_LIBRARIES中增加opencv_java3 (为什么叫这个名字,可以参阅OpenCV.mk, 但貌似3.2不需要这一步了)
- 需要在include前这样设定变量:
- OpenCV.mk会替你把OpenCV的头文件都添加到LOCAL_C_INCLUDES中,因此你不需要在自己的Android.mk中在配置。
- 建议通读OpenCV.mk,本身很简单。
0 0
- Android 集成 OpenCV native library
- 如何将android native project作为library集成到parent project
- React Native & Android集成
- react native android集成
- Android Studio 集成OpenCV
- OpenCV 集成到 Android
- android stadio集成React-native
- Android CMake 使用Android Native library
- React-Native-Android集成问题总汇
- Android之原生项目集成React Native
- React Native 已有android工程集成
- React-native 集成 android简单使用
- Android原生项目集成React Native
- Android项目中集成React Native
- react native 集成现有的Android项目
- Android原生项目集成React Native
- Android项目中集成React Native
- Android原生项目集成React Native
- SwipeRefreshLayout初次使用——解决无法下拉问题
- 使用TextView/EditText应该注意的地方
- 重定向和转发的区别
- 改变屏幕Brightness(亮度)
- 控件更新Invalidate和postInvalidate的区别
- Android 集成 OpenCV native library
- java基础17:异常
- 排序算法(一):JAVA实现冒泡排序
- AutoCompleteTextView连接到数据库
- ConstraintLayout详解
- 自定义RatingBar/SeekBar,重载样式
- js中call和apply
- FragmentTabHost中切换Fragment保存状态的2种方法
- 让一个ImageView在屏幕中来回运动