轻松告别OpenCV Manager

在使用Android开发过程中,需要对图形图像进行处理的时候,一般都会使用OpenCV这个强大的视觉库,然而对很多新接触OpenCV的同学们,在安装官方给的sample时候,必须要安装OpenCV Manager,否则会出现找不到库的错误,刚开始的时候我也很纠结,后来在网上找了些资料,官网上也查了查文档,发现简单的几步就可以实现不用OpenCV Manager。
下面把我的部分代码贴出来,大家在使用官方的sample时候,可以参考一下
1、修改jni的Android.mk文件,把OpenCV的那部分,将off设置为on,并设置OpenCV_LIB_TYPE为SHARED,表示动态引用OpenCV的so库
OpenCV_CAMERA_MODULES:=on
OpenCV_INSTALL_MODULES:=on
OpenCV_LIB_TYPE:=SHARED
2、在Java代码中使用静态初始化块代码,使用libopencv_java.so和自己需要的so文件
static { System. loadLibrary ( "opencv_java" ); System. loadLibrary ( "abc" ); //自己需要的so文件 }
3、在使用OpenCV的Java类中,删除penCVLoader.initAsync(),不使用OpenCV Manager。
public void onResume() {
super.onResume();
//OpenCVLoader.initAsync(OpenCVLoader.OpenCV_VERSION_2_4_3, this, mLoaderCallback);
}
4、修改Java类中的OnCreate()方法,如同在官方sample中,从上面的回调方法 private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this)代码块中的业务逻辑,复制放到OnCreate的setContentView()后,也就是说,自己写的业务逻辑,要放在OnCreate的setContentView()后,然后拷贝mOpenCVCameraView.enableView();放到mOpenCVCa meraView= (CameraBridgeViewBase) findViewById(R.id. .. )后面,即可在publicMat onCameraFrame() 方法中使用照相机进行开发,顺便提一句,如果使用JNI开发,调用C++程序,也是在该方法中,把Mat对象的两个long型参数传递到C++端。
5、卸载OpenCV Manager,然后重新调试运行即可。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值