Android提高十六篇之使用NDK把彩图转换灰度图
来源:互联网 发布:木工圆包圆算法 编辑:程序博客网 时间:2024/05/22 14:47
本文来自http://blog.csdn.net/hellogv/ ,引用必须注明出处!
在Android上使用JAVA实现彩图转换为灰度图,跟J2ME上的实现类似,不过遇到频繁地转换或者是大图转换时,就必须使用NDK来提高速度了。本文主要通过JAVA和NDK这两种方式来分别实现彩图转换为灰度图,并给出速度的对比。
先来简单地介绍一下Android的NDK使用步骤:
以NDK r4为例,或许以后新版的NDK的使用方法略有不同。
1、下载支持C++的android-ndk-r4-crystax,支持C++的话可玩性更强......
2、下载cygwin,选择ftp://mirrors.kernel.org这个镜像,搜索 Devel Install 安装 gcc 和 make 等工具;
在搜索框里分别搜索gcc和make,必须是 Devel Install 栏的。
3、Cygwin安装目录下,找到home/username的目录下的.bash_profile文件,打开文件在最后加上:
NDK=/cygdrive/d:cygwin/android-ndk-r4-crystax
export NDK
PS:假设安装在D:/cygwin/android-ndk-r4-crystax。
4、运行cygwin,通过cd命令去到NDK/samples/例子目录/,运行$NDK/ndk-build来编译该目录下的Android.mk
以下是个人习惯.......
5、安装Eclipse的CDT,官方下载cdt安装包,解压缩后把plugins和feagures 复制覆盖到eclipse文件夹下即可
6、去到系统属性->环境变量->Path添加"D:/cygwin/bin"(假设cygwin安装在D:下)和"D:/cygwin/android-ndk-r4-crystax",重启计算机,然后就可以在Eclipse里面建立基于cygwin的C/C++工程了,先通过这一步来验证NDK的程序能够编译成功,然后再通过第4步来生成SO文件。
接下来看看本文程序运行的效果:
从转换灰度图的耗时来说,NDK的确比JAVA所用的时间短不少。
main.xml源码如下:
主程序testToGray.java的源码如下:
封装NDK函数的JAVA类LibFuns.java的源码如下:
彩图转换为灰度图的ImgToGray.cpp源码:
Android.mk的源码:
- Android提高十六篇之使用NDK把彩图转换灰度图
- Android提高十六篇之使用NDK把彩图转换灰度图
- Android提高十六篇之使用NDK把彩图转换灰度图
- Android提高十六篇之使用NDK把彩图转换灰度图
- Android提高十六篇之使用NDK把彩图转换灰度图
- Android提高十六篇之使用NDK把彩图转换灰度图
- Android提高十六篇之使用NDK把彩图转换灰度图
- 【Android】Android Studio中使用OpenCV将彩图转换成灰度图
- OpenCV简单例子之彩图转化为灰度图
- android 使用NDK进行图像处理(openCV)时的图像转换问题(灰度图显示)
- 彩图转灰度图算法
- 将24位BMP真彩图转换成BMP灰度图
- 数字图像处理_真彩图转换灰度图_纯C
- 将24位BMP真彩图转换成BMP灰度图
- 灰度图与彩图的双边滤波
- opencv 3.0 灰度图 转 彩图 applyColorMap
- Matlab之索引图像转化为灰度图和真彩图
- 24位真彩图转8位灰度图
- 32位系统与64位系统的区别
- 什么是ORM?为什么要使用ORM?
- Discuz 首页欢迎最新会员不自动更新 的解决办法
- iPhone开发小技术
- Linux 信号解析
- Android提高十六篇之使用NDK把彩图转换灰度图
- 人民币上的景点 你知道是哪吗?
- 在oracle下如何创建database link全面总结
- 使用Windows Mobile 6模拟器上网的步骤
- 注册15个月了
- 近期任务
- 使用隐式方式调用DLL实现浮点数的四则运算
- 如何解决浏览器的兼容性
- 序列化的过程