Android 和OpenCV整合开发(2)---去除OpenCV Manager包的方法

以修改FaceDetection例子工程为例>

  • 1,修改makefile【Android.mk】(在jni目录下)
  • OpenCV_CAMERA_MODULES:=on
    OpenCV_INSTALL_MODULES:=on
    OpenCV_LIB_TYPE:=SHARED
    include ${OpenCVROOT}/sdk/native/jni/OpenCV.mk

2,修改FdActivity.java文件

<1>增加静态函数

static {
 Log.i(TAG,"OpenCV library load!");
 if (!OpenCVLoader.initDebug()) {
 Log.i(TAG,"OpenCV load not successfully");
 } else {
 System.loadLibrary("detection_based_tracker");// load other libraries
}
}

<2>删除FdActivity.java的OnResume()方法的最后那句,不让它去访问OpenCV Manager

@Override
public void onResume() {
super.onResume();
//OpenCVLoader.initAsync(OpenCVLoader.OpenCV_VERSION_2_4_3, this, mLoaderCallback);//
}

<3>修改FdActivity.java的OnCreate()方法

public void onCreate(Bundle savedInstanceState) {
 Log.i(TAG,"called onCreate");
super.onCreate(savedInstanceState);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

setContentView(R.layout.face_detect_surface_view);

// add start
 try {
 // load cascade file from application resources
 InputStream is = getResources().openRawResource(R.raw.lbpcascade_frontalface);
 File cascadeDir = getDir("cascade", Context.MODE_PRIVATE);
 mCascadeFile = new File(cascadeDir,"lbpcascade_frontalface.xml");
 FileOutputStream os = new FileOutputStream(mCascadeFile);

 byte[] buffer = new byte[4096];
 int bytesRead;
 while ((bytesRead = is.read(buffer)) != -1) {
 os.write(buffer, 0, bytesRead);
}
is.close();
os.close();

 mJavaDetector = new CascadeClassifier(mCascadeFile.getAbsolutePath());
 if (mJavaDetector.empty()) {
 Log.e(TAG,"Failed to load cascade classifier");
 mJavaDetector = null;
 } else
 Log.i(TAG,"Loaded cascade classifier from"+ mCascadeFile.getAbsolutePath());

 mNativeDetector = new DetectionBasedTracker(mCascadeFile.getAbsolutePath(), 0);// hujiawei

cascadeDir.delete();

 } catch (IOException e) {
e.printStackTrace();
 Log.e(TAG,"Failed to load cascade. Exception thrown:"+ e);
}

//add end

 mOpenCVCameraView = (CameraBridgeViewBase) findViewById(R.id.fd_activity_surface_view);
mOpenCVCameraView.enableView();// add.
mOpenCVCameraView.setCvCameraViewListener(this);
}
时间: 2024-10-14 07:17:01

Android 和OpenCV整合开发(2)---去除OpenCV Manager包的方法的相关文章

Android 7.0 以上保留数据去除锁屏密码的方法

在很多情况下,由于我们的疏忽,导致忘记了锁屏密码.也没有开启 USB 调试,内置存储中还有要保留的数据.我们需要在不清除数据的情况下删除锁屏密码.接下来我们就介绍该如何做. 注意事项 首先要注意,这个方法不能用于已经绑定了 data 加密的设备.例如 Motorola,设置了输入锁屏密码才能启动设备,这种方法就不再适用了.原因是这种类型的设备,使用了锁屏密码加密了 data 分区,导致无法修改 data 分区. 适用 Android Android 7.0+ 已测试机型 Moto Z Andro

【OpenCV入门教程之一】 OpenCV 2.4.8 +VS2010的开发环境配置

目录(?)[-] 因为读研期间的研究方向是图像处理所以浅墨这段时间闭门研究了很多OpenCV和图像处理相关的知识与内容眼看自己积累到一定的程度了于是决定开始开设这个OpenCV系列专栏总结自己所学也分享知识给大家 还是先放出待会儿的测试用图 下载和安装OpenCV SDK sources里面是源代码想查看完整的源代码需要用cmake来解包如何解包大家百度一下就可以或者下次浅墨来专门讲一讲这里就先不多说了 配置环境变量 工程包含include目录的配置 工程库lib目录的配置 链接库的配置 在Wi

使用VivadoHLS实现OpenCV的开发流程

Xilinx_FPGA_Zynq设计中使用HLS实现OpenCV的开发流程 http://www.docin.com/p-1321408588.html 使用VivadoHLS实现OpenCV的开发流程 http://xilinx.eetop.cn/viewnews-1668

(转) 安装OpenCV:OpenCV 2.4.8或OpenCV 2.4.9 +VS 开发环境配置

因为读研期间的研究方向是图像处理,所以浅墨这段时间闭门研究了很多OpenCV和图像处理相关的知识与内容.眼看自己积累到一定的程度了,于是决定开始开设这个OpenCV系列专栏,总结自己所学,也分享知识给大家. 好了,这篇文章作为OpenCV的启程篇,自然少不了先系统地介绍OpenCV开发环境的配置. 浅墨前后经历过OpenCV 2.4.6,OpenCV 2.4.7,OpenCV 2.4.8这三个版本的配置,有时候还要涉及到三个版本之间的转换,所以还是对OpenCV的配置有一定的理解的,希望自己的一

安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置

本系列文章由@浅墨_毛星云 出品,转载请注明出处.   文章链接:http://blog.csdn.net/poem_qianmo/article/details/19809337 作者:毛星云(浅墨)    微博:http://weibo.com/u/1723155442 邮箱: [email protected] 知乎:http://www.zhihu.com/people/mao-xing-yun 写作当前博文时配套使用的OpenCV版本: 2.4.8.2.4.9.3.0   ( 2014

【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置

本系列文章由@浅墨_毛星云 出品.   文章链接:http://blog.csdn.net/poem_qianmo/article/details/19809337 1.下载和安装OpenCV SDK VS2010不用说,肯定都安装了吧.来说说当前最新的OpenCV版本2.4.8(2014年2月24日),2.4.9 (2014年4月)的下载和安装.与其说是安装,不如叫解压更加合适,因为我们下载的exe安装文件就是一个自解压程序而已. 在官网:http://opencv.org/上找到OpenCV

「Unity」与iOS、Android平台的整合:3、导出的Android-Studio工程

本文属于「Unity与iOS.Android平台的整合」系列文章之一,转载请注明出处. Unity默认导出的是Android-Eclipse工程,毕竟Eclipse for Android开发在近一两年才开始没落,用户量还是非常巨大的. 个人认为AndroidStudio非常好用,能轻易解决很多Eclipse解决不了或者很难解决的问题. 所以我将Unity导出的Andoid工程分为Eclipse和AndroidStudio两部分. 不过我之后的相关内容都会使用AndroidStudio,希望依然

HTML5端云整合:智能端应用与云端服务整合开发实战

课程简介:       作为Web与移动开发的新标准的HTML5/JavaScript/CSS3,已经纷纷被手机应该开发采用,这不但让UI极具弹性,而且也更容易与云计算整合. 本课程是云计算与智能终端时代的HTML5开发的一站式解决方案,专为企业内训和公开课制作,是完整覆盖HTML5时代开发人员所需使用的360度的技术解决方案,内容细致入微: 课程目标: 全面解析以HTML5+JavaScript来开发应用: 使用JavaScript开发云计算: 定制浏览器并具备开放html5浏览器的能力: 学

「Unity」与iOS、Android平台的整合:2、导出的Android-Eclipse工程

本文属于「Unity与iOS.Android平台的整合」系列文章之一,转载请注明出处. Unity默认导出的是Android-Eclipse工程,毕竟Eclipse for Android开发在近一两年才开始没落,用户量还是非常巨大的. 个人认为AndroidStudio非常好用,能轻易解决很多Eclipse解决不了或者很难解决的问题. 所以我将Unity导出的Andoid工程分为Eclipse和AndroidStudio两部分. 不过我之后的相关内容都会使用AndroidStudio,希望依然