wince6下usb摄像头(UVC)使用指南

转自:http://hi.baidu.com/cahbb/blog/item/6d76093498fe0790a61e120e.html

在搭好了wince6的开发环境之后,下一步试验一下wince6下使用摄像头的方法。搜集了不少资料,从中学习了很多有用的东西,在这给记录下来,方便其它人学习,和自己以后使用。

//---------以下是微软网站内容

我看到过一些关于Windows Embedded CE的DirectShow摄像头的支持方面的问题咨询。所以在这篇文章里我将展示如何让ARM平台下的Windows Embedded CE6.0的USB摄像头正常运行。在这个例子中我将使用我们的REGULUS平台。

前期准备:

• CE 6.0的在Visual Studio 2005 上的Platform Builder

• CE 6.0的USB摄像头驱动 

• 带有 WinCE 6.0 R3 BSP的REGULUS ARM开发套件. (http://www.e-consystems.com/regulus.asp)  
• 3.2 MP USB摄像头(http://www.e-consystems.com/3mp_cameraboard_usb.asp)


安装:

如何安装Visual Studio和Platform Builder for CE6.0超出了本文的范围。在网上可以找到关于如何安装WinCE 6.0 Platform Builder的文章。

安装USB摄像头驱动后,驱动的源代码应该会自动被放在WINCE600\PUBLIC\ThirdParty目录中。

带着USB摄像头驱动编译OS:

新建或打开一个开发套件中已有的OSDesign。在我这里,我已经为我们的REGUPLUS板生成好了一个REGULUS-1_DEMO OSDesign。

由于此驱动基于DirectShow,我们需要将DirectShow过滤器加入到OS的镜像里来让我们的驱动和应用程序正常工作。

从catalog对话框中选择如下组件来将已安装好的USB摄像头驱动加入到OS镜像中:

下图是DirectShow Sysgen组件:

在将所有上述的SYSGEN组件加入完毕后,从VS2005的菜单中选择下面的命令来编译OSDesign:

Build–>Advanced BuildCommands–>Clean Sysgen

当编译完成后,在release目录里检查ce.bib和reginit.ini来确认usbcam.dll设置项是否存在。

应用程序的编译:

现在我们已经将USB摄像头的驱动加好了。接下来让我们用应用程序来测试这个驱动。我们可以在WinCE的共享资源(例如PRIVATE目录)中找到一些DirectShow摄像头的示例应用程序。摄像头应用程序的源代码可以在以下目录中找到:

WINCE600\PRIVATE\TEST\MULTIMEDIA\DIRECTX\DSHOW\CAMERA\CAMERAAPP

为编译生成应用程序的可执行文件,进行以下几步工作:
• 从workspace的Build菜单中选择"Open release Directory in Build Window"
• 将路径改变到WINCE600\PRIVATE\TEST\MULTIMEDIA\DIRECTX\DSHOW\COMMON\LIBS
• 输入命令 ‘build -c’.
• 当这些路径中的编译过程结束后,将路径改变至 WINCE600\PRIVATE\TEST\MULTIMEDIA\DIRECTX\DSHOW\CAMERA
• 输入命令 ‘build -c’.
• 编译将在这些路径中进行, 不过最后会有"kato.lib"不可用的错误。 • 现在转移路径到WINCE600\PRIVATE\TEST\MULTIMEDIA\DIRECTX\DSHOW\CAMERA\CAMERAAPP\
• 输入命令 ‘build -c’
• 应用程序二进制文件"CameraDshowApp.exe"将生成于OSDesign的Release目录下。
下载并执行:
在编译完带有usbcam.dll和CameraDshowApp.exe的OS镜像后我们就可以把此镜像下载到开发板里了。当下载结束并启动之后,将USB摄像头连结到REGULUS开发板的USB Host port上。
当程序连结好设备之后,我们就可以运行我们之前编译好的程序(CameraDshowApp.exe)了。这将会显示可供选择的用于生成过滤图的过滤器列表。如果摄像头驱动被正确地加载,设备名"CAM1:"将会显示在这个组合对话框中。

选择需要的过滤器并点击OK,这将会以摄像头支持的、接近于注册表设置项"PreferredWidth"中数值的尺寸大小来运行摄像头的预览功能。你可以 检查$(_WINCEROOT)\PUBLIC\ThirdParty\Catalog\USBCam\Driver\usbcam.reg这个注册表文 件来确定"PreferredWidth"注册表项。

同时请根据Webcam支持的输出格式来设置如下的注册表项。我的摄像头支持YUV无压缩输出,所以我的相应的注册表项设置为:
[HKEY_LOCAL_MACHINE\Drivers\USB\ClientDrivers\Video_Class]"UncompressedSupport"=dword:1 "MJPEGSupport"=dword:0
转自Tony嵌入式论坛,地址:http://www.cevx.com/bbs/thread-38322-1-1.html

//=====以上是微软网站内容


借荐的最好的一个网站:http://www.msembed.com/,有介绍怎么使用的。按照它的步骤来做,在加入了usb摄像头驱动后会在编译wicne6系统时出现一个错误。Error - variable"PCI_BUS_ROOT" not defined。要去掉这个错误。要到如下目录中:

根盘符:wince600\PLATFORM\SMDK6410\FILES\platform.reg    加入如下定义:

#define BUILTIN_ROOTHKEY_LOCAL_MACHINE\Drivers\BuiltIn
#define PCI_BUS_ROOT $(BUILTIN_ROOT)\PCI

再重新编译就可以正常了,写到开发板中,再插上摄像头,就不会再出现提示要输入usb设置名称的框子了。说明驱动加入了。在开发板的windows目录下,有一个测试程序,也不知怎么系统好像自带的,打开运行,会发现可以打开摄像头了。

其 中有一个小插曲,用网上介绍的方法,去编译摄像头程序时,找不到它的测试用源代码。介绍说可能是装wince6时没有选上,我想了想确定是选上了。后来又用同事带的wince6的安装文件装,就有了。说明我现在用的wince6这个安装包没有这个源码,还有在使用修复安装时,用我从开发板厂家买来的这个 盘,提示无法进行修复安装。但用同事的那个安装文件就可以正常的修复安装。再次说明开发板厂家提供的这个安装盘有点小小的问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/434415.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何用计算机绘图画图,2018年《计算机绘图》考试试题及答案【完整版】.doc

2018年《计算机绘图》试题及答案【完整版】一、填空题1、CAD的常用图形输入设备有 、数字化仪、图形输入板、光笔、 等。鼠标键盘2、CAD系统的显示器有阴极射线管显示器、 显示器和等离子显示器。液晶显示器3、CAD的软件可分为 软件、支撑软件和 软件三个层次。系统软件、应用软…

使用SqlCommandBuilder

使用命令构造器添加行 View Code using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.Data.SqlClient;namespace PersistAddsBuilder {class Program{static void Main(string[] args){string connStri…

Asterisk权威指南/第一章 一场电话革命

当我们开始着手写一本Asterisk书的时候(大概五年前),我们确信Asterisk将会从根本上改变通讯行业。今天,我们预言的这场革命几乎就要完成了。Asterisk现在是世界上最成功的PBX,并且是通讯行业的公认技术(尽管…

html怎么导入js编辑,three.js怎么导入html

用户:骑士的素材火2016年11月18日webGL可以让我们在canvas上实现3D效果。而three.js是一款webGL框架,由于其易用性被广泛应用。如果你要学习webGL,抛弃那些复杂的原生接口从这款框架入手是一个不错的选择。博主目前也在学习three.js&#xff…

编程是一门实践性的科学

编程是一门实践性的科学,仅仅靠看书、看别人写的代码是远远不够的,因此,必须多做实践才行,只有通过不断的练习,大量的使用,才能做到更深的理解,掌握的更好!转载于:https://www.cnblo…

Asterisk权威指南/第二章 Asterisk架构

Asterisk和其他传统的PBX完全不同,因为Asterisk的拨号计划以同样的方式处理所有的入局信道(incoming channels)。 传统的PBX在逻辑上区分工作站信道(连接电话机)和电话局信道(连接到外部世界)。…

正确断开计算机和网络的方法是,网络管理与维护-题库

一、选择题( 共139小题每题2分)1. 通常在网吧里,LAN采用的拓扑结构和网线类型为? CA. 总线型和STPB. 总线型和UTPC. 星形和UTPD. 环型和STP2. 局域网常用设备不包括? CA. 线缆,如光纤、双绞线、同轴电缆等B. 集线器C. MODEMD. 路由…

[Zhuan]Lua about

Lua 程式開發筆記 明明我在用 Mac OSX 寫這篇文章,但是依慣例還是要用 FreeBSD 的安裝範例 安裝 # cd /usr/ports/lang/lua; make install distclean語法 字串: > print(aabbcc) aabbcc > print("aabbcc") aabbcc > print([[aabbcc]]) aabbcc &g…

x-lite asterisk 成功实现视频通话

首先,在此感谢asterisk协会的各位大牛们,没有他们的帮助,我也不可能在这么短的时间内实现,x-liteasterisk音视频通话。在此将实现的过程记录如下,分享给asterisk的爱好者们。 1. 修改asterisk服务器的sip.conf文件&…

axure 链接html文件,通过WuliHub免费托管原型Axure HTML文件

产品经理常用的工具就是Axure,通过Axure把想法转化成包含交互的原型线框图。在工作中,我们用HTML文件传递不仅会遇到某些浏览器无法打开的问题,而且没有办法及时更新内容。所以,介绍一种简单的并且免费的方式来方便管理HTML原型&a…

字符串解析

匹配,求公共串,。。。转载于:https://www.cnblogs.com/mathzzz/archive/2012/07/24/2607115.html

语音编码分类及编解码标准

G.711类型:Audio 制定者:ITU-T 所需频宽:64Kbps 特性:算法复杂度小,音质一般 优点:算法复杂度低,压缩比小(CD音质>400kbps),编解码延时最短&#xff08…

html日期只显示7天,vue+elementui 只能选7天内的日期

html:查询时间至js:data() {const _this this;const dateScope 7 * 24 * 3600 * 1000;return {pickerStart: {disabledDate(time) {const endLen _this.endDate;if (endLen 0 || endLen "" || endLen null) {return time.getTime() > Date.now();}const dat…

各种路径的获取方法

转http://blog.csdn.net/banyingli/article/details/6124995 根据文件名来获取文件路径(Document目录下) //根据文件名来获取文件路径 - (NSString *)dataFilePath:(NSString *)sender { NSArray *path NSSearchPathForDirectoriesInDomains(NSDo…

Asterisk SIP连通测试(X-Lite eyebeam)

Step1:设置 sip.conf rootUbuntu:/etc/asterisk# vim sip.conf [general] //类似与全局变量 context default srvlookup yes //DNS SRV记录查询 [111] secretaaa //密码&#xf…

html多出的空白页怎么删除,word多出一页空白页怎么删除,这4个方法总有一个能解决,真实挂机网赚项目...

信赖大多数人都碰到过这样的难题,在编辑Word文档的时刻,是不是在中心或者是最后一页,莫名其妙的泛起空白页,而且这个空白页怎么删都删不掉。不要着急,今天就给人人分享4种简朴又好用的解决方式,总有一种能让…

sip.conf配置详情

[2001] typefriend contextLocalSets hostdynamic natyes canreinviteno secret123456 dfmfmoderfc2833 disallowall allowulaw allowalaw allowh263 说明: (1)type:sip的类型。格式:type user|peer|fr…

centos永久关闭防火墙

新安装完CentOS Linux,发现配置完apache后没法访问,估计是防火墙问题。 /etc/init.d/iptables status 会得到一系列信息,说明防火墙开着。 /etc/init.d/iptables stop 永久关闭: chkconfig --level 35 iptables off转载于:https://www.cnblog…

微型计算机原理上机实验改错,北京理工大学微机原理汇编语言上机实验题

实验一请在数据段中定义两个数,要求编写程序分别计算出这两个数的和、差、积、商,并用Debug 的相关命令查询计算结果。(略)实验二内存自TABLE开始的连续16个单元中存放着0-15的平方值,查表求DATA中任意数X(0≤X ≤15)的平方值&…

Asterisk配置SIP服务器

要配置SIP服务器,前提是要先安装了Asterisk1.编辑sip.conf 进入到/etc/asterisk 后,vi sip.conf [general] allowoverlapno bindport5060 bindaddr0.0.0.0 srvlookupyes qualifyyes contexttest [1001] typefriend secrettest hostdynamic [1002] typefr…