Android | Vuforia 多图同时识别
2015-02-20 00:04
183 查看
网上查阅了各种有关多图同时识别的教程,发现很多教程包括官网的dev-guide都是基于JNI中直接对cpp源码进行的修改。
而在新版本中,Vuforia已经不再公开源码,我们看不到老版本中的cpp文件,而是直接使用封装好的so文件进行编译。通过分析jar包中的源代码以及参考官网老版本源码实现等,下面就关于新版本中如何启动多图同时识别进行分析。
本人目前使用的版本是vuforia-sdk-android-3-0-9。
首先我们看到HINT.class,不难发现,代码中的HINT_MAX_SIMULTANEOUS_IMAGE_TARGETS就是我们需要修改的关键参数;
接下来我们要寻找程序中如何调用修改该参数,我们在VuforiaJNI.class中发现一个setHint方法,正是通过该方法从而修改上面那个关键参数的值进行实现的。
下面就让我们在程序中实现该方法:
在ImageTargets.java中,
1.添加类文件
2.在onQCARUpdate()方法中添加代码
Build&Run!
效果图:
技术参考(有关老版本技术的实现):
1. JNI实现 2. 官网教程 3. 参考博文
而在新版本中,Vuforia已经不再公开源码,我们看不到老版本中的cpp文件,而是直接使用封装好的so文件进行编译。通过分析jar包中的源代码以及参考官网老版本源码实现等,下面就关于新版本中如何启动多图同时识别进行分析。
本人目前使用的版本是vuforia-sdk-android-3-0-9。
首先我们看到HINT.class,不难发现,代码中的HINT_MAX_SIMULTANEOUS_IMAGE_TARGETS就是我们需要修改的关键参数;
public final class HINT { public static final int HINT_MAX_SIMULTANEOUS_IMAGE_TARGETS = 0; }
接下来我们要寻找程序中如何调用修改该参数,我们在VuforiaJNI.class中发现一个setHint方法,正是通过该方法从而修改上面那个关键参数的值进行实现的。
public static final native boolean setHint(long paramLong, int paramInt);
下面就让我们在程序中实现该方法:
在ImageTargets.java中,
1.添加类文件
import com.qualcomm.vuforia.HINT;
2.在onQCARUpdate()方法中添加代码
Vuforia.setHint(HINT.HINT_MAX_SIMULTANEOUS_IMAGE_TARGETS, 2);
Build&Run!
效果图:
技术参考(有关老版本技术的实现):
1. JNI实现 2. 官网教程 3. 参考博文
相关文章推荐
- 关于Vuforia实现同时识别多个标志
- 简述Android触摸屏手势识别
- Android 识别来电号码
- android的文字识别OCR
- Android手机无法识别SD卡的处理方法
- Android手势识别ViewFlipper触摸动画
- android 条码识别软件开发全解析
- android的图像识别
- 【andorid】同时设置android:gravity属性的值为两个
- 【Android】游戏开发--SoundPool类多种音效同时播放
- 简述Android触摸屏手势识别
- Android Makefile中是 如何识别 TARGET_PRODUCT 的
- android语音识别方法一:使用intent调用语音识别程序
- Android自带的人脸识别
- android手机自带浏览器无法识别apk文件
- 编写 Android 触摸屏手势识别程序
- adb 无法识别android手机
- Android Makefile中是 如何识别 TARGET_PRODUCT 的
- Android Makefile中是 如何识别 TARGET_PRODUCT 的
- android 条码识别软件开发全解析(续2详解绝杀!)