基于Socket手机图像采集和传输系统设计与实现.docVIP

基于Socket手机图像采集和传输系统设计与实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Socket手机图像采集和传输系统设计与实现

基于Socket手机图像采集和传输系统设计与实现   摘 要:本系统采用C/S模式,客户端采用Android开发平台,服务器端采用Java开发环境,客户端与服务器端之间的连接通过Socket通信,提供对图像信息的基本操作,包括图像添加、删除、查找、上传以及分类等,从而实现了一种基于Socket的手机图像采集和传输系统。   关键词:Android;Camera;C/S模式;Socket   1 引言   在2G时代,图像的采集仅保存于手机内存卡上,对内存卡的要求比较高,并且图像的传输受限于较小的传输介质覆盖范围和带宽,手机等移动终端上图像实时传输的应用实例并不多,形式上也多为定期的图片传输。随着网络的高速发展,在Android系统中图像流的采集和传输越来越快速、便捷,大多都利用传输媒介保存到远程服务中,比较常见的传输媒介有3G、EDGE及WiFi等。   本文设计和开发了一种将大量图片保存在远程服务器的手机图像采集和传输系统,不仅减轻了手机客户端的存储压力,同时还可进行图片的远程备份和编辑,使整个图片保存更有条理,管理更方便。   2 系统功能概述   本系统实现了在手机端对实时景象进行采集,并上传到远程服务器,同时对上传图像提供分类、查找功能。系统采用C/S模式,客户端和服务器端采用Socket进行连接。客户端使用Android开发平台,负责进行图像的采集和保存、浏览,并选择上传到远程服务器端。服务器端采用Java开发,负责将上传的图片保存到数据库中,实现图片编号、添加、查找、编辑和分类功能。   3 系统关键技术   3.1 Socket连接   Socket用于描述IP地址和端口,在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认[2][3],如图1所示。   3.2 Camera类   通过实现android.hardware.Camera.PictureCallback接口,在onPictureTaken重载函数中,获取当前拍摄的图像数据,实现拍照保存的流程如下[4]:   4 系统的主要实现   4.1 客户端   图像采集功能主要通过重载onPictureTaken函数,将拍下的图像数据发送到一个指向文件的输出流中,将图像保存到文件中:   public void onPictureTaken(byte[] arg0,Camera arg1) {   press(Bitmap.CompressFormat.JPEG,80, bOutputStream);   bOutputStream.flush();   bOutputStream.close();}   客户端在连接服务器上传图片时,本机的端口不需要指定,系统会自动选取一个当前不用的端口与服务端固定端口连接:   Socket s = new Socket(SERVER_ADDR,SERVER_PORT);   OutputStream out = s.getOutputStream();   InputStream in = new FileInputStream(a);   while((i in.read())!=-1) {out.write(i); }   4.2 服务器端   ⑴服务器端开启socket连接服务,等待客户端的连接,准备接收图片:   ⑵得到发送方的输入流:   ServerSocket server = new ServerSocket(SERVER_PORT);   Socket s = server.accept();   InputStream in = s.getInputStream();   BufferedReader bf = new BufferedReader(new InputStreamReader(in));   ⑶构造保存文件的文件输出流:   OutputStream out = new FileOutputStream(d:/+file_name+.jpeg);   ⑷从输入流按字节循环读取字节,发给输出流,直到输入流结束:   while((i=in.read())!=-1){out.write(i);}   5 结束语   本文分析了Android操作系统中图像采集、显示与传输相关的各种关键技术,基于Android平台,结合网络图像传输技术,设计并实现了一个手机图像采集和传输系统,该系统可运行于3G无线通信网络和WLAN无线网络,具有终端功能完善、可扩展性强等特点,达到了最初的设计目的。   [参考文献]   [1

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档