Android Studio中配置及使用OpenCV示例(一),android应用案例开发大全第四版源码
OK!先看看OpenCVActivity中是如何写的:
public class OpenCVActivity extends Activity{
private Button btn;
private ImageView img;
private Bitmap srcBitmap;
private Bitmap grayBitmap;
private static boolean flag = true;
private static boolean isFirst = true;
private static final String TAG = “gao_chun”;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_opencv);
img = (ImageView)findViewById(R.id.img);
btn = (Button)findViewById(R.id.btn);
btn.setOnClickListener(new ProcessClickListener());
}
@Override
protected void onResume() {
super.onResume();
//load OpenCV engine and init OpenCV library
OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_9, getApplicationContext(), mLoaderCallback);
Log.i(TAG, “onResume sucess load OpenCV…”);
}
//OpenCV库加载并初始化成功后的回调函数
private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) {
@Override
public void onManagerConnected(int status) {
// TODO Auto-generated method stub
switch (status){
case BaseLoaderCallback.SUCCESS:
Log.i(TAG, “成功加载”);
break;
default:
super.onManagerConnected(status);
Log.i(TAG, “加载失败”);
break;
}
}
};
public void procSrc2Gray(){
Mat rgbMat = new Mat();
Mat grayMat = new Mat();
srcBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.genie);
grayBitmap = Bitmap.createBitmap(srcBitmap.getWidth(), srcBitmap.getHeight(), Bitmap.Config.RGB_565);
Utils.bitmapToMat(srcBitmap, rgbMat);//convert original bitmap to Mat, R G B.
Imgproc.cvtColor(rgbMat, grayMat, Imgproc.COLOR_RGB2GRAY);//rgbMat to gray grayMat
Utils.matToBitmap(grayMat, grayBitmap); //convert mat to bitmap
Log.i(TAG, “procSrc2Gray sucess…”);
}
public class ProcessClickListener implements View.OnClickListener{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(isFirst){
procSrc2Gray();
isFirst = false;
}
if(flag){
img.setImageBitmap(grayBitmap);
btn.setText(“查看原图”);
flag = false;
}else{
img.setImageBitmap(srcBitmap);
btn.setText(“灰度化”);
flag = true;
}
}
}
}
再来看看简单的布局界面 activity_opencv.xml:
<RelativeLayout xmlns:android=“http://schemas.android.com/apk/res/android”
android:layout_width=“match_parent”
android:layout_height=“match_parent”>
<TextView
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:layout_alignParentTop=“true”
android:text=“OpenCV”/>
<ImageView
android:id="@+id/img"
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:layout_centerInParent=“true”
android:background="@drawable/genie"/>
<Button
android:id="@+id/btn"
android:layout_width=“wrap_content”
android:layout_height=“wra
p_content”
android:layout_below="@id/img"
android:layout_centerHorizontal=“true”
android:text=“灰度化”/>"
运行后的效果图:
按照步骤来,基本没多大问题,想了想Demo还是上传供大家参考吧,不过由于拷出来后发现整个包有220多M过于恐怖,索性就删掉了一些东西,将app目录下的build目录下内容删除,将src —> main —> jniLibs 下的.so库删除了,注意:若下载demo运行,需要在OpenCV的解压包目录下,将sdk–>native–>libs文件夹下的四个目录复制到项目的jniLibs目录下便可。
CMA==/dissolve/70/gravity/Center)
按照步骤来,基本没多大问题,想了想Demo还是上传供大家参考吧,不过由于拷出来后发现整个包有220多M过于恐怖,索性就删掉了一些东西,将app目录下的build目录下内容删除,将src —> main —> jniLibs 下的.so库删除了,注意:若下载demo运行,需要在OpenCV的解压包目录下,将sdk–>native–>libs文件夹下的四个目录复制到项目的jniLibs目录下便可。
Android Studio中配置及使用OpenCV示例(一),android应用案例开发大全第四版源码相关推荐
- 手写代码详解Android Hook入门demo,android应用案例开发大全第四版源码
2. 实用价值 3. 前置技能 4. hook通用思路 5. 案例实战 6. 效果展示 正文 == 1. hook的定义 hook,钩子.勾住系统的程序逻辑. 在某段SDK源码逻辑执行的过程中,通过代 ...
- Android开发——Android Studio中配置及使用OpenCV示例
from: http://www.mobile-open.com/2015/86176.html 本文主要讲述了Android Studio中配置及使用OpenCV示例,现在整理出来分享给Androi ...
- 怎么配置android远程服务器地址,在 Android studio 中 配置Gradle 进行 “动态编译期间,指定 远程服务器地址 ,生成多个安装包”...
需求: 在产品开发中,经常需要发布各个版本,每个版本的服务器地址有不同的服务器地址.比如 开发服务器使用 192.168.1.232服务器, 测试服务器使用 192.168.1.245服务器, 正式上 ...
- 【Android NDK 开发】NDK 交叉编译 ( Ubuntu 中交叉编译动态库 | Android Studio 中配置使用第三方动态库 )
文章目录 I . 动态库 与 静态库 II . 编译动态库 III. Android Studio 使用第三方动态库 IV . Android Studio 关键代码 V . 博客资源 I . 动态库 ...
- 【Android Protobuf 序列化】Protobuf 使用 ( protobuf-gradle-plugin 插件简介 | Android Studio 中配置插件 | AS 中编译源文件 )
文章目录 一.protobuf-gradle-plugin 插件简介 二.Android Studio 中配置 protobuf-gradle-plugin 插件 三.Android Studio 中 ...
- Android Studio中配置Genymotion模拟器
Android Studio Android Studio下载地址: https://developer.android.google.cn/studio/index.html 百度网盘:https: ...
- 《Android 应用案例开发大全(第二版)》——2.6节绘制相关类
本节书摘来自异步社区<Android 应用案例开发大全(第二版)>一书中的第2章,第2.6节绘制相关类 ,作者 吴亚峰 , 于复兴 , 杜化美,更多章节内容可以访问云栖社区"异步 ...
- 《Android 应用案例开发大全(第二版)》——6.1节Android系统的信使:Intent
本节书摘来自异步社区<Android 应用案例开发大全(第二版)>一书中的第6章,第6.1节Android系统的信使:Intent ,作者李宁,更多章节内容可以访问云栖社区"异步 ...
- 《Android 应用案例开发大全(第二版)》——导读
本节书摘来自异步社区<Android 应用案例开发大全(第二版)>一书中的目录 ,作者 吴亚峰 , 于复兴 , 杜化美,更多章节内容可以访问云栖社区"异步社区"公众号查 ...
最新文章
- CVPR2017-最新目标检测相关
- 转: 从微信的故障谈谈服务可用性
- [BZOJ]2563: 阿狸和桃子的游戏
- 简谈TCP的八个特性
- 《他其实没那么喜欢你》经典台词
- zookeeper 分布式锁_关于redis分布式锁,zookeeper分布式锁原理的一些学习与思考
- 打印出所有的 水仙花数 ,所谓 水仙花数 是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 水仙花数 ,因为153=1的三次方+5的三次方+3的三次方。...
- 如何从PDF文件中快速的提取PDF文件
- selenium火狐驱动_在Selenium Firefox驱动程序上运行测试
- 离散数学之数理逻辑01
- html5 打开支付宝app,支付宝H5唤醒APP
- 连接数据库报错:Access denied for user ‘root‘@ ‘*.*.*.*‘ (using password: YES)
- 功率开关的RC-Snubber电路设计
- 设计模式 访问者模式
- firefox加速技巧
- unable to read local cache ‘C:\\Users\\admin/gensim-data\\information.json‘ during fallback 解决办法
- 更新Pycharm中的pip版本及第三方包的安装问题
- 摒弃Date、Calendar,使用新的日期API
- matlab中偶分量怎么表示,matlab信号与系统演示实验
- HihoCoder - 1441 后缀自动机一·基本概念(模拟)
热门文章
- 激光点云构建地图(二)手动标注点云地图
- 用计算机里可以加50度电,一台电脑开一天用多少度电?台式机节电节能建议和措施...
- R语言学习之正则化表达式
- 抵御“黄貂鱼”攻击,谷歌使出禁用2G“大招”
- 解决问题:ubuntu双屏显示的时候,鼠标从左屏幕向右切在边界处会卡顿,需要快速移动鼠标冲过
- JavaScript(四)
- java 猫 老鼠_猫抓老鼠-Java面向对象特点梳理
- 摄像头视频直播方案比较之方案三:好望云
- 未开启window无线服务器,win10未开启远程桌面服务器
- DHT协议(官方版本)