基于Android的裁衣数据自动采集系统设计与实现
2015-04-30陈彦文等
陈彦文等
摘要摘要:设计一款面向服装电子商务行业的基于Andriod的用户裁衣数据自动采集系统。利用该系统可通过手机摄像头拍照获取用户裁衣数据,据此向用户推荐尺寸合适的各种款式服装。实际应用表明,该系统自动采集裁衣数据准确度较高,提高了用户网购服装的体验。
关键词关键词:Android;裁衣数据采集;摄像头控制
DOIDOI:10.11907/rjdk.151188
中图分类号:TP319
文献标识码:A文章编号文章编号:16727800(2015)004009402
0引言
随着电子商务和智能手机应用的迅速发展,服装的网络销售市场不断发展壮大。然而,不能试穿,难以确定衣服是否合身,用户体验有待提高。针对该问题,本文基于职能Android手机,开发了一款能自动测量用户裁衣数据的软件,方便用户挑选尺寸合适的衣服。
1相关技术
1.1Android系统
Android是一种基于Linux内核的开源操作系统,主要应用在移动设备上,如手机、平板电脑等。早期由Google设计开发,后来由Google联合的多个手机公司创建的开放手机联盟开发和维护。Android系统架构分为3个层次:底层为Linux核心,用C语言开发,提供应用运行的基础功能;中间层为函数库和虚拟机,用C++语言开发;上层为相应的应用APP,包括界面及基本应用等[12]。
1.2Android摄像头控制技术
在Android应用开发中可以通过android.view.SurfaceView进行摄像头控制,权限为android.permission.CAMERA,可以通过设置相关参数实现,如surfaceChanged和surfaceCreated参数可以控制摄像头开始拍照,surfaceDestroyed参数则可以释放摄像头,使其关闭。
1.3基于Android矩阵函数的图片缩放技术
Android提供基于矩阵变换的图片缩放处理函数,setScale(float sx, float sy, float px, float py) 可以用于图片缩放,matrix.set(prematrix)则用于记录原始缩放倍数,setImageMatrix(matrix)用于设置图片缩放倍数。prematrix 和matrix 均为矩阵形式数据结构,即:cosX-sinXtranslateXsinXcosXtranslateY00scale
通过上述函数可以计算实际测量目标的具体数值。
1.4拍摄照片获取人体特征尺寸计算方法
蔡剑等[3]指出,通过人体三维建模,可以确定9个基准线(见图1),通过计算各基准线的尺寸便可以估算用户裁衣的合适尺寸。利用拍摄照片,根据图像分割技术,可以在测量目标的轮廓上标记基准测量特征。平面长度可以根据人体比例数据精确确定;围度尺寸则与人体正面宽度和侧面宽度存在一种线性关系。设围度为W,正面宽度为K,侧面宽度为H,该线性回归方程为:W=X*K+Y*H+Z,各围度尺寸对应的参数取值关系方程如表1所示。
2核心功能设计与实现
(1)基于重力传感器的摄像方向感应。
Android手机中的重力传感器可以感受手机在拍摄中的姿势和重心变化,通过手机光标位置变化实现摄像方向选择,其中核心处理代码为:
mOrientationListener = new OrientationEventListener(this,
SensorManager.SENSOR_DELAY_NORMAL) {
public void onOrientationChanged(int orientation) {…}}
(2)图片移动伸缩处理。
通过函数onTouchEvent(MotionEvent event)捕捉图片触控事件:
case MotionEvent.ACTION_DOWN: //手指按下去
case MotionEvent.ACTION_MOVE: //手指拖拉
case MotionEvent.ACTION_UP: /手指离开
case MotionEvent.ACTION_POINTER_UP: //还有一个手指时,其余手指离开
在以上事件操作中,通过基于Android矩阵函数图片缩放技术实现测量器的大小变化,得出长度等数据。
(3)基于SQLite的数据存储。
SQLite是一款轻量级的关系型数据库系统,广泛应用于嵌入式产品,资源占用率低。为方便存取用户裁衣数据,使用SQLite作为数据存储系统,相关数据库表结构设计如图2所示。
(4)服务器端图片数据传输。
为根据用户测量数据返回合适尺寸的服装样式,需向Android手机端传输服装图片。为此,需要部署Tomcat 服务器,并在服务器存储相关尺寸类型的服装图片,通过编写接口传输图片数据。本系统所采用的框架技术为Volley、GSON及Bitmapfun。其中,Volley是Android平台上的网络通信库,能使网络通信更快、更简单、更健壮,只需注意其监听器即可;GSON是 Google 提供的用来在 Java 对象和JSON 数据之间进行映射的 Java 类库,可以将一个 JSON 字符串转成一个 Java对象;Bitmapfun可以使图片数据传输变得更平滑完美。相关核心处理代码如下:
(5)系统界面设计。
本系统测量操作界面、测量数据显示界面以及衣服样式推荐选择界面分别如图3、图4所示。
3结语
本文设计并开发了基于Android 的裁衣数据自动采集系统,使用该软件网购用户服装时可手机拍照获取自己的尺寸数据,系统据此数据为用户推荐尺寸合适的衣服。随着Android手机广泛应用,以及服装电子商务的发展,该软件将成为电子商务时代的一种实用手机应用软件。
参考文献参考文献:
[1]盖索林.Google Android 开发入门指南[M].北京:人民邮电出版社,2009.
[2]佘志龙.Google Android SDK开发范例大全[M].北京:人民邮电出版社,2011.
[3]蔡剑,林大钧,郭延龙,等.拍摄照片获取人体特征尺寸的可行性研究[J].东华大学学报:自然科学版.2011,37(4):481485,517.
责任编辑(责任编辑:陈福时)