中央广播电视大学开放教育专科毕业论文基于安卓平台的图像引导滤波算法的实现资料Word格式.docx
- 文档编号:14935573
- 上传时间:2022-10-26
- 格式:DOCX
- 页数:19
- 大小:1.18MB
中央广播电视大学开放教育专科毕业论文基于安卓平台的图像引导滤波算法的实现资料Word格式.docx
《中央广播电视大学开放教育专科毕业论文基于安卓平台的图像引导滤波算法的实现资料Word格式.docx》由会员分享,可在线阅读,更多相关《中央广播电视大学开放教育专科毕业论文基于安卓平台的图像引导滤波算法的实现资料Word格式.docx(19页珍藏版)》请在冰豆网上搜索。
第二章Android系统相关知识介绍4
2.1Android系统的诞生与发展4
2.2Android系统框架4
2.3Android优缺点6
2.4Android编译环境搭建7
第三章算法解析9
3.1算法理论介绍9
3.2算法java实现10
第四章仿真实验及分析12
4.1程序演示及分析12
4.2重难点及解决方案15
4.3关键代码17
第五章总结与收获20
参考文献22
附录23
基于安卓平台的图像引导滤波算法的实现
第1章研究背景及意义
在计算机视觉和计算机图形学中大多数程序都牵涉到通过图像滤波来降低噪音或者提取有用的图像结构来对图片进行相应优化的思想。
一些简单的线性平滑滤波算法如高斯滤波器,拉普拉斯算子过滤器,索贝尔过滤器广泛的应用于图像模糊,图像锐化,边缘检测和特征提取等方面。
但是线性平滑滤波过滤器的滤波核是固定不变,独立于任何图像内容。
但在许多情况下,我们可能希望在过滤过程中将给定的引导图像额外的信息体现出来。
第一种解决方案就是通过考虑引导图像优化算法所执行的二次方程,这种解决方案是通过处理以引导图像信息编码的大型稀疏矩阵,这些非齐次的矩阵隐含了变动的滤波核。
这种处理方法广泛的应用在许多应用比如;
着色,抠图,多次度分解和图片消雾中。
另外的一种方法通过引导图像生成滤波核。
比如双边滤波器可以实现平滑滤波的同时还能具有良好的边缘保持性能,但是会产生一些额外的梯度逆转伪影。
而由微软亚洲研究院何恺明博士提出的一种图像引导滤波算法[]。
这种算法本质上是引导图像的线性转换。
该算法能够像双边滤波算法一样较好的实现平滑滤波还能具有良好的边缘保持性能,而且不产生梯度逆转伪影。
而且他也和拉普拉斯矩阵相关,也是在平滑滤波方法中可被接受的一种理念,图像引导滤波算法计算与滤波核的大小无关。
此外,引导滤波器对于灰阶图和彩色图都有精确地算法,在大量的应用中实验证明图像引导滤波算法在效果和效率上有很不错的表现。
随着android手机的普及,各式各样的应用层出不穷,但是在手机图像方面人们往往希望在手机屏幕中显示更为绚丽清晰的图像。
但是目前很多高像素手机拍摄出来的照片因为相机硬件问题,光照,抖动等各种因素照成不如人意的图片。
如果能够在手机上直接对刚生成的图片进行相应的处理和优化那无疑是对手机拍照功能的一大补充。
针对这一情况,本次课题的目的是在Android手机平台上使用图像引导滤波算法实现对图像的优化及处理。
第2章Android系统相关知识介绍
2.1Android系统的诞生与发展
2003年10月,有“Android之父”之称的AndyRubin在美国加利福尼亚州帕洛阿尔托创建了Android科技公司.2005年8月17日,Google收购了Android科技公司,Android科技公司成为Google旗下的一部分。
之后,鲁宾着手负责开发基于Linux内核的移动操作系统即后来的Android操作系统。
2007年11月5日,在Google的领导下,手持设备联盟(OpenHandsetAlliance)成立,第一批成员包括Broadcom公司、HTC、Intel、LG、Marvell等公司。
开放手持设备联盟的创建目的是为了创建一个更加开放自由的移动电话环境。
也在同一日,手持设备联盟联盟对外展示了他们的第一个产品:
一部搭载了以Linux2.6为内核基础的Android操作系统的智能手机。
后来新一批成员陆续加入联盟,同时,一个负责持续发展Android操作系统的开源代码项目成立了AOSP(AndroidOpenSourceProject)。
除了开放手持设备联盟之外,Android还拥有全球各地开发者组成的开源社区来专门负责开发Android应用程序和第三方Android操作系统来延长和扩展Android的功能和性能。
[]
2.2Android系统框架
如图2-1所示Android系统架构为四层结构,从上层到下层分别是应用程序层、应用程序框架层、系统运行库层以及Linux内核层。
图2-1
Android系统的应用层主要是开发人员使用JAVA语言进行开发的一些具有特定功能的应用,如照相机,浏览器,短信发送程序以及一些小游戏等应用。
Android系统的应用框架层是开发人员从事Android开发的基础,很多核心应用程序也是通过这一层来实现其核心功能的,该层简化了组件的重用,开发人员可以直接使用应用框架层所提供的组件来进行应用程序开发,也可以通过重写而实现个性化的拓展。
Android系统的系统运行库层可以分成两部分,分别是系统库和Android运行时库。
其中系统库中主要的库有[]:
MediaFramework:
多媒体库,基于PacketVideoOpenCore;
支持多种常用的音频、视频格式录制和回放,编码格式包括MPEG4、MP3、H.264、AAC、ARM。
SQLite:
小型的关系型数据库引擎。
OpenGL|ES:
根据OpenGLES1.0API标准实现的3D绘图函数库。
FreeType:
提供点阵字与向量字的描绘与显示。
WebKit:
一套网页浏览器的软件引擎。
SGL:
底层的2D图形渲染引擎。
Libc:
从BSD继承来的标准C系统函数库,专门为基于embeddedlinux的设备定制。
Android应用程序时库采用Java语言编写,程序在Android运行时中执行,其运行时分为核心库和Dalvik虚拟机两部分:
核心库:
提供了Java语言API中的大多数功能,同时也包含了Android的一些核心API,如android.os、、android.media等等。
Dalvik虚拟机:
Dalvik虚拟机是一种基于寄存器的Java虚拟机,而不是传统的基于栈的虚拟机,并进行了内存资源使用的优化以及支持多个虚拟机的特点。
Android系统的内核层是基于Linux2.6内核,其核心系统服务如安全性、内存管理、进程管理、网路协议以及驱动模型都依赖于Linux内核。
2.3Android优缺点
优点一:
开放性
Google公司将Android系统的源代码对外开放意味着允许任何移动终端厂商加入到Android联盟中来。
因为Android的开源,专业人士可以利用开放的源代码来进行二次开发,打造出个性化的Android。
例如中国的MIUI就是基于Android2.3原生系统深度开发的Android系统,其与原生系统相比有了较大的改动。
而且开放性可以缩短开发周期,降低开发成本。
如此一来跟有利于Android的发展
优点二:
用户自由度更高
Android操作系统给予了用户跟高的自由度,熟悉Android的都清楚:
用户可以根据自己的喜好来设置手机界面,Android的应用市场甚至上还有各式各样的启动器来供用户自己选择,让自己的手机与众不同。
例如,用户要是喜欢HTC的操作界面,便马上可以在应用市场上找到,甚至还能模仿IOS的界面。
相比于IOS操作系统,Iphone手机只有一成不变的手机界面,不能对其进行更改。
优点三:
大量Android应用程序
正是因为Android平台的开放性,吸引了大量的开发人员进行应用程序开发。
从而使android应用程序数量快速上升。
截止去年10月30日,Android应用首次超过ios应用达到71.3万.
缺点一:
安全问题
由于Android系统的开源以及快速的发展以及审核机制的不完善导致Android市场上出现了一些恶意软件。
2009年11月10日Android平台出现第一个恶意间谍软件:
Mobile
Spy。
2010年8月12日,出现了第一个木马病毒:
Trojan-SMS.AndroidOS.FakePlayer.a[]。
在这些恶意软件的影响之下,用户的隐私不能得到充分的保障,在不经意间就可能泄露自己的隐私。
缺点二:
用户体验不一
因为Android系统的流畅运行需要硬件支持。
而手机厂商对于Android的定制多种多样,导致了一些高配置手机上Android的运行流畅度良好,而低配置手机运行缓慢。
缺点三:
程序平均质量不高
随着Android系统的开源,越来越多的手机厂商在智能手机上使用Android手机,Android手机应用开发者也越来越多,Android应用程序的数量也在快速上升。
但是Android程序开发者的开发水平难免良莠不齐。
在高端应用上,相较于苹果应用,Android应用程序因为其自身多为免费程序,许多应用功能强大Android应用程序的为了商业用途难免在应用程序中夹杂许多推送广告,引起人们的反感。
2.4Android编译环境搭建
2.4.1JDK安装与配置
在网页查看JDK版本信息,若显示版本信息则说明安装成功,若显示错误,请先确认环境变量是否设置。
以Windows7系统为例,假设JDK安装路径在C:
\ProgramFiles\Java\jdk1.6.0_31,进入计算机—>
高级系统设置—>
环境变量—>
系统变量中
90点击新建,在变量名中输入classpath,变量值为C:
\ProgramFiles\Java\jdk1.6.0_31\lib\dt.jar;
C:
\ProgramFiles\Java\jdk1.6.0_31\lib\tools.jar;
2.点击新建,在变量名中输入JAVA_HOME,变量值为C:
\ProgramFiles\Java\jdk1.6.0_31
3.找到path选项,在变量值后面添加C:
\ProgramFiles\Java\jdk1.6.0_31\bin记得用“;
”和前面隔开。
配置完成后再输入java-version进行测试。
2.4.2eclipse安装与配置
进入http:
//www.eclipse.org/downloads/download.php?
file=/technology/epp/downloads/release/juno/SR2/eclipse-java-juno-SR2-win32.zip网页中并下载eclipse进行解压,解压后可直接使用,进入eclipse主界面在主界面上方点击help->
InstallNewSoftware,点击add在name中随意输入名字,location中输入http:
//dl-tools下载并安装相应组件。
2.4.3SDK
在网上搜索并下载SDK,将其解压后的文件所在目录配置到菜单window->
preferences->
android->
SDKlocation.,因为SDK可能存在过时,要进行文件更新才能正常使用。
点击eclipse界面的androidSDKManager,为了方便选择,将显示的所有安装文件选中并开始下载安装。
2.4.4创建AVD
因为android系统是建立在Linux操作系统基础上。
所以编写好的android程序不能直接在windows系统下运行。
因此我们需要搭建一个模拟
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中央广播电视大学 开放 教育 专科 毕业论文 基于 平台 图像 引导 滤波 算法 实现 资料