




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕 业 论 文 目 录1 绪论12 Hadoop平台介绍及HIPI介绍22.1 Hadoop平台介绍22.2 HIPI介绍23 Hadoop平台的搭建与开发平台配置43.1 实验平台及其基本配置43.2 分布式搭建43.3 开发平台配置64 基于HIPI的图像处理实现64.1 上传64.2 HIB文件转换为图像束文件74.3 灰度处理74.4 下载84.5 HIB文件转换为jpg文件95 总结与展望9致谢9 全文共 10 页 4327 字基于Hadoop的图像处理研究计算机与信息工程学院指导教师 讲师摘要 图像获取和存储技术的发展,使图像数据大量增加,如何应对日益增多的海量数据,并进行有效的存储和快速处理,成为我们面临的主要难题。本文在Hadoop开源平台的基础上,利用分布式文件系统HDFS与分布式计算框架MapReduce,结合数字图像处理理论与HIPI开放式API,讨论了图像的分布式处理的相关技术,实现平台下海量图像数据的上传、下载、合并及灰度处理等功能。关键词 Hadoop;HIPI;图像处理;分布式1 绪论 图像作为一种信息媒介,它不仅没有语言的限制而且内容丰富。各个应用领域图像数量增长十分迅速,从天文观测到对地遥感,从电子商务到社交网站,每天都在产生TB级的图像。图像文件相比文本文件有占用空间大,处理速度慢的特点,因此提高图像的处理效率对于具体应用来讲,有着重要的理论意义和实用价值。Hadoop默认处理文本文件,而图像文件的保存和处理方式与普通文本文件不一样,且Hadoop没有自带图像处理接口。况且Hadoop框架很适合大文件的操作,我们平时使用的图片的文件都比较小,如果这种小文件不经过处理直接上传,会十分影响性能。所以本文采用第三方开发的图像处理接口HIPI(Hadoop Image Processing Interface),它将来源的图像进行合并处理,并存储到HDFS上再进行MapReduce处理。本文主要研究基于Hadoop的图像处理问题,重点在于实现基本的分布式图像处理,并减少图像处理的时间。首先简单描述了图像处理和云计算的国内研究现状以及本文的主要研究内容;其次介绍了Hadoop平台、HIPI以及平台的搭建和配置;最后实现了Hadoop HIPI图像处理,并做出总结和展望。2 Hadoop平台介绍及HIPI介绍 2.1 Hadoop平台介绍Apache Hadoop是一款支持数据密集型分布式应用并以Apache2.0许可协议发布的开源软件框架,它有很多分支,如HDFS、MapReduce和Hbase等,主要有可扩展性、低成本、高效性、可靠性等特点1 邓自立,云计算中的网络拓扑设计和Hadoop平台研究D.中国科学技术大学.2009.。HDFS(Hadoop Distributed File System) 是管理网络中跨多台计算机存储的文件系统,适合部署在廉价的普通商业机器上。对外部客户机而言,HDFS跟传统的分级文件系统一样,可以进行文件的创建、删除、移动和重命名操作。HDFS是一种基于一组特定的节点构建的架构,这些节点包括一个NameNode和多个DataNode,NameNode在 HDFS 内部提供元数据服务,DataNode为HDFS 提供存储块。文件被分成块存储在HDFS中,这些块存储在多个DataNode中。块的大小(通常为64MB)和副本的数量可以在部署集群时设定。NameNode可以控制所有文件操作。在Hadoop上开发运行应用程序对于用户来讲并不难,处理海量数字图像更不在话下。任何MapReduce应用程序至少包含三个函数:一个Map函数、一个Reduce函数和一个main函数。main函数将作业控制和文件的输入和输出结合起来。Hadoop 提供了为Hadoop应用程序开发人员提供许多工具,如大量的接口和抽象类,降低了调试和性能度量的难度。2.2 HIPI介绍图像处理方法可以分为两大类,即光学图像处理和数字图像处理2 余松煜,周源华,张瑞.数字图像处理M.上海:上海交通大学出版社.2007.。本文中所指图像处理为后者,是用计算机对各种数字图像信息进行处理,来得到某种预期的效果或者从图像中提取有用的信息。要想完成数字图像处理,首先要将图像文件存储于HDFS系统中。Hadoop默认处理的是大数据的文本文件3 张学浪.基于Hadoop的海量图像检索关键技术研究D.西北农林科技大学.2013.,而图像文件保存和处理方式与普通文本文件不一样,Hadoop没有自带的图像处理接口。由于Hadoop框架对大文件的操作有优势,而我们平时使用的图片的文件都比较小,如果这种小文件不经过处理直接上传,会十分影响性能。HIPI4 Chris Sweeney,Liu Liu ,Sean Arietta等.HIPI: A Hadoop Image Processing Interface for Image-based MapReduce TasksEB/OL. /cmsweeney/papers/ undergrad_thesis.pdf.2014.5是基于Hadoop MapReducede平台的一个大型的图像处理和计算机视觉库。它的设计是为了使大型的图像处理变得简单,提高图像处理的效率。HIPI由弗吉尼亚大学(The University of Virginia)的Chris Sweeney等人编写。它提供了分布式计算环境中执行数字图像处理任务所需要API,用于合并及切割图像文件。HIPI中提供了图像的数据类型、文件输入格式和片段读取方式,HIPI中最基本的类是HipiImageBundle类、FloatImage类和CullMapper类。HIPI使用的输入类型被称为HipiImageBundle(HIB)5 HIPI..2014.5。 ImageHeader和FloatImage分别是一个图像文件的元数据信息和数据信息,ImageBundleInputFormat和ImageBundleRecordReader分别是文件的输入格式和片段读取方式。图2-1 HIPI图像处理流程图为了提高某些程序的效率,HIPI允许用户指定一个挑选功能,用来剔除不符合标准的图像,如剔除大于1000万像素的图像或者长宽超过限制的图像。如图2-1所示,调用用户指定的CullMapper类对每个测试图像进行挑选。用户可以在安装过程中通过重新更改HipiJob对象来修改图像处理的执行参数,并以此来修改MapReduce过程。3 Hadoop平台的搭建与开发平台配置3.1 实验平台及其基本配置整个实验平台由5台普通pc机和一个交换机构成,4个slave节点,内存为1G,磁盘 31.7G。1个master节点,内存8G,磁盘38.3G。操作系统为ubuntu-12.04,Hadoop 软件版本为Hadoop-2.3.0,java环境为jdk-6u41。为了方便运行,在master节点安装了Eclipse。3.2 分布式搭建各节点在集群中的角色,机器名,用户名及IP如下表所示:表3-1 集群网络配置hostname角色登录用户IP网关hapmastermasterHadoop11hapslave1slaveHadoop16hapslave2slaveHadoop17hapslave3slaveHadoop18hapslave4slaveHadoop19具体部署步骤如下:(1) 安装ubuntu12.04 系统,更新源,初始化root用户,关闭防火墙,按表3-1中个节点的配置修改IP,更改 hostname和hosts,重启电脑使更改生效。表3-2 配置hadoo-env.sh和yarn-env.sh的参数参数取值说明JAVA_HOME/home/hadoop/jdk1.6.0_41设置Java安装目录表3-3 配置core-site.xml的参数参数取值说明fs.defauleFShdfs:/11:9000设置文件系统hadoop.tmp.dirfile:/home/hadoop/hadoop-2.3.0/tmphadoop的临时目录(2) 安装SSH ,并检查是否安装成功。(3) 安装JDK,修改环境变量,使更改生效,查看java版本。(4) 安装Hadoop,配置环境变量,重载source /etc/profile,查看Hadoop版本,Step赋予用户对Hadoop安装目录可写的权限。(5) 控制Hadoop安装的配置文件有很多6 张良将.基于Hadoop云平台的海量数字图像数据挖掘的研究D.上海交通大学.2013.Research on Image Processing of HadoopComputer and Information Engineering College Zhou Jiaqi 20101104119Directed by Meng Fanjun LecturerAbstract With the development of image acquisition and storage technology, there is a significant increase in image data. What the major challenges we faced is how to deal with the growing number of huge amounts of data, and efficient storage and fast processing. Based on the open source platform Hadoop, use of HDFS distributed file system and distributed computing framework MapReduce, combined with digital image processing theory and HIPI open API, discussed the images distributed processing technologies to achieve massive image data under the platform upload, download, mergers and gray-processing and other functions.Keywords Hadoop;HIPI;Image Processing;Distributed,这些配置文件都在Hadoop根目录下etc/hadoop/文件夹中,最重要的是以下几个配置文件:hadoop-env.sh为Bash脚本格式文件,用于记录运行Hadoop脚本要用的环境变量;core-site.xml为Hadoop配置XML格式文件,用于配置HadoopCore的配置项,如HDFS和MapReduce常用的I/O设置。上述配置文件的内容如上表3-2、表3-3。hdfs-site.xml为Hadoop配置XML格式文件,用于配置Hadoop守护进程的配置项,包括Namenode、辅助Namenode和Datanode等;mapred-site.xml为Hadoop配置文件XML格式,用于配置MapReduce守护进程的配置项,包括jobtracker和tasktracker;slaves文件为纯文本格式,用于配置运行Datanode和tasktracker的机器列表,每行一个Datanode的hostname。上述配置文件的内容如下表3-4、表3-5和表3-6所示:表3-4 配置hdfs-site.xml的参数参数取值说明.dirfile:/home/hadoop/hadoop-2.3.0/dfs/nameNamenode工作目录dfs.namwnode.data.dirfile:/home/hadoop/hadoop-2.3.0/dfs/dataDatanode工作目录dfs.replication3文件块的副本数表3-5 配置mapred-site.xml的参数参数取值说明yarnmap-reduce运行框架表3-6 配置slaves节点名参数取值说明slaveshapslave1hapslave2hapslave3hapslave4所有slave节点的hostname (6) 使用将hapmaster的所有文件及配置复制到hapslave,并修改IP和hostname。(7) 生成新公钥,并复制到其他节点,重启SSH服务使其生效,并登陆。(8) 启动Hadoop集群,查看集群状态。3.3 开发平台配置(1) 进入安装包所在的文件夹,并解压安装包到Hadoop用户文件夹下。tar -zxvf eclipse-standard-luna-M2-linux-gtk.tar.gz -C /home/Hadoop/(2) 复制Hadoop-eclipse-plugin-2.3.0.jar到eclipse安装目录/plugins/下。 (3) 重启eclipse,配置Hadoop installation directory。 打开Window-Preferens,选择Hadoop Map/Reduce选项,在这个选项里配置Hadoop installation directory。配置完成后退出。(4) 配置Map/Reduce Locations。在Window-Show View中打开Map/Reduce Locations。在Map/Reduce Locations中新建一个Hadoop Location。在这个View中,右键-New Hadoop Location。在弹出的对话框中配置Location name为Hadoop,Map/Reduce Master Host为11,Port为10020;DFS Master Port为9000。(5) 新建Map/Reduce项目,验证Hadoop插件是否安装成功。 File-New-Other-Map/Reduce Project项目名取为WordCount。复制 Hadoop-2.3.0-src/Hadoop-mapreduce-project/Hadoop-mapreduce-examples/src/main/java/org/apache/Hadoop/examples/WordCount.java到workspace刚刚新建的的项目文件夹下。 (6) 把hipi-dev.tar.gz中3rdparty中的metadata-extractor-2.3.1.jar导入的到项目中去。(7) 将junit-4.11.jar导入到项目中。由于现在HIPI还有一些BUG,所以把hipi-dev.tar.gz中src的源码和experiments源码引入到eclipse的jar项目中,一方面便于学习源码,另一方面便于修改其中的问题。4 基于HIPI的图像处理实现4.1 上传通过MyAddImage.java在HDFS上新建一个HipiImageBundle hib,并将本地文件夹下所有图片通过文件遍历方法(共123.5M,297项)上传,合并为一个hib文件,生成test.hib(2.4K)和test.hib.dat(117.8M)(图4-2中input文件夹下)。hib文件存储所有图像的元数据信息,而hib.dat文件存储图像数据。 该方法实现代码如下:public static void ReadAllFile() throws IOException Configuration conf=new Configuration();HipiImageBundle hib=new HipiImageBundle(new Path(hdfs:/11:9000/input/test.hib), conf);hib.open(AbstractImageBundle.FILE_MODE_WRITE,true);File f = null;f = new File(/home/hadoop/input/test/);File files = f.listFiles();List list = new ArrayList();for (File file : files) FileInputStream fis=new FileInputStream(file);hib.addImage(fis,ImageType.JPEG_IMAGE);4.2 HIB文件转换为图像束文件图4-1 参数设置图4-2 DFS视图设置CreareSequenceFile.java运行的输入路径和输出路径,参数有两个,第一个参数为待转换的hib文件路径, 第二个参数为输出路径。参数设置如图4-1所示。使用CreareSequenceFile.java将上一步生成的hib文件(117.8M)转换成SequenceFile文件(39.9M,图4-2中part-r-00000)。4.3 灰度处理通过Img2Gray.java可以处理SequenceFile文件,输入有三个参数,第一个参数为输入文件路径,第二个参数是输出文件路径,输出文件为jpg格式,第三个参数是输入文件的格式。该方法可以处理的图像文件格式有四种:hib、har、small_files、sequence。相同情况下处理sequence文件(即图像束文件)的速度较快。运行该程序得到经过灰度处理并且用hashcode存储的jpg文件,这一步通过convert(FloatImage.RGB2GRAY)和hashCode()实现。输出的文件名为 hashCode + .jpg。将上一步生成的图像束文件进行灰度处理,处理结果
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025自考国考会计试题及答案
- 土木工程考试题库及答案
- 考点解析-人教版九年级《电与磁》综合测评练习题(含答案详解)
- 护理表演学考试题及答案
- 难点详解人教版八年级上册物理光现象《光的直线传播》专项测评试题(含答案及解析)
- 考点攻克人教版九年级《电功率》综合练习试题(含答案及解析)
- 2025-2026学年度上海市六年级上册初中数学9月月考试题 参考答案
- 十大类考试题目及答案
- 滕州二中分班考试试卷及答案
- 湘潭县一中开学考试题及答案
- 2025年江苏省公务员考试行测试题真题及解析
- 2025年矿山建设工程考试题库
- 本科教学审核评估汇报
- 非油提质增效汇报
- 都江堰水利工程课件
- 2025年小学生航空航天知识竞赛题库 (共120题附答案)
- 祛痘培训课件
- 医疗反歧视培训
- 液氮运输投标方案(3篇)
- 《2019年甘肃省职业院校技能大赛学前教育专业教育技能赛项竞赛规程(高职教师组)》
- 护理工作的模式
评论
0/150
提交评论