Basler usb SDK安装在opencv采集图像
近期,入手一台baslerUSB接口的CCD相机,但是貌似之前图像采集的编程无法调动其摄像头,在网上搜了一下,大家的说法就是安装它的SDK文件包,并且调用它内部函数编写代码。其实新版的Basle相机驱动可执行文件就已经包含SDK库。安装好它的驱动,你可以在你安装的位置看到下面这两个文件:
application文件夹主要是写的是它的协议,这个不是重点,重点的是development这个文件夹,它含有include和lib,这就是opencv调用的库目录和附加依赖项,这里边的sample文件夹含有C语言,c#语言,c++语言的实例代码,这就主要是按需改写就可以了。下面的图就是development文件夹所有内容。
接下来,就需要在你项目里添加库目录和依赖项,以及把.lib文件全部移至你安装opencv中.lib位置(主要针对的是C语言案例,C++则是需要在c++文件夹里的头文件.h全部移至你程序源文件处),话不多说,现在先给大家编程c++语言的案例,如下图所示,你完全可以直接运行VC++project文件,新的版本的sdk貌似不需要修改其项目的属性的。如果你非要自己写代码,点开的C++source文件,也可以,不过,不知道为什么就算修改它项目的属性,添加相应的库目录和.lib文件,代码还是报错。自己才疏学浅还未探知原因。
这个sdk还是很强大的,它里头doc文件里边的pdf详细介绍的它主要代码的含义以及运行的流程,整体来说还是不错,有很多可以学习的地方。
如果你觉得它的讲解全是英文,不想看,这将转载别人的博客,代码流程还是很清晰的。个人不建议去下载它代码链接,因为你自己的驱动程序都已经有很完整的代码,没有什么必要去下载别人的代码,一方面版本太老合适,另一方面代码未必能在你的电脑上运行。
http://blog.csdn.net/wenzhou1219/article/details/7543
一般的对于提供硬件编程来说,硬件生产厂家都会提供好SDK使用的手册和实例。手册中一般包括安装和配置流程,一些基本概念的介绍,SDK每个函数使用,SDK使用流程和实例(有些硬件实例直接写在手册中,有些会以单独文件存在,还有的两者皆有)。对于上位机软件开发人员来说拿到一个硬件上位机编程任务,首先应该阅读了解其SDK概念,再按照其介绍的SDK开发流程阅读其提供的实例,修改相应的实例为自己所用,有不懂的函数查询一下其用法即可。有些开发人员习惯性的去记其API,这是费时费力的做法,并不推荐。下面主要以实时图像采集讲解Basler相机的PylonC SDK的使用流程。
PylonC SDK的使用的总体流程图如下:
下面是其中对于不同的工作要求,加载相机对象和卸载相机对象是通用的。而要使用其他模块,如事件对象时,相应的改为加载事件对象和卸载事件对象,以及使用事件对象完成相关任务即可。编程时一定要对整个流程做好规划,特别是硬件编程时一定留意内存泄露,前面分配的资源一定要在后面释放。
下面是五个大流程的详细解析,需要的地方已经加以说明,并注解了需要用到的函数
加载相机对象
卸载相机对象
加载数据流抓取对象
卸载数据流抓取对象
单帧或连续抓图过程
按照以上介绍的流程即可实现实时图像采集