java cv android video record_使用javacv在android上实现objectfind

"java.lang.NoClassDefFoundError: com.googlecode.javacv.ObjectFinder$Settings"

解决方法:

1、解压javacv.jar,在com/googlecode/javacv中删除 BaseChildSettings.class and BaseSettings.class,然后到cmd命令行中cd到该目录使用 jar cvf com META-INF javacv.jar重新打包 javacv.jar,

2、将javacv.jar和javacpp.jar以及armeabi中的so库拷贝到Libs下;

3、一定要将该project的package类设定为com.googlecode.javacv,然后在src中依次新建文件夹/com/googlecode/javacv然后建立mainactivity.java,右键选择新建类BaseChildSettings.classBaseSettings.class,建立这两个空类;Refresh后就可以了。

但是这样虽然解决了上面的错误,但是如果使用如下的代码会出现错误,

double[] dstCorners;

ObjectFinder objFinder = new ObjectFinder(object);

dstCorners = objFinder.find(image_1);

错误信息:

" java.lang.RuntimeException: java.lang.RuntimeException: /home/saudet/android/OpenCV-2.4.0/modules/legacy/src/features2d.cpp:77: error: (-213) OpenCV was built without SURF support in function void cvExtractSURF(const CvArr*, const CvArr*, CvSeq**, CvSeq**, CvMemStorage*, CvSURFParams, int)"

后来查阅了很多论坛,好多人都有这样的问题,

https://groups.google.com/forum/#!topic/javacv/uuBToveMmOQ

https://groups.google.com/forum/#!searchin/javacv/opencv$20was$20built$20without$20surf/javacv/WlAFXg_w7LE/_RX7X6X2zrgJ

最后发现了一个人使用如下的程序就没问题了,

IplImage result = cvLoadImage("/sdcard/DCIM/phone1.jpg",CV_LOAD_IMAGE_GRAYSCALE);

ObjectFinder objFinder = null;

ObjectFinder.Settings objectFinderSettings = null;

try {

objectFinderSettings = new ObjectFinder.Settings();

objectFinderSettings.setObjectImage(result);

objFinder = new ObjectFinder(objectFinderSettings);

} catch (Exception e) {

e.printStackTrace();

}

但是接下来再进行objFinder.find(img)的时候会出现错误,

" java.lang.RuntimeException: java.lang.RuntimeException: /home/saudet/android/OpenCV-2.4.0/modules/legacy/src/features2d.cpp:77: error: (-213) OpenCV was built without SURF support in function void cvExtractSURF(const CvArr*, const CvArr*, CvSeq**, CvSeq**, CvMemStorage*, CvSURFParams, int)"

查找了半天,应该是cvextractSURF是没法使用的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值