Android-图像识别项目OpenCV(4):开发思路以及问题

原创 2013年09月03日 14:09:58
上一篇文章:Android-图像识别项目OpenCV(3):程序目标以及单独发布

六、开发思路

  搭建好环境和做好各种准备功夫,接下来就开始我们的开发之路。

  首先,我们先查看一下官方教程文档,看有没有我们需要的例子。我找到了一个二维图像识别的例子:

  http://docs.opencv.org/doc/tutorials/features2d/feature_flann_matcher/feature_flann_matcher.html#feature-flann-matcher

  http://www.cnblogs.com/http://www.cnblogs.com/_images/Featur_FlannMatcher_Result.jpg

  这个教程是用C++写的,用计算特征点来比对两幅图像。如果我们用这个算法可得到特征点的匹配:

  http://www.cnblogs.com/http://www.cnblogs.com/_images/Feature_FlannMatcher_Keypoints_Result.jpg

  这两幅图共有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

看了网上的很多教程和官方http://opencv.willowgarage.com/wiki/Android提供的如何在Android上使用OpenCV的教程,照着一步一步的做最后总有些问题,不是A...
  • jingwen3699
  • jingwen3699
  • 2013年11月15日 16:15
  • 10207

基于opencv的身份证识别系统

一、前言 本文主要实现了对身份证图片上身份证号码的自动识别,在Qt平台上使用opencv进行图像处理,并绘制简单的用户界面,设计了一个基于Qt和opencv的身份证号码识别系统。 二、用户界面   ...
  • AP1005834
  • AP1005834
  • 2016年05月24日 22:04
  • 10442

Android OpenCV图像识别和图像追踪

首先介绍一下OpenCV中图像识别和跟踪机制:        图像跟踪机制是确定矩目标在3D环境中的姿态,并根据此类信息环绕目标对象绘制轮廓线。在最终的2D图像中,考虑到目标可能相对于相机倾斜,因而...
  • u012500046
  • u012500046
  • 2016年12月14日 17:14
  • 5284

Android-图像识别项目OpenCV(4):开发思路以及问题

六、开发思路   搭建好环境和做好各种准备功夫,接下来就开始我们的开发之路。   首先,我们先查看一下官方教程文档,看有没有我们需要的例子。我找到了一个二维图像识别的例子:   ht...
  • binyao02123202
  • binyao02123202
  • 2012年10月19日 16:57
  • 2535

Android-图像识别项目OpenCV(3):程序目标以及单独发布

五、程序的目标   在Google Play上有一款应用就是用到OpenCV来实现扑克牌识别的,虽然这款应用有一些缺点:   1.没有带OpenCV binaries一起发布,所以用这个程序另外要...
  • u011945525
  • u011945525
  • 2013年09月03日 14:09
  • 792

Android-图像识别项目OpenCV(3):程序目标以及单独发布

五、程序的目标   在Google Play上有一款应用就是用到OpenCV来实现扑克牌识别的,虽然这款应用有一些缺点:   1.没有带OpenCV binaries一起发布,所以用这个程序另外要...
  • binyao02123202
  • binyao02123202
  • 2012年10月19日 16:56
  • 2766

图像识别(4)——《OpenCV3编程入门-毛星云》第二部分 初探core组件

博主QQ:1356438802 平台:Win7 64bits + Visual Studio 2012 + OpenCV 2.4.10
  • luoyouren
  • luoyouren
  • 2016年11月01日 12:00
  • 814

Opencv图像识别从零到精通(4)----cMake与源代码与image watch

其实在学习opencv图像的时候,不是那么需要看源代码。但是还是有想学习一下的人,所以就写出来如何去看源代码,其实名字应该是代码追踪,就是我们在设置断点调试的时候,可以看到内部的定义,一堆一堆,在后面...
  • qq_20823641
  • qq_20823641
  • 2016年07月13日 18:06
  • 2985

android中利用opencv进行图像识别

之前开发的时候老大让研究下图像识别的功能,同事推荐看看opencv,发现对于移动端来说opencv的资料和demo都比较少,现在整理下之前的工作成果。 首先是进行配置工作,先导入opencv的一个代...
  • xw13782513621
  • xw13782513621
  • 2017年03月08日 16:16
  • 5394

【CNTK/OpenCV/Android】Server+Android+CNN实现移动端图像识别系统

使用CNTK训练的网络,和OpenCV提供的图片处理支持。在Android平台将图片上传服务器并返回图片种类。留自己备忘。转载请注明出处->http://blog.csdn.net/bless2015...
  • bless2015
  • bless2015
  • 2016年08月29日 15:47
  • 3295
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android-图像识别项目OpenCV(4):开发思路以及问题
举报原因:
原因补充:

(最多只允许输入30个字)