使用videoInput获取图像数据

OpenCV2.0之后的版本中提供了第三方库videoInput,它实现了windows平台下对DirectShow的封装,相比于直接使用VFW,效率要高出很多。

配置依赖库路径:$/OpenCV2.1/3rdparty/include

$/OpenCV2.1/3rdparty/lib

// 初始化videoInput对象,并设置图像捕捉设备

videoInput vi; vi.setupDevice(0);

// 检测新图像帧是否准备好

if (vi.isFrameNew(0)) { vi.getPixels(0, (unsigned char*)pImg->imageData, false, true); // 获取一帧,翻转画面 }

// 关闭图像数据捕捉设备

vi.stopDevice(0);

 

若出现链接错误:提示无法打开文件atlthunk.lib,可以通过在工程属性页->链接器->输入->忽略特定库中填入atlthunk.lib即可。

 

使用videoInput获取图像数据与直接使用highgui获取图像数据方法的区别主要在于:

1、初始化视频捕捉设备的方法不同;

2、获取新的一帧图像的方法不同;

3、释放视频捕捉设备的方法不同;

你可能感兴趣的:(windows,平台)