大创论文Word文档格式.docx
- 文档编号:22183996
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:10
- 大小:178.66KB
大创论文Word文档格式.docx
《大创论文Word文档格式.docx》由会员分享,可在线阅读,更多相关《大创论文Word文档格式.docx(10页珍藏版)》请在冰豆网上搜索。
2.设计思路及创新点
利用摄像头对准目标信息媒介,由人手对需要进行摘抄的信息内容(一段文字或者若干图像)进行定位,通过手指所画的圆圈等手势确定需要存储的部分,并把存储的部分存在指定的文档中,按照一定规律进行编号。
从而实现有针对性有选择的信息摘抄保存
整体思路如下:
摄像头定位手势识别轮廓提取定向保存
本实验的创新性在于能够结合摄像头对目标物体进行定位,并在当时使用手势对文本信息或者图像信息进行摘录,由计算机实时识别摘录手势,对手势所指的信息内容进行定向保存,能够满足人们实时存储信息的要求,同时也最大程度的精简了数据。
有效地避免了存储数据量太大而查找有效数据复杂繁琐的问题。
能够很好地结合手势识别理论,并且智能识别对应的文字和图像,对文字和图像的边缘加以智能保护以保证信息的完整性,生成短小简单的文件,克服了传统记录方式耗时耗费的缺点,充分体现了计算机视觉技术的优势。
为人们以后可以快捷有效的查阅所需要的信息提供了方便,既省时又省力,响应了提高效率的号召,这将同时也是技术上的一个革新,为人类的阅读提供了一个更便捷的平台。
科学性在于我们可以利用已有的技术,在此基础上进行创新组合,理论上是可以达到要实现的目标的,下面就可行性进行分析:
首先现代计算机摄像头进行定位技术已经很成熟了,其次我们已经有了成熟的手势定位识别技术,因此可以直接借鉴利用,然后就是信息的存储,需要用到USB接口技术,这点我们可以通过学习,进行实践,本实验在理论上是完全可行的。
其特点在于,摄像头设置简单,手势简单易于识别,并且不需要佩戴复杂的装备即可实现。
同时生成的文本和图像摘抄文件清晰可靠,整个生成过程人为干预少,使用方便快捷。
有了这么便捷的技术,我相信大多数人都愿意尝试这一新的科技成果的。
本实验拟解决的问题主要有以下几点:
首先是对于手的识别,当手进入图像,要能够立刻判断出这是即将圈定保存内容的信号,我们知道现在有对车牌识别的相关软硬件,因此可以用到我们这次实践上,我们学习并模仿这种原理,完成对手的识别。
接着是手势的识别。
我们了解到现在有虚拟键盘,即通过光线打到桌子上,在桌子上敲击就可以实现实物键盘的功能,我们猜测这里的理论与对于手势的识别有一定的联系。
我们想通过研究对应的实物进行学习。
然后是文件传输的问题,抓取的文件要按照一定规律进行储存。
目前已有相当成熟的文件存储功能技术,我们可以借鉴加以利用,其中要求我们要具备一定的USB接口知识,我们想通过阅读相关文献学习并向老师请教,学习传输及储存的知识,并进行编程试验,达到这种预期的功能是完全可行的。
最重要的是我们可以利用暑期时间进行知识的学习和实验的实践,功夫不负有心人,我相信我们一定会达到我们所预想的效果的。
本课题的特点在于利用图像和视频处理技术,结合用户的手势对目标媒介进行定位和信息选择,实时生成摘抄文件,利于今后的存储和查阅。
3.各个模块介绍
3.1手势识别
3.1.1识别
1)概念:
手势是姿势的一个子集,姿势这个概念没有精确的定义。
一般认为,手势概念经过人的于转化为的于势动作,观察者看到的是于势动作的图像唯一。
2)手势识别的流程
摄像头定位手势图像获取图像分割手势特征提取
手势识别
3.1.2手势建模
在手势识别中,手势模型是一个最基本的部分。
根据不同的应用背景,手势识别采用的模型会有不同,而对于不同的手势模型,采用的手势检测与跟踪算法、特征提取、识别技术也会有差别。
手势建模主要分为基于表观的手势模型与基于三维的于势模型。
基于表观的手势建模是一种二维建模,从二维平面观察得到的平面图像信息描述于的特征。
基于表观的手势模型主要包括基于颜色的模型与基于轮廓的模型两种。
基于颜色的手势模型是把手势图像看作像素颜色的集合,通过提取手部的颜色的特征来描述手势。
基于颜色的手势模型的常用特征是颜色直方图。
基于轮廓的手势模型是把手看作一个轮廓,通过提取手部图像中手的轮廓的几何特征来描述手势。
3.1.3手势检测与跟踪
手势检测与跟踪是手势识别处理流程中最前端的处理部分,它处理从摄像头获取到手势图像(序列)从中检测和分割手势对象。
如果是动态手势识别,还对手进行跟踪。
基于运动信息的方法:
基于运动信息的方法是假设在视频中只有手是运动物体。
其中一种方法是背景减法.它要求背景静止不变,把视频中的每帧与背景相减,背景相同的部分变为零,不同的部分就认为是运动的物体,即手。
另一种方法是帧间差分法
帧间差分,也称时域差分,是计算机视觉中最为简单快速的前景目标(特是运动前景目标)检测方法。
它是基于背景象素点的灰度值和位置都不变的这一则来检测前景目标的.对同一手势序列中相邻两帧图像进行差分运算,这样能有的保留发生变化的部分,滤除图像中保持不变的大部分背景区域。
帧间的方法有很多变种,但最简单的就是在连续的视频图像帧间取绝对分。
其中,R1,G1,B1和R2,G2,B2分别是当前图像和前一帧图像中各像素点的RGB分量,通过计算S值并与事先给定的某一阂值k进行比较,当S>
k时,认为此像素点属于变化的区域,当S<
k时,则认为该像素点属于未变化的区域,从而将其滤除,这样便得到了一个新的输出图像。
3.1.4手势特征提取
手势特征的提取是与手势模型密切相关的,不同的手势模型会有不同手势特征
3.1.5静态手势特征
常用的静态手势特征有轮廓、位置、面积、手指分布等。
手的轮廓特征可以连续的点来表示。
通过边缘检测算法,把图像区域的边缘检测出来,经过进行平滑和多边形拟合算法处理,得到多边形的顶点的序列。
在提取于的轮廓比较困难的情况下,或者为了提高计算效率,也可以通过计算轮廓的特征作为手势特征。
例如Wilkowski通过以手部图像的外包矩形边为坐标轴进行投影计算得到轮廓的直方图作为手的轮廓的特征,
如图5-1所示
手的位置特征是指手掌的质心位置,质心位置可以按公式5-1、公式5-2、公式5-3、公式5-4计算。
手的面积特征通过计算手的轮廓的多边形面积即可。
对于二维图像,质心是通过计算零阶距和x、Y的一阶距得到的。
假设二值化之后的图像为I(x,Y),质心(Xc,Yc)的计算公式如下:
手指特征的提取是一个关键的技术。
经典的手指提取方法是利用手指距离手掌中心最远这个规律,把于的轮廓点的坐标转换成为以手掌中心位置为原点的极坐标系,然后分析轮廓曲线中的局部最大值(如图5-2所示),最后通过映射规则把点的位置映射为手指。
3.1.6动态手势特征
在动态于势中,由于于在空间和时间两个维度是都会发生变化,所以动态手势
特征包含于的位置变化和手的形状变化。
手的位置变化可以通过计算手势的当前位置与上一个位置之间和位置偏移量得到。
假设手的运动前后位置为(11,y,x)和(11,llyx),则可以计算出运动方向的角度t,最后把t进行量化得到对应的方向编码。
通过计算于势运动轨迹相邻点之间位移,得到运动的方向编码,组成手势运动向量特征。
3.1.7基于模板匹配的方法
基于模板匹配的方法是采集静态手势作为样本,提取特征作为模板特征库。
在识别时把输入的手势特征与模板库的模板进行匹配。
其中比较经典的使用弹性图匹配(ElasticGraphMatching)方法。
在基于模板的识别方法中比较重要的是定义特征的距离函数。
距离函数需要根据特征的特点来选取的。
张国良、吴江琴、高文等人采用改进的Hausdorff距离来进行手势识别。
Hausdorff距离是用来度量两个集合之间的相似度,它的数学定义如下:
A和B是两个集合,元素个数分别是n和m。
其中ba表示元素a和b的距离。
3.1.8动态手势识别
动态手势是具有时间和空间变化,手势特征量化编码之后成为时间上的符号序列。
目前有许多方法可以对时间序列数据进行分类。
直方图(Histogram)图像处理领域最基本的直方图技术在某些情况下用于动态手势识别是非常有效的。
直方图能反映手势序列的整体特征。
虽然它丢失了序列的时间特征,但是在一些手势种类少而且运动轨迹区别明显的手势识别应用,不失为一种好选择,它的识别处理效率很高。
动态时间规整(DTlr,DynamicTimeWarping)经典方法动态时间规整(DTW,DynamicTimeWarping)在语音识别领域应用得很成功。
DTW本质上是一种动态规划算法。
手势识别与语音识别有许多相似之处,也可以使用DTW算法进行动态手势识别。
有限状态机(FSM,FiniteStateMachine)
以上就是基于摄像头的手势识别的基本内容。
3.2轮廓提取
根据识别出的手势轮廓,将圈存的轮廓进行提取,用到了图像裁剪技术,我们用VC++图像处理技术来完成这一要求,C++实现以下功能:
1)、实现对硬盘中的8位BMP图像的读取和存储;
2)、实现对指定矩形框区域图像的剪切;
3)、实现对任意形状图像的任意比例缩放;
4)、实现对任意形状图像的任意角度选装。
程序编辑环境:
在visualc++6.0中建立consoleapplication工程,win32平台,无MFC,空Project
程序运行说明:
1、添加文件Ex1.cpp、Ex1.h
2、编译、运行
3、按程序提示完成操作(注意文件名称的大小写)
4、进入文件夹,查看Cutresult.bmp(裁剪结果)、Scalresult.bmp(缩放结果)和Rotresult.bmp(旋转结果)文件。
通过VC++程序,实现图片的切割。
3.3定向保存
3.3.1原理
采用COM技术调用OLE自动化对象,实现了Word文档在VC++平台中的自动生成。
运用书签定位和光标跟随相结合的技术,在自动生成的Word文档中精确插入了文字、图片、表格和目录
3.3.2创建OLE自动化对象
⑴在程序的应用程序类的InitInstance()成员函数中,加入AfxOleInit()函数的调用,初始化COM。
if
(!
AfxOleInit())
{
AfxMessageBox(IDP_OLE_INIT_FAILED);
return
FALSE;
}
⑵在程序中导入Word中OLE自动化对象。
主要是通过addclass找到Office安装位置下的Word类型库件MS-WORD.OLB,从中添加需要用到的对象。
主要有:
Application对象、Document对象、Range对象、Selection对象、Bookmark对象。
Word对象模型是一个等级结构,如图2所示
Application对象。
用户可以利用它的属性或方法来控制应用程序的运行行为、控制Word窗口的外观或调整Word对象模型的其他参数。
Document对象。
表示一个打开的文档,几乎所有的操作都要调用Document对象本身或其内容。
用户可以使用Document对象或Documents集合的属性或方法来打开、创建保存、启动或关闭文档。
Range对象。
表示文档中的一块连续的区域。
每一个Range对象都是由一个起始字符位置和一个终止字符位置定义。
在确定Range对象后,就能够应用该对象的方法和属性来修改区域内的内容或格式。
Selection对象。
当用户想要自己的代码对选定内容做出响应或是改变选定内容,就可以通过Selection对象来完成任务。
Selection对象可以是一个插入点,也可以是几个字符,或是文档的部分内容。
用户可以用其方法、属性来移动或扩展选定内容,本文选用GoTo方法来移动选定内容。
Bookmark对象。
表示文档中的连续区域,既有起始位置也有结束位置。
书签用于在文档中标记一个位置,或者用做文档中的文本容器用户可以文档中定义多个书签,把Bookmark看作是保存在文档中的一个指定位置。
3)创建Word服务及连接前面介绍了文档生成需要用到的一些基本对象,VC
要调用这些对象,还必须得做如下工作:
首先要创建Word
服务。
代码如下:
if(!
m_App.CreateDispatch("
Word.Application"
))
AfxMessageBox("
创建Word服务失败!
"
);
exit
(1);
}其次要将Documents类对象m_Docs和Idispatch接口关联起来。
IDispatch是调度接口,是所有支持自动化的COM组件都必须实现的接口之一。
m_Docs.AttachDispatch(m_App.GetDocuments());
4)书签定位与光标跟随实现精确定位在文献[4]中采用了光标定位的方法,在定位时有许多繁杂的计算。
对于格式相对固定的文档来说,静态部分可以精确计算出字段的长度,但对于动态部分,由于每次插入字段数是不确定的,一旦字段数计算不准确就很容易造成文字的错位,这样不仅增加程序的复杂度,而且也会造成文档的混乱。
本文主要选用书签定位并结合光标跟随的方法,来实现文字、图片、表格、目录等的精确插入。
通过书签变量的设置,在Word模版中能够准确地将要插入的内容插于指定位置。
而一段内容填写完毕后,光标就停留在最后操作的地方,要转到其他位置则采用光标跟随法,将光标转到另一书签处,然后实现图表等的插入。
这样程序相对简易,而且文档标准美观。
为了便于后面的描述,将要用到的几个变量定义如下:
_Applicationm_App;
//控制Word应用程序
Documents
m_Docs;
//操作所有的文档
Selection
m_Sel;
//当前所选内容
_Document
m_doc;
//操作某个文档
3.3.3文字的插入
首先获得打开模版的书签集,然后将模版中的书签变量与应用界面上变量对应起来,最后将应用界面编辑框中的文字写进Word模版中的相应位置。
主要代码如下:
⑴获得Word书签集
Bookmarks
m_bks;
Bookmark
m_bk;
m_Doc=m_App.GetActiveDocument();
m_bks=m_Doc.GetBookmarks();
⑵Word中的书签变量与对话框界面上的编辑框变量对应起来。
COleVariant
bk_name("
name"
//“name”为书签变量
m_bk=m_bks.Item(&
bk_name);
m_Rng=m_bk.GetRange();
m_Rng.SetText(m_name);
//“m_name”为编辑框变量
3.3.5图片的插入
在此采用光标跟随的方法将光标转到需插入图片的书签变量处,然后利用InlineShapes函数来插入图片。
⑴采用光标跟随法将光标转到Word模版中的图片书签变量“pic”处。
m_Sel.GoTo(COleVariant((short)-1),COleVariant((short)0),
COleVariant((short)0),COleVariant("
pic"
));
⑵采用InlineShapes集合中AddPicture方法添加图片。
LPCTSTR
FileName=m_pic;
//m_pic为存有图片地址的编辑框变量
InlineShapes
m_wdInlineShapes;
InlineShape
m_wdInlineShape;
m_wdInlineShapes=m_Sel.GetInlineShapes();
m_wdInlineShape=m_wdInlineShapes.AddPicture(FileName,
vFalse,vTrue,vOpt);
2.3.3表格的的填写
⑴规则表格的填写因为规则表格格式相对固定,
因此只需在表格的第一个单元格设置书签变量。
用户可采用光标移动的方法,来填写表格内容。
table"
//转到Word模版里的表格书签变量“table”处
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 论文