基于LabVIEW和API的实时视频处理.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于LabVIEW和API的实时视频处理

基于LabVIEW和API的实时视频捕捉 陈希球1 田有成2 (长江工程职业技术学院,武汉 430212 ) (长江中游水文水资源勘测局,武汉 430010 摘 要:工业现场控制经常要对实时视频图象进行分析处理,labVIEW尽管提供了Vision工具,但需要相应的硬件与设备驱动。本文通过调用库函数节点,实现了操作系统底层视频处理功能。具有快速、高效的特点。 关键词:LabVIEW;API;视频捕捉 中图分类号:TP3-5 文献标识码:A 文章分类号 0 引言 美国国家仪器公司(National Instruments)的软件产品labVIEW,以图形化编程模式更显直观高效,同时又不泛灵活性。其应用范围覆盖工业自动化、测试测量、嵌入式应用、运动控制、图象处理、计算机仿真等众多领域。在图象处理方面,提供了极其丰富的图象处理与算法分析函数,易于用户构建图象处理系统,缩短了系统开发周期。由于NI公司提供的图像采集卡价格不菲,构建应用系统时,硬件采用通用图像采集卡,再利用labVIEW强大的软件资源,不失为明智之举,既节省成本,又方便软件设计。 1 调用库节点与相关AIP 1.1 调用库节点 labVIEW的互联接口函数面板中提供了调用库函数节点(CLN),利用CLN可以调用DLL和API函数。在使用CLN节点时,需要利用对话框配置调用环境,包括指定DLL或API对应文件的路径,调用规范应选用stdcall(WINAPI),在线程选项中应选择“在UI线程中运行”选项。不同函数它的参数个数和参数数据类型都不尽相同,在配置时要按函数的要求增加相应参数并选择对应的数据类型,在选择数据类型时要注意labVIEW中的数据类型与C语言的对应关系。 1.2 与视频处理相关API Window提供了实时音视频处理动态链接库avicap32.DLL,可以创建捕捉窗口,并通过向窗口发送消息实现视频捕捉。其相关函数和消息说明如下: HWND VFWAPI capCreateCaptureWindow( LPCTSTR lpszWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWnd, int nID) capCreateCaptureWindow为建立捕捉窗口,参数分别为新建窗口标题、窗口风格、窗口相对地父窗口的坐标、窗台的宽度和高度、父窗口句柄和窗口ID。如果窗口建立成功,则返回捕捉窗口句柄。 LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM IParam)函数将指定的消息发送到一个或多个窗口。参数hWnd为接收消息的窗口的句柄,Msg为指定被发送的消息,wParam和IParam指定附加的消息特定信息。主要与视频捕捉有关的消息 WM_CAP_SET_PREⅥEW ,设置预览模式 WM_CAP_SET_OVERLAY ,设置覆盖 WM_CAP_SET_PREⅥEWRATE ,设置采样帧速率 WM_CAP_GRAB_FRame ,捕捉单帧作为静止图象 WM_CAP_DRIVER_CONNECT ,连接摄像机 WM_CAP_DRIVER_DISCONNECT, 断开摄像机 HWND FindWindow (LPCSTR lpClassName,LPCSTR lpWindowName)函数为查找指定程序的窗口句柄,本应用中主要用来查找前面板的窗口句柄。参数lpClassName为指向一个以null结尾的、用来指定类名的字符串或一个可以确定类名字符串的原子,lpWindowName为指定窗口标题的字符串。 2 labVIEW环境下视频捕捉实现 labVIEW的主流编程模式为数据流驱动模式,根据视频捕捉的实际应用,软件设计采用事件驱动模式来实现,前面板设计连接摄像机、断开摄像机、单帧捕捉三个按钮,用户通过点击相应的按钮实现其对应功能。连接摄像机按钮对应程序流程图如图1所示。 图1 连接摄像机按钮事件流程图 对应labVIEW程序如图2所示。如果用户的labVIEW环境支持私有属性节点,也可通过对windows剪切板操作捕捉图象的复制与粘贴,从而可简化程序设计。图3为程序运行效果图。 图2 连接摄像机按钮事件labVIEW程序图。 图3 视频捕捉程序前面板图 其它两个按扭的程序设计与连接摄像机按扭类似。程序中要建立共享变量将视频窗口句柄在不同事件结构中传递,以实现对

文档评论(0)

yanpan1 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档