综上所述,我们可以基本知晓本软件的功能需求:
(1) 启动应用程序;
(2) 选择功能:用户可以根据自己的需要选择要进行处理的图片;
(3) 照相功能:用户可以从手机自身携带的摄像头拍照从而进行处理;
(4) 拼接功能:用户可以选择多张图片进行横向拼接或者纵向拼接;
(5) 裁剪功能:用户可以对自己的图片进行裁剪;
(6) 滤镜功能:用户可以对自己的图片选择喜爱的滤镜效果;
(7) 底色变换功能:用户可以对自己的白底相片进行底色变换,从而生成蓝底或者红底的证件照。
2。4 性能分析
本图像处理APP无需互联网服务即可进行使用,运行速度快、也不会泄露用户个人信息,安全性高。
3 开发环境
3。1 Java开发环境配置
(1) 首先需要下载Java开发工具包JDK,网址http://www。oracle。com/tech
network/java/javase/downloads/index。html[2];
(2) 安装JDK;
(3) 配置环境变量
3。2 安装与JDK位数相对应的Eclipse版本论文网
从Eclipse官网进行下载,Eclipse的位数要与先前配置的JDK的位数相一致,32位的JDK对应32位的Eclipse;64位的JDK与64位的Eclipse相对应[3]。下载完成后根据提示进行安装即可。
3。3 在Eclipse上进行Android开发环境搭建
(1) 启动Eclipse,在Eclipse上在线安装ADT插件:点击Help->Install New Software…[4];
(2) 下载并安装Android SDK;
(3) 构建Android模拟机,建议真机实测。
3。4 在Eclipse上构建OpenCV的开发环境
(1) 首先下载OpenCV4Android软件包,版本自行选择,并将其解压到非系统盘中;
(2) 将OpenCV库导入到eclipse中;
(3) 配置CDT和NDK;
(4) 关联OpenCV库;
(5) 根据自己手机或者模拟机的版本安装相对应的OpenCV Manager。apk[5];
4 系统设计
4。1 确定系统的运行环境
(1) 系统运行的操作系统:Android;
(2) 使用到的编程语言:c++、Java;
(3) 需要使用到的第三方库:OpenCV;
4。2 划分系统模块,设计总体框架
本图像处理软件按照其功能需求进行模块划分,划分如下图4。1所示:
图4。1 功能模块划分
4。3 分析模块需求,抽象出实现模块功能的各个类
(1) 相册选择功能文献综述
APP需要能够选择并访问手机的相册,所以本模块需要一个类PhotoAlbum用来获取并存储各个相册的信息,并且需要自定义一个Adapter类PhotoAlbumAdapter类来传递这些信息,将其绑定到制定的View上;访问相册之后需要将相册里存储的各个相片按照一定的排列方式显示在手机屏幕上,所以需要一个类PhotoItem来存储各张照片的信息以及状态,因此为了实现以上功能,该类还需要实现Serializable接口来保存内存中的各种对象、实例变量的状态,PhotoAdapter来传递数据。显示各个对象需要定义一个PhotoGridItem类,显示出来的对象需要供用户进行选择,所以该类需要实现Checkable接口以传递对象被选择的状态信息。此外,还需要将用户选择的对象图片单独显示出来以供用户确认,所以还需要自定义一个GridView类MyGridView。
(2) 拼接功能
所需要用到的类Android库已经有所提供。首先需要一个PhotoAlbum类传递用户选择的对象的路径,再创建Bitmap类接受路径,最后通过Canvas类进行拼接图片的绘制。