2024年4月4日发(作者:)

利用Labwindows/CVI软件对摄像头的控制

一、概述

首先,先介绍一下windows系统在驱动摄像头的时候都使用到一个链接库,传统的

是和。这两个文件是比较通用的,而且也是比较早期的文件。

现在也有比较新的链接库,例如。在使用这个链接库来实现视频的捕捉

时,主要使用下面这个函数来打开摄像头:

int capCreateCaptureWindowA(String lpszWindowName,Long dwStyle,Long

x,Long y,Long nWidth,Long nHeight,Long hwndParent,Long nID);

返回值为打开的句柄值。

String lpszWindowName:视频窗口的名字

Long dwStyle:样式

Long x:左边距(相对于主窗口,没有边距值为0)

Long y:上边距(相对于主窗口,没有边距值为0)

Long nWidth:视频窗口的宽度(注:此项不会改变摄像头的分辨率,超出部分不会被

刷新)

Long nHeight:视频窗口的高度

Long hwndParent:主窗口句柄,主要是用来显示摄像头采集到得视频。

Long nID:标识符(一般为0)

摄像头打开后,要对摄像头相关信息进行参数设置,比如摄像头的分辨率等。摄像头

参数的设置使用到得函数是windows.h声明到的SendMessage。函数的原型为:

LRESULT SendMessage(HWND hWnd,UNIT Msg,WPARAM wParam,LPARAM

IParam);

hWnd:其窗口程序将接收消息的窗口的句柄。如果此参数为HWND_BROADCAST,

则消息将被发送到系统中所有顶层窗口,包括无效或不可见的非自身拥有的窗口,被覆盖

的窗口和弹出式窗口,但消息不被发送到子窗口。

Msg:指定被发送的消息。

wParam:指定附加的消息指定信息。

IParam:指定附加的消息指定信息。

返回值:返回值指定消息处理的结果,依赖于所发送的消息。

Msg是指定发送的消息,主要有一下这些消息指令:

WM_CAP_START= WM_USER=1024;