Android-图像识别项目OpenCV(4):开发思路以及问题
来源:互联网 发布:杭州大当家网络 编辑:程序博客网 时间:2024/06/01 20:11
上一篇文章:Android-图像识别项目OpenCV(3):程序目标以及单独发布
六、开发思路
搭建好环境和做好各种准备功夫,接下来就开始我们的开发之路。
首先,我们先查看一下官方教程文档,看有没有我们需要的例子。我找到了一个二维图像识别的例子:
http://docs.opencv.org/doc/tutorials/features2d/feature_flann_matcher/feature_flann_matcher.html#feature-flann-matcher
这个教程是用C++写的,用计算特征点来比对两幅图像。如果我们用这个算法可得到特征点的匹配:
这两幅图共有22个特征点,我们到时就可用多于多少个特征点便认为两幅图里的产品为同一个产品来判定了。
遇到问题
上面的代码例子是用C++写的,当我打算用JNI进行调用的时候,却发现了一个大问题。
例子中的步骤一用到SURF算法来识别图中的特征点:
//-- Step 1: Detect the keypoints using SURF Detector int minHessian = 400; SurfFeatureDetector detector( minHessian ); std::vector<KeyPoint> keypoints_1, keypoints_2; detector.detect( img_1, keypoints_1 ); detector.detect( img_2, keypoints_2 );
但是,在Android SDK的JNI库文件里面是不包含SURF算法的。在之后的两天里,我Google了无数个关键词,还是找不到如何在Android中使用这个算法的方法。后来,我在官方论坛、Google groups和StackOverflow上都进行了提问。
解决方法
在发出问题的第二天,我在StackOverflow上收到了某位外国友人的答复,感谢他:
http://stackoverflow.com/questions/12929709/how-to-use-the-opencv-c-specific-sample-on-the-android-platform
他提醒我用另外一个包含在Android SDK的类ORB来解决这个问题,我查了一下,确实有这个类,并且用法也是差不多的。另外,外国友人说这个类的运行效率在手机上还高一点。吐槽下,OpenCV4Android的支持确实差了一点,教程文档基本没有,基本上是靠硬啃API Reference来开发。
注:博客文章为本人原创,转载请标明出处为本人博客:http://www.cnblogs.com/TseChiHoi/。
- Android-图像识别项目OpenCV(4):开发思路以及问题
- Android-图像识别项目OpenCV(4):开发思路以及问题
- Android-图像识别项目OpenCV(1):技术选型以及NDK搭建
- Android-图像识别项目OpenCV(3):程序目标以及单独发布
- Android-图像识别项目OpenCV(1):技术选型以及NDK搭建
- Android-图像识别项目OpenCV(3):程序目标以及单独发布
- Android-图像识别项目OpenCV(2):运行官方例子中的脸部识别程序
- Android-图像识别项目OpenCV(2):运行官方例子中的脸部识别程序
- Android OpenCV图像识别和图像追踪
- 图像识别:Android中使用OpenCV
- android中利用opencv进行图像识别
- 图像识别与处理之Opencv——霍夫变换编程思路(11月2日暂存)
- opencv图像识别(1-17)
- opencv图像识别(18-37)
- opencv图像识别
- 图像识别---opencv安装
- OpenCV实现图像识别
- opencv 图像识别程序
- Java-StringBuffer类常用方法简介
- Java-流的简单使用:读取文件、写入文件(面试题:删除注释代码)
- Android-图像识别项目OpenCV(1):技术选型以及NDK搭建
- Android-图像识别项目OpenCV(2):运行官方例子中的脸部识别程序
- Android-图像识别项目OpenCV(3):程序目标以及单独发布
- Android-图像识别项目OpenCV(4):开发思路以及问题
- Android-Animations的使用大全之二:Frame Animation和其他
- OCP-1Z0-051-V9.02-21题
- Android-Animations的使用大全之一:Tweened Animations详解
- Android-个人心得:超详细的JNI(NDK)入门与使用
- Android-布局单位以及布局详细说明
- 【转】Android-屏幕元素层次结构
- 23种设计模式(12):策略模式
- Git-常用操作