参考文章:http://blog.youkuaiyun.com/yanzi1225627/article/details/16917961
作者:yanzi1225627
环境:
eclipse:ADT 22.6.3.v201404151837-1123206
操作系统:windows7
OpenCV-2.4.9-android-sdk
android 4.2.2
之前考虑了JNI方式调用OpenCV,最主要的原因是Java版本的接口找不到,想使用更方便一点的接口,顺便把OpenCV Manager去除。不过看了http://blog.youkuaiyun.com/yanzi1225627/article/details/16917961这篇文章之后我改变想法了,按这篇文章的说法OpenCV的Java接口都可以在opencv library - 2.4.4.jar下面找到。虽然还需要OpenCVManager不过好像可以载入静态库,暂时不考虑这个。
本文根据参考文章进行了实验,并对其中较为重要的代码进行简单的分析(当然能简化的就简化了)。
一:新建安卓工程
Project:OpenCV_test
Package:com.example.opencv_test
Activity:MainActivity
这里需要注意一下,最小版本最好选择4.0以上,否则会出现android-support-v7-appcompat。
在res\drawable下存在r.jpg文件。
在文件系统中将opencvlibrary - 2.4.9.jar拷到工程底下的libs文件夹,刷新工程。在Android Private Libraries底下能看到opencv library -2.4.9.jar。opencv library - 2.4.9.jar可以在OpenCV-2.4.9-android-sdk\sdk\java\bin目录底下找到,当然如果按我这样做,就可以不用在设置里面导入库了。
这步是为了将这个jar包导进工程,之后就可以使用opencv的API了。个人觉得这种方法比较方便。
res/layout/activity_main.xml文件内容为
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"