android上使用opencv遇到的一点问题
2015-10-25 22:46
357 查看
http://www.eefocus.com/ssagittis/blog/15-03/310655_2bd1e.html
本想在安卓上使用Opencv4android还蛮容易,不像在qt或vc上那样,直接导个包进去就能解决战斗,但没想到遇了个问题耗掉了我几天的功夫。就是程序一运行就蹦掉了,如图:
试了网上好多方法,主要就是要加上这两段:
private BaseLoaderCallback mBaseLoaderCallback = new BaseLoaderCallback(this) {
@Override
public void onManagerConnected(int status) {
// TODO Auto-generated method stub
switch (status){
case BaseLoaderCallback.SUCCESS:
break;
default:
super.onManagerConnected(status);
break;
}
}
};
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_9, getApplicationContext(), mBaseLoaderCallback);
}
不过我加了还是不行,又试了各种,加载库啊,换sdk的位置啥的,最后被一篇博客中的一小段文字给救了 http://blog.csdn.net/yanzi1225627/article/details/16917961
以下一段摘自那篇博客:
最重要的一点:app在找OpenCV里的一些包时必须在onResume函数OpenCVLoader.initAsync()之后,否则会找不到库。最初我将procSrc2Gray();放在initUI()之后直接挂掉,后来放到OpenCVLoader.initAsync()依旧不行。除了上面代码里的方法外,还可以用一个延迟,默认等加载完包初始化后,再进行图像处理的操作:
好吧,一直以来我为了图方便一直将图像处理部分放在oncreate中,从activity周期来看
onresume在oncreate后面,而opencv的初始化在onresume中:
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_9, getApplicationContext(), mBaseLoaderCallback);
我把处理放在button的listener中就ok了,就这么简单,不过这简直让我差点绝望了
}
本想在安卓上使用Opencv4android还蛮容易,不像在qt或vc上那样,直接导个包进去就能解决战斗,但没想到遇了个问题耗掉了我几天的功夫。就是程序一运行就蹦掉了,如图:
试了网上好多方法,主要就是要加上这两段:
private BaseLoaderCallback mBaseLoaderCallback = new BaseLoaderCallback(this) {
@Override
public void onManagerConnected(int status) {
// TODO Auto-generated method stub
switch (status){
case BaseLoaderCallback.SUCCESS:
break;
default:
super.onManagerConnected(status);
break;
}
}
};
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_9, getApplicationContext(), mBaseLoaderCallback);
}
不过我加了还是不行,又试了各种,加载库啊,换sdk的位置啥的,最后被一篇博客中的一小段文字给救了 http://blog.csdn.net/yanzi1225627/article/details/16917961
以下一段摘自那篇博客:
最重要的一点:app在找OpenCV里的一些包时必须在onResume函数OpenCVLoader.initAsync()之后,否则会找不到库。最初我将procSrc2Gray();放在initUI()之后直接挂掉,后来放到OpenCVLoader.initAsync()依旧不行。除了上面代码里的方法外,还可以用一个延迟,默认等加载完包初始化后,再进行图像处理的操作:
好吧,一直以来我为了图方便一直将图像处理部分放在oncreate中,从activity周期来看
onresume在oncreate后面,而opencv的初始化在onresume中:
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_9, getApplicationContext(), mBaseLoaderCallback);
我把处理放在button的listener中就ok了,就这么简单,不过这简直让我差点绝望了
}
相关文章推荐
- android Push 服务的消息
- Android:Using shared element transitions in fragments
- Android五大布局方式——相对布局(RelativeLayout)属性详解
- Android中让GIF图片动起来
- Android-ActionBar扩展
- android studio ,Gradle DSL method not found: 'compile()'
- androidStudio gradle 编译基础
- [转]Android--多线程之Handler
- Android五大布局方式详解
- Android activity属性设置整理
- Android点击控件改变颜色的两种方法——onTouchLisener()和xml资源文件selector的使用
- Android中BindService方式使用的理解
- Android学习【10】PreferenceFragment偏好设置(二)
- Android开发历程之一:Activity组件-Activity生命周期
- android 57 QQ登录
- androidStudio 多渠道打包
- android 56
- Bitmap的高效加载
- android ListView出了错怎么找问题
- android源码编译出错(4)