算法移植优化(二)android gpuimage使用
1、在androidMainfest.xml中加入:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
2、添加控件imageview、按钮button进行消息响应
3、图片的显示需要缩放:
//读取图片,并显示到控件imageViewImageView imageView = (ImageView) findViewById(R.id.imageView);Bitmap d= BitmapFactory.decodeFile(picturePath);int nh = (int) ( d.getHeight() * (512.0 / d.getWidth()) );Bitmap scaled = Bitmap.createScaledBitmap(d, 512, nh, true);imageView.setImageBitmap(scaled);
1、从https://github.com/CyberAgent/android-gpuimage下载gpuimage,并把android-gpuimage/library/src文件目录源码拷贝处理,与我们自己的项目src目录合并。
2、在我们的src目录下,有个build.gradle打开,然后往dependencies中加入:
compile 'jp.co.cyberagent.android.gpuimage:gpuimage-library:1.4.1'
3、在mainactivity中加入gpu相关处理程序
//gpu 预处理 GPUImage mGPUImage = new GPUImage(this); //mGPUImage.setGLSurfaceView((GLSurfaceView) findViewById(R.id.imageView));//加入这句,程序会崩溃 mGPUImage.setImage(scaled); //设置gpu要处理的图片 mGPUImage.setFilter(new GPUImageSobelEdgeDetection());//设置滤波方法 d = mGPUImage.getBitmapWithFilterApplied();//进行gpu图像处理,获取处理后的图片
4、mainactivity主要源码如下:
//读取图片,并显示到控件imageView ImageView imageView = (ImageView) findViewById(R.id.imageView); Bitmap d= BitmapFactory.decodeFile(picturePath); int nh = (int) ( d.getHeight() * (512.0 / d.getWidth()) );//把图片缩放到可以在屏幕上显示 Bitmap scaled = Bitmap.createScaledBitmap(d, 512, nh, true); //gpu 预处理 GPUImage mGPUImage = new GPUImage(this); //mGPUImage.setGLSurfaceView((GLSurfaceView) findViewById(R.id.imageView));//加入这句,程序会崩溃 mGPUImage.setImage(scaled); //设置gpu要处理的图片 mGPUImage.setFilter(new GPUImageSobelEdgeDetection());//设置滤波方法 d = mGPUImage.getBitmapWithFilterApplied();//进行gpu图像处理,获取处理后的图片 imageView.setImageBitmap(d);//设置view控件中的显示内容
算法移植优化(二)android gpuimage使用相关推荐
- 嵌入式算法移植优化学习笔记5——CPU,GPU,TPU,NPU都是什么
嵌入式算法移植优化学习笔记5--CPU,GPU,TPU,NPU都是什么 一.什么是CPU? 二.什么是GPU? 三.什么是NPU? 四.什么是TPU? 附: 随着AI的广泛应用,深度学习已成为当前AI ...
- 算法移植优化(三)android dlib 人脸检测使用
android dlib 人脸检测使用 一.编译阶段 1.在cmakelist.txt中加入: include(src/main/cpp/dlib/cmake) 然后再链接dlib库就可以了: tar ...
- 算法移植优化(一)android 学习笔记
1.在android中,每个activity表示一个页面,当我们想要用一个按钮打开某个文件的时候,就涉及到页面的切换问题:就相当于MFC中的视图切换,当然MFC打开文件是用了内置的对话框页面. 每个a ...
- 算法移植优化(六)tensorflow模型移植推理优化
一.freeze graph #coding=utf-8 #write by hjimce-2017-3-30 import tensorflow as tf from tensorflow.pyth ...
- 算法移植优化(七)cmake常用函数记录
由于cmake我一般是项目移植的时候,才会涉及到,一些常用函数隔一段时间就会忘记,所以在此做一下笔记,以便日后查看. 1.添加链接库所在的目录: link_directories("./li ...
- 算法移植优化(四)c++11 多线程
c++11多线程库:std::thread 一.join函数:用于等待线程对象运行结束 程序从main函数开始,本来由一个线程执行:当执行到std::thread定义一个线程对象,给定初始构造函数后, ...
- 【Android 内存优化】垃圾回收算法 ( 内存优化总结 | 常见的内存泄漏场景 | GC 算法 | 标记清除算法 | 复制算法 | 标记压缩算法 )
文章目录 一. 内存优化总结 二. 常见的内存泄漏场景 三. 内存回收算法 四. 标记-清除算法 ( mark-sweep ) 五. 复制算法 六. 标记-压缩算法 一. 内存优化总结 内存泄漏原理 ...
- 【Android 内存优化】Android 原生 API 图片压缩原理 ( Bitmap_compress 方法解析 | Skia 二维图形库 | libjpeg 函数库 | libpng 函数库 )
文章目录 一. 图片质量压缩方法 二. Skia 二维图形库 三. libjpeg.libpng 函数库引入 在博客 [Android 内存优化]图片文件压缩 ( Android 原生 API 提供的 ...
- 强化学习经典算法笔记(十二):近端策略优化算法(PPO)实现,基于A2C(下)
强化学习经典算法笔记(十二):近端策略优化算法(PPO)实现,基于A2C 本篇实现一个基于A2C框架的PPO算法,应用于连续动作空间任务. import torch import torch.nn a ...
最新文章
- mysql centos 源码安装_centos7源码安装mysql8
- zip直链生成网站_安装网站程序
- springboot整合alibbaba-dubbo
- python在哪个方向岗位最多_Python就业方向这么多,哪些岗位最有发展?
- php 带$字符处理,thinkphp中的特殊字符处理
- VB6升级到VB2010之一:变量升级~
- vmware fusion 7 序列号
- android获取本地连接ip地址,参照第二步将本地连接改成自动获取IP地址即可
- 楷书书法规则_楷书的结构法则
- 概率论与数理统计-离散型随机变量基础知识
- 50岁的程序员还奋战一线,软件测试能干到多少岁?有年龄限制吗?
- PCB入门使用技巧——个人笔记
- 读书笔记都应该写成这样才牛叉!
- 阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
- SQL 难点解决:集合及行号
- MS Access 与 Excel区别与各自的优势
- H5全景视频VR视频
- Guava Predicate 用法整理
- MBA案例分析(行销与营销之营销五)
- SVN使用中的经验浅谈
热门文章
- jsp页面javascript没反应
- 使用jsp,tag提取字符串中的单词
- python 3.8 新特性_Python 3.8六大新功能
- android 长按 秒事件_原来手机长按2秒,能开启5个实用功能,一键提取图片上的文字...
- 两个空间点直接距离投影公式_HBAO(屏幕空间的环境光遮蔽)
- DEA使用git提交代码时,点了commit之后卡死在performing code analysis部分,或者performing code analysis结束后没有进入下一步操作。...
- Python-selenium-操作元素
- Roman and Browser-罗曼的浏览器 CodeForce1100A 暴力
- flask standrad class 使用
- 【转】Java和C++的区别有哪些?