多媒体视频控制开发
多媒体视频控制开发[20191215140312]
摘 要
随着摄像头技术的快速发展,摄像头的分辨率越来越高,摄像头作为主要部件的高拍仪设备,成为办公领域图像采集的重要产品,高拍仪具有高效快捷、轻便灵活、绿色环保、应用多样等特点,在很多应用场景已取代扫描仪,并衍生了很多的业务模式。
本课题的主要任务是通过摄像头对图像的采集,因此课题的研究内容主要分为对摄像头的操作以及采集的视频帧数据的处理。在本系统中主要分为主界面以及菜单栏的功能,分别实现了对摄像头的控制以及对图像采集结果的设置,完成对图像的采集和存储。
本文主要探讨了基于directshow的多媒体视频的控制开发,通过对MFC开发技术的剖析,成功实现了摄像头图像数据的采集,在windows平台上设计出一款对双摄像头进行图像采集的软件,实现了对高拍仪的多媒体视频控制开发。
摘 要 1
查看完整论文请+Q: 351916072
关键字:高拍仪;DirectShow;图像采集
目 录
ABSTRACT 2
第1章 绪论 1
1.1 问题的提出 1
1.2 问题的研究意义 1
1.3 国内外研究现状 2
1.4 可行性分析 4
1.4.1技术可行性分析 4
1.4.2 经济可行性分析 4
1.4.3 管理可行性分析 4
1.5 本文的组织结构 4
第2章 开发环境与基本技术 6
2.1开发环境 6
2.2 directshow简介 6
2.3 DLL文件中主要函数及其功能 6
2.3.1 DLL的基本功能 6
第3章 软件分析与概要设计 9
3.1 需求分析 9
3.2 软件功能实现问题探究 10
3.2.1 视频数据的动态裁剪 10
3.2.2 视频数码变焦 12
3.2.3 颜色模式改变 12
3.2.4 不规则图像的存储与显示 13
第4章 软件设计与实现 15
4.1 摄像头捕获流程 15
4.2 软件设计的实现 15
4.2.1 主窗体设计 15
4.2.2启动摄像头与拍照 18
4.2.3照片后期处理 23
4.3 设计中的问题 24
第5章 软件测试结果 25
第6章 结束语 26
参考文献 27
致 谢 28
第1章 绪论
1.1 问题的提出
商务办公人士经常需要将纸质文档电子化来方便存储和保存,所以电子信息采集和录入设备就成为办公领域中不可或缺的一种产品。其中最为广泛应用的就是扫描仪。
目前市场上的扫描仪产品都是以高精度扫描为目标以便于占领高端市场,但因为这些扫描仪产品大多笨重且难易携带,所以无法满足便携人士的需求,另一方面,对于一般地商务办公而言,传真需要传输的数据量要远远小于扫描仪的数据量。尽管如此,还是在商务办公领域得到了广泛的应用至今。所以对于一般的商务办公而言,精度不是最重要的追求目标,人们将会更加青睐便携、小巧、低价的商品。
高拍仪硬件是一款替代传统扫描仪的数字成像设备。他通过数字视频采集卡采样视频信号,再由地城驱动压缩打包,通过USB接口传输至电脑。再通过软件完成图像处理和一些附加的功能。他的主要特点就是便携、小巧、可折叠,可以用于电子信息数据的采集录入和无纸化办公。而且高拍仪通过USB接口获取电能,其耗电量是一般扫描仪的几十分之一。
高拍仪硬件由一个外壳模具和一个摄像头芯片组成。镜头工作于自然光源下,因此会受到光线亮度的影响,这就需要通过后续的软件处理提高图像的质量。另外还需要根据不同的使用场合设置不同的打印参数来得到合适的结果、
同时随着社会的发展和科学技术的快速进步,视频监控设备越来越多得地在日常生活中被应用。从商用防盗到交通管制,多媒体监控设备在这之中起到了极大的作用。而在目前的银行系统中,虽然监控设备已经普及到所有的提款设备,但是在银行柜台的监控设备并没有得到广泛应用。而银行柜台高拍仪的使用能够更好的收集业务办理的客户信息,配合身份证采集设备能够完整记录业务信息,有着优化银行业务分析,方便警方调查取证等优点。
1.2 问题的研究意义
在工作与生活中,传统扫描仪扫描一份文件需要10秒以上,并且在录入大量文稿和比较破旧的纸张时,普通扫描仪都无用武之地,因为慢,并且破旧的纸张不能自动走纸,从而就诞生了用数码相机拍摄文稿,然后上传到电脑。鉴于这种理念,我们的高拍仪就诞生了,它就是一款能够用这种原理直接高速拍摄文件文稿、实物,并直接保存在电脑中,保证清晰度好,色彩丰富,不变形的扫描仪高拍仪基于客户的意义:
1、提高了客户服务质量:及时便捷的检索、访问文档的信息。
2、提高了工作效率:工作人员可以把精力放在工作上而不需要等待传统扫描仪耗费的大量扫描时间以及人工配合操作。
3、加快了工作流程周期:消除了工作流程各步骤之间的时间延迟。
4、提高了效益:更高效的工作流程速度,转化成对商业机会的更快的响应时间。
5、加强了对文档的控制能力:实现了文档电子化,减少文档遗失或损坏的风险,支持文档多方共享。
6、节省纸质文档占用空间:减少或取消了存储设备和机柜、缩微胶片和缩微胶卷的占用空间。
针对银行的高拍仪市场,关键在于开发出一套便于使用,效果良好的配套软
通过对客户证件图像信息以及相貌的记录,满足了银行内部对于客户信息的收集,同时也方便了之后信息的统计以及调查取证。使用directshow技术开发的视频控制软件能更为方便的再WINDOWS平台上运行,对于摄像头的兼容性较强,很好地满足了现在的需求。
1.3 国内外研究现状
1.软件开发语言
目前比较流行的开发语言主要有C++、Java等。二十世八十年代美国AT&T贝尔实验室的Bjarne Stroustrup博士发明和实现C++。之后经过长期和复杂的演变,虚函数、运算符重载、多重继承、楼板类、异常处理以及命名空间等等内容都被引进以增强C++的特性。
Java是经由Sun公司于1995年推出的一种面向对象的程序设计开发语言并被广泛应用于web开发.
C++和java程序开发语言可用于基于DirectShow的视频开发。但是Java是由Sun公司推出的一种程序设计语言.DirectShow是微软公司推出的一十多媒体开发库.DirectShow的视频数据格式和Java的缓冲区数据格式不兼容,要在Java开发平台下完成基于DirectShow的视频开发需要进行数据格式转换要完成将缓冲区数据格式转换成DirectShow中filter传递的Sample数据格式。而微软公司的
Microsoft Visual C++和DirectShow的视频数据格式相互兼容。因此基于DirectShow的视频开发大都选择使用C++语言在Visual C++平台下完成。
2.软件设计开发方法
软件设计开发方法包括面向过程和面向对象两种。
面向过程的软件设计开发方法是一种结构化的,自顶向下逐步求精的软件设计开发方法,程序是单入口单出口的。设计语言以C为代表。面向对象软件设计开发方法是人们所习惯的思维方式的一种模拟,它把构成目标的步骤划分成为描述该事物在整个解决该问题的步骤中的行为的单个的对象。开发语言以C++、Java为代表。面向过程和面向对象的区别并不是不可调和的,面自对象的大部分思想在面向过程中也有所体现,而面向过程存在的最大的弊端在于,随着软件系统的容量越来越大,面向过程将无法协调处理从而导致系统崩溃。面向对象开发方法的出现就是帮助解决软件危急中软件系统日益嘭胀的问题。
现代软件设计开发主要采用面向对象的方法,这就涉及到设计模式的选择,常用的设计模式按照目的分为创建型模式、结构型模式和行为模式三种类型。它所针对解决的软件设计问题及其使用方法。软件设计模式应用于面向对象的软件设计开发中可快速完成软件的架构。总之,采用面向对象的软件设计开发
方法可以开发出较大规模、高质量的软件系统。
3.directshow视频开发技术
2002年底,微软公司发布DirectX90。DirectX软件开发包是微软公司提供的一套在Windows操作平台上开发高性能图形、图像、声音、输入、输出和网络游戏的辅助编程接口。DirectShow是DirectX开发包提供的一组作为视频开发的API,主要目的是简化在Windows平台上创建数字媒体应用的实现。
DirectShow通过创建一系列自其本部件过滤器对象通过其输入针和输出针之间的有序连接而构成的过滤器图表,井在过滤器图表管理器对象的管理下,建成从数据源(设备、文件、网络等)到目的地(显示窗口、声卡等)的数据通路,实现多媒体播放和采集等功能。
目前对DirectShow的视频开发的研究主要集中在两方面:一是视频流的研究。二是视频帧研究,。对视频帧的研究主要是通过视频帧数据的实时变换完成图像处理或者智能检测等,广泛应用于实时检测系统和实时图像处理系统中。
1.4 可行性分析
1.4.1技术可行性分析
本人熟悉计算机相关基本知识、熟悉程序设计方法、熟练掌握VC++编程、初步掌握MFC开发方法和技巧,具备一定的编程经验和独立编程能力。基于DirectShow视频播放器实现原理可以通过查阅相关资料、请教老师和他人进行学习掌握,所以在技术上具有可行性。
1.4.2 经济可行性分析
该软件的开发、测试、运行使用等步骤皆在自己PC上完成,无需提供其他设备。开发过程中涉及到的知识、软件开发成本、交付后的运营维护皆由本人控制、完成,所用的软件和硬件配置环境均为现成,所以经济上具有可行性。
1.4.3 管理可行性分析
本软件运用到实际生活、工作中,将会使音频视频的播放和处理变得便利、经济及娱乐,而且还可以根据朋友、他人的用户体验不断完善此软件,可以感受到成就感,所以管理上具有可行性。综上所述,本课题的可行性是有保障的。
1.5 本文的组织结构
本文主要研究的是多媒体视频控制软件的设计与开发。
第一章绪论介绍多媒体视频控制开发的提出,研究背景,研究现状和可行性分析。
第二章主要介绍视频控制开发的开发环境,使用到的directshow技术以及调用的动态库函数的简要介绍。
第三章介绍多媒体视频控制开发的需求分析以及软件功能的概要设计,其中对视频图像动态裁剪和旋转,摄像头的数码变焦,拍摄图片的颜色模式以及不规则图片的处理方法进行了分析与设计方案。
第四章介绍软件具体功能的设计方法,对其中关键要点的设计进行了阐述,包括摄像头采集的过程,照片后期处理的过程等。
第五章测试结果展示。
第六章结束语与展望。
第2章 开发环境与基本技术
2.1开发环境
本软件主要通过使用MFC(C++的图形化界面语言),在visualstudio2003上开发,MFC指的是微软基本类库,是微软公司提供的的一个c++类库,主要封装了大部分的windows API函数。开发起来较为方便,不需要使用多种编程软件轮换操作,灵活性较大。Microsoft Visual Studio是美国微软公司的开发工具包系列产品。Visual Studio是一个基本完整的开发工具集合,它主要包含了整个软件生命周期中所需要的大部分工具。Visual Studio是目前最流行的Windows平台应用程序的集成开发环境。在摄像头操作方面使用的是directshow技术。
摘 要
随着摄像头技术的快速发展,摄像头的分辨率越来越高,摄像头作为主要部件的高拍仪设备,成为办公领域图像采集的重要产品,高拍仪具有高效快捷、轻便灵活、绿色环保、应用多样等特点,在很多应用场景已取代扫描仪,并衍生了很多的业务模式。
本课题的主要任务是通过摄像头对图像的采集,因此课题的研究内容主要分为对摄像头的操作以及采集的视频帧数据的处理。在本系统中主要分为主界面以及菜单栏的功能,分别实现了对摄像头的控制以及对图像采集结果的设置,完成对图像的采集和存储。
本文主要探讨了基于directshow的多媒体视频的控制开发,通过对MFC开发技术的剖析,成功实现了摄像头图像数据的采集,在windows平台上设计出一款对双摄像头进行图像采集的软件,实现了对高拍仪的多媒体视频控制开发。
摘 要 1
查看完整论文请+Q: 351916072
关键字:高拍仪;DirectShow;图像采集
目 录
ABSTRACT 2
第1章 绪论 1
1.1 问题的提出 1
1.2 问题的研究意义 1
1.3 国内外研究现状 2
1.4 可行性分析 4
1.4.1技术可行性分析 4
1.4.2 经济可行性分析 4
1.4.3 管理可行性分析 4
1.5 本文的组织结构 4
第2章 开发环境与基本技术 6
2.1开发环境 6
2.2 directshow简介 6
2.3 DLL文件中主要函数及其功能 6
2.3.1 DLL的基本功能 6
第3章 软件分析与概要设计 9
3.1 需求分析 9
3.2 软件功能实现问题探究 10
3.2.1 视频数据的动态裁剪 10
3.2.2 视频数码变焦 12
3.2.3 颜色模式改变 12
3.2.4 不规则图像的存储与显示 13
第4章 软件设计与实现 15
4.1 摄像头捕获流程 15
4.2 软件设计的实现 15
4.2.1 主窗体设计 15
4.2.2启动摄像头与拍照 18
4.2.3照片后期处理 23
4.3 设计中的问题 24
第5章 软件测试结果 25
第6章 结束语 26
参考文献 27
致 谢 28
第1章 绪论
1.1 问题的提出
商务办公人士经常需要将纸质文档电子化来方便存储和保存,所以电子信息采集和录入设备就成为办公领域中不可或缺的一种产品。其中最为广泛应用的就是扫描仪。
目前市场上的扫描仪产品都是以高精度扫描为目标以便于占领高端市场,但因为这些扫描仪产品大多笨重且难易携带,所以无法满足便携人士的需求,另一方面,对于一般地商务办公而言,传真需要传输的数据量要远远小于扫描仪的数据量。尽管如此,还是在商务办公领域得到了广泛的应用至今。所以对于一般的商务办公而言,精度不是最重要的追求目标,人们将会更加青睐便携、小巧、低价的商品。
高拍仪硬件是一款替代传统扫描仪的数字成像设备。他通过数字视频采集卡采样视频信号,再由地城驱动压缩打包,通过USB接口传输至电脑。再通过软件完成图像处理和一些附加的功能。他的主要特点就是便携、小巧、可折叠,可以用于电子信息数据的采集录入和无纸化办公。而且高拍仪通过USB接口获取电能,其耗电量是一般扫描仪的几十分之一。
高拍仪硬件由一个外壳模具和一个摄像头芯片组成。镜头工作于自然光源下,因此会受到光线亮度的影响,这就需要通过后续的软件处理提高图像的质量。另外还需要根据不同的使用场合设置不同的打印参数来得到合适的结果、
同时随着社会的发展和科学技术的快速进步,视频监控设备越来越多得地在日常生活中被应用。从商用防盗到交通管制,多媒体监控设备在这之中起到了极大的作用。而在目前的银行系统中,虽然监控设备已经普及到所有的提款设备,但是在银行柜台的监控设备并没有得到广泛应用。而银行柜台高拍仪的使用能够更好的收集业务办理的客户信息,配合身份证采集设备能够完整记录业务信息,有着优化银行业务分析,方便警方调查取证等优点。
1.2 问题的研究意义
在工作与生活中,传统扫描仪扫描一份文件需要10秒以上,并且在录入大量文稿和比较破旧的纸张时,普通扫描仪都无用武之地,因为慢,并且破旧的纸张不能自动走纸,从而就诞生了用数码相机拍摄文稿,然后上传到电脑。鉴于这种理念,我们的高拍仪就诞生了,它就是一款能够用这种原理直接高速拍摄文件文稿、实物,并直接保存在电脑中,保证清晰度好,色彩丰富,不变形的扫描仪高拍仪基于客户的意义:
1、提高了客户服务质量:及时便捷的检索、访问文档的信息。
2、提高了工作效率:工作人员可以把精力放在工作上而不需要等待传统扫描仪耗费的大量扫描时间以及人工配合操作。
3、加快了工作流程周期:消除了工作流程各步骤之间的时间延迟。
4、提高了效益:更高效的工作流程速度,转化成对商业机会的更快的响应时间。
5、加强了对文档的控制能力:实现了文档电子化,减少文档遗失或损坏的风险,支持文档多方共享。
6、节省纸质文档占用空间:减少或取消了存储设备和机柜、缩微胶片和缩微胶卷的占用空间。
针对银行的高拍仪市场,关键在于开发出一套便于使用,效果良好的配套软
通过对客户证件图像信息以及相貌的记录,满足了银行内部对于客户信息的收集,同时也方便了之后信息的统计以及调查取证。使用directshow技术开发的视频控制软件能更为方便的再WINDOWS平台上运行,对于摄像头的兼容性较强,很好地满足了现在的需求。
1.3 国内外研究现状
1.软件开发语言
目前比较流行的开发语言主要有C++、Java等。二十世八十年代美国AT&T贝尔实验室的Bjarne Stroustrup博士发明和实现C++。之后经过长期和复杂的演变,虚函数、运算符重载、多重继承、楼板类、异常处理以及命名空间等等内容都被引进以增强C++的特性。
Java是经由Sun公司于1995年推出的一种面向对象的程序设计开发语言并被广泛应用于web开发.
C++和java程序开发语言可用于基于DirectShow的视频开发。但是Java是由Sun公司推出的一种程序设计语言.DirectShow是微软公司推出的一十多媒体开发库.DirectShow的视频数据格式和Java的缓冲区数据格式不兼容,要在Java开发平台下完成基于DirectShow的视频开发需要进行数据格式转换要完成将缓冲区数据格式转换成DirectShow中filter传递的Sample数据格式。而微软公司的
Microsoft Visual C++和DirectShow的视频数据格式相互兼容。因此基于DirectShow的视频开发大都选择使用C++语言在Visual C++平台下完成。
2.软件设计开发方法
软件设计开发方法包括面向过程和面向对象两种。
面向过程的软件设计开发方法是一种结构化的,自顶向下逐步求精的软件设计开发方法,程序是单入口单出口的。设计语言以C为代表。面向对象软件设计开发方法是人们所习惯的思维方式的一种模拟,它把构成目标的步骤划分成为描述该事物在整个解决该问题的步骤中的行为的单个的对象。开发语言以C++、Java为代表。面向过程和面向对象的区别并不是不可调和的,面自对象的大部分思想在面向过程中也有所体现,而面向过程存在的最大的弊端在于,随着软件系统的容量越来越大,面向过程将无法协调处理从而导致系统崩溃。面向对象开发方法的出现就是帮助解决软件危急中软件系统日益嘭胀的问题。
现代软件设计开发主要采用面向对象的方法,这就涉及到设计模式的选择,常用的设计模式按照目的分为创建型模式、结构型模式和行为模式三种类型。它所针对解决的软件设计问题及其使用方法。软件设计模式应用于面向对象的软件设计开发中可快速完成软件的架构。总之,采用面向对象的软件设计开发
方法可以开发出较大规模、高质量的软件系统。
3.directshow视频开发技术
2002年底,微软公司发布DirectX90。DirectX软件开发包是微软公司提供的一套在Windows操作平台上开发高性能图形、图像、声音、输入、输出和网络游戏的辅助编程接口。DirectShow是DirectX开发包提供的一组作为视频开发的API,主要目的是简化在Windows平台上创建数字媒体应用的实现。
DirectShow通过创建一系列自其本部件过滤器对象通过其输入针和输出针之间的有序连接而构成的过滤器图表,井在过滤器图表管理器对象的管理下,建成从数据源(设备、文件、网络等)到目的地(显示窗口、声卡等)的数据通路,实现多媒体播放和采集等功能。
目前对DirectShow的视频开发的研究主要集中在两方面:一是视频流的研究。二是视频帧研究,。对视频帧的研究主要是通过视频帧数据的实时变换完成图像处理或者智能检测等,广泛应用于实时检测系统和实时图像处理系统中。
1.4 可行性分析
1.4.1技术可行性分析
本人熟悉计算机相关基本知识、熟悉程序设计方法、熟练掌握VC++编程、初步掌握MFC开发方法和技巧,具备一定的编程经验和独立编程能力。基于DirectShow视频播放器实现原理可以通过查阅相关资料、请教老师和他人进行学习掌握,所以在技术上具有可行性。
1.4.2 经济可行性分析
该软件的开发、测试、运行使用等步骤皆在自己PC上完成,无需提供其他设备。开发过程中涉及到的知识、软件开发成本、交付后的运营维护皆由本人控制、完成,所用的软件和硬件配置环境均为现成,所以经济上具有可行性。
1.4.3 管理可行性分析
本软件运用到实际生活、工作中,将会使音频视频的播放和处理变得便利、经济及娱乐,而且还可以根据朋友、他人的用户体验不断完善此软件,可以感受到成就感,所以管理上具有可行性。综上所述,本课题的可行性是有保障的。
1.5 本文的组织结构
本文主要研究的是多媒体视频控制软件的设计与开发。
第一章绪论介绍多媒体视频控制开发的提出,研究背景,研究现状和可行性分析。
第二章主要介绍视频控制开发的开发环境,使用到的directshow技术以及调用的动态库函数的简要介绍。
第三章介绍多媒体视频控制开发的需求分析以及软件功能的概要设计,其中对视频图像动态裁剪和旋转,摄像头的数码变焦,拍摄图片的颜色模式以及不规则图片的处理方法进行了分析与设计方案。
第四章介绍软件具体功能的设计方法,对其中关键要点的设计进行了阐述,包括摄像头采集的过程,照片后期处理的过程等。
第五章测试结果展示。
第六章结束语与展望。
第2章 开发环境与基本技术
2.1开发环境
本软件主要通过使用MFC(C++的图形化界面语言),在visualstudio2003上开发,MFC指的是微软基本类库,是微软公司提供的的一个c++类库,主要封装了大部分的windows API函数。开发起来较为方便,不需要使用多种编程软件轮换操作,灵活性较大。Microsoft Visual Studio是美国微软公司的开发工具包系列产品。Visual Studio是一个基本完整的开发工具集合,它主要包含了整个软件生命周期中所需要的大部分工具。Visual Studio是目前最流行的Windows平台应用程序的集成开发环境。在摄像头操作方面使用的是directshow技术。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/jsjkxyjs/3382.html