基于DirectX和佳能SDK的高质量贴纸照系统设计

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:jingfei1415
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:该文采用C#2.0,利用DirectX框架和佳能SDK进行高质量贴纸照系统的设计和开发,系统包括照片输入子系统、照片存储子系统及照片处理子系统三个子系统,同时结合一般游戏的引擎模型和Managed DirectX框架,设计开发了一个完整的娱乐系统模型。该系统,具有良好的人机交互界面,而且最终照片处理非常科学,具有很广的应用价值。
  关键词:DirectX;Canon SDK;游戏引擎
  中图分类号:TP393文献标识码:A文章编号:1009-3044(2012)10-2374-04
  The Design of High Quality Photosticker Based on DirectX and Canon SDK
  SU Qian-min, WU Shi-ju
  (Shanghai University of Engineering and Science, College of Electrical and Electronic Engineering Shanghai 201620,China)
  Abstract:In this paper, a high quality sticker system is built with C# 2.0 under the framework of DirectX and canon SDK. There are three subsystems: a photo input subsystem, photo storage subsystem and photo processing subsystem. Furthermore the general game engine model and the managed DirectX framework is combined, thus a complete entertainment system model is realized. Finally this system has a good interactive interface and the final photo is scientific ,which will have a wide application.
  Key words:direct x; Canon SDK; Game Engine
  目前應用广泛的的贴纸照系统是通过对人物图像的获取,并为其添加精美修饰图案,最终合成图案输出成照片的多媒体软件。由于人们对于照片质量及系统娱乐性的要求不断地提高,国内现有的大多系统已经不能满足用户的要求。
  1概述
  贴纸照系统是通过图像获取设备(如:摄像头、照像机、摄像机等),对人物影像的获取,将其数字化存储到计算机中,并为其添加精美修饰图案,最终合成图案输出成照片的多媒体软件。目前市面流行的大头贴机器很多,但大部分是用摄像头,处理主要是半身像,而且背景是固定的,不能调节,质量相对很差。该文阐述利用DirectX技术提高图像、音频的处理能力,增强用户交互性,开发出一套充满娱乐性的贴纸照系统,可广泛应用于照片处理的小型PHOTOSHOP系统。
  贴纸照系统就是一项多媒体系统,它集成了图象获取、图象处理、音频处理、实时用户操作处理,具用很强的集成性、实时性和交互性。为了开发出这样高集成性、实时性、交互性的多媒体系统,微软的DirectX组件提供了一整套解决方案。DirectX是Microsoft开发的基于Windows平台的一组API,它是为高速的实时动画渲染、交互式音乐和环境音效等高要求应用开发服务的。
  该文采用C#2.0,利用DirectX框架和佳能SDK进行高质量贴纸照系统的设计,采用DirectX框架,建立娱乐系统模型,提高系统的人机交互性,并采用边缘检测算法以及种子填充算法,提高了最终图片的质量。
  2系统设计
  由于贴纸照系统运作流程可以分为照片获取、存储、编辑输出这三个步骤,所以本系统将分解为三个子系统进行开发(图1),三个子系统分别为照片输入子系统、照片存储子系统及照片处理子系统。三个子系统之间存在松耦和的依赖关系,这样可以使得整个系统方便的更变输入方式、存储方式及编辑输出流程,而不会过多地影响其它子系统的运作。系统会变得易扩展、易维护。
  根据功能需求,系统硬件采用了基于数据库的网络系统,包括数据库服务器、专门用于用户照片获取的客户端以多台用于用户编辑和照片输出的客户端。系统采用佳能照相机进行照片获取,并存储到数据库服务器中,然后用户可以通过编辑终端(触摸屏和小键盘)用来编辑照片,编辑好的照片采用相纸,利用网络打印机打印。
  贴纸照系统的业务流程一般包括选择分割方式、拍照、选择照片、编辑照片、设置照片放置方式、打印照片。照片拍摄由系统控制相机开启,用户点击鼠标,拍摄照片;照片编辑根据用户自己喜好,编辑照片,具体包括背景、边框、图案编辑(各有10个不同样式)。最后照片输出查看,并保存到数据库。
  2.1照片输入模块设计
  照片输入子系统主要功能为:照片输入设备的控制并提供设备控制接口。
  1)输入设备控制接口
  
  图2系统引擎框架图
  2.3照片存储模块设计
  存储子系统主要功能为:提供存储管理数据接口和实现。
  1)数据存储管理接口
  由于数据存储方式多样,对于单机的贴纸照系统使用磁盘存储已经达到需求。但是对于分布式的贴纸照系统就需要运用于网络数据库系统作为存储系统。所以为了使系统快速适应不同的应用环境,本系统设计一个数据存储管理接口,使得其它系统无需依赖存储系统的具体实现。
  接口设计代码:
  interface IPhotoStorageControl
  {void SaveData(string PhotoId);
  Stream Find(string PhotoId);
  void DeleteData(string PhotoId);
  …}
  2)数据存储管理实现
  本系统是分布式环境,可以通过运用Ado.net数据访问组件实现Ms SqlServer等其它数据库系统的存储方式。
  3关键技术实现
  3.1原始图像获取
  Canon Digital camera SDK(CD-SDK)是佳能公司提供的一个开发接口,它可让用户可以控制佳能数码相机和获取由相机生成的数据。CD-SDK被设计成为提供标准方式来控制和获取不同佳能相机模块及其生成的数据。
  通过使用CD-SDK来创建软件,可以将佳能数码相机的功能集成到软件中去。通过使用CD-SDK也可以将程序集成到相机中来扩展相机的功能。
  CD-SDK提供了一个接口给用户,使用户可以获得佳能数码相机拍摄的照片。CD-SDK使用户可以将照片从相机传输到电脑或存储设备。也可以用来开发将RAW格式的照片转换成为常用的格式的程序。可以开发使用电脑来控制数码相机的程序。
  SDK中函数调用时需要进行传递的参数主要是设备句柄。设备句柄是用来表示设备的唯一标识。相机控制是通过有序的调用一系列函数完成的。基本过程为初始化相机,然后拍照,最后释放资源,图表示了控制相机的基本过程。初始化相机包括了调用CDStartSDK、CDEnumDeviceReset、CDGetDeviceCount、CDEnumDeviceNext、CDOpenSource、CDEnterReleaseControl方法,分别表示启动SDK模式、重置设备、得到可用设备数、遍历设备、得到设备句柄、进入远程控制模式。拍照时调用了CDSelectReleaseDataKind、CDRelease、CDGetReleasedData方法,分别表示选择数据类型、拍照、得到数据。在完成拍照工作释放资源时,将会调用到CDExitReleaseControl、CDCloseSource、CDEnumDeviceRelease、CDFinishSDK方法,分别表示退出远程控制模式、释放设备句柄、释放设备、退出SDK模式。完整流程图如图3所示。
  
  1)原始图像
  
  3)种子填充算法图像
  图4图像处理
  4结论
  该文采用C#2.0,利用DirectX框架和佳能SDK进行高质量贴纸照系统的设计,实现了由背景、前景、图案构成的编辑照片模式,采用DirectX框架,建立娱乐系统模型,提高系统的人机交互性,用P/Invoke技术实现佳能数码相机的远程控制,并采用边缘检测算法以及种子填充算法提取人物轮廓并进行填充,提高了最终图片的质量,经用户使用,效果非常明显,极具推广价值。
  参考文献:
  [1]王明福,齐治文.基于DirectX的游戏动画技术研究[J].计算机工程与设计,2005(4):940-943.
  [2] Tom Miller. Managed DirectX 9[M].Sams Publishing,2003(10).
  [3]刘伟华,张尤赛,王敏. .Net框架下Direct3D程序的快速开发[J].电脑开发与应用,2004(12):34-36 .
  [4]刘军,姚子建.用边缘检测算子实现图像边缘检测[J].福建电脑,2006(2):117-118.
  [5]陈曙,辛阳.利用数码相机SDK开发图像采集应用程序[J].电子技术应用,2003(7):21-22.
其他文献
从1938年至20世纪60年代,广西先后从国外引进多批种猪,包括巴克夏、中约克、杜洛克、汉普夏、苏联大白猪、朝鲜白猪、越南香猪等。由于引进新猪放入旧猪场混养,没有育种和保
期刊
1忻城县生态养羊的有利条件 忻城县地处广话中部,红水河下游,属南亚热带季风气候,年均气温21℃,年均降雨量1300-1600毫米,相对湿度77%,无霜期343天。全县人口40.21万人,其中农业人口37
按照"诗性主体"的活动轨迹,"江南文化"区域除苏南、浙江及徽南外,还应包括江西、扬州、闽北.在概括江南文化的特征时,应该把握住审美的维度,没有审美就等于没有抓住江南文化
期刊
本文以笔者所在的学校为例,介绍新课改条件下开设高中外语选修课的探索实践,同时探讨如何正确认识高中外语选修课的作用、选修课与必修课的关系、选修课精品化建设和授课团队建
在动画教学过程中发现,学生进入到动画创作阶段后,越来越表现出在创作故事方面的缺陷。由于本科尚未开设编剧课程,所以在动画相关课程教学中要加强故事创作能力的培养。从启
为给动物疫病防控主管部门提供禽流感防控依据,2008年春季柳州市动物疫病预防控制中心在以往监测取得一些经验的基础上对禽流感免疫工作做了更深入的调查研究。通过对六县五城
当代中国传媒话语生产纠缠于西方话语深层语法结构,背离了中国传统话语叙事"文以载道"和"言之有物"两个基本原则,无法正确叙述中国民族的文化记忆.……
期刊
通过对45号优质圆钢(φ95)进行化学成分、金相组织、夹杂物、低倍检验,发现其夹杂物较多,经过对低倍和断口检验发现圆钢存在氢致裂纹(即白点),由于白点与夹杂物的共同作用,使
为进一步掌握杂种水牛产奶量情况,2007~2008年广西区畜牧总站在灵山县、北流市开展杂种奶水牛产奶量测产工作。测产杂种泌乳水牛60头,其中一代杂30头,二代杂30头。平均产奶量1671
又是一年的教师节到了,我不由得想起了引领我步入美学殿堂的导师.  人们把最圣洁的语言献给老师,也把最理想的境界投射在美上,那么,有没有集二者于一体的人呢?有的,他就是
期刊