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的使用的总体流程图如下:

下面是其中对于不同的工作要求,加载相机对象和卸载相机对象是通用的。而要使用其他模块,如事件对象时,相应的改为加载事件对象和卸载事件对象,以及使用事件对象完成相关任务即可。编程时一定要对整个流程做好规划,特别是硬件编程时一定留意内存泄露,前面分配的资源一定要在后面释放。
下面是五个大流程的详细解析,需要的地方已经加以说明,并注解了需要用到的函数
加载相机对象

卸载相机对象

加载数据流抓取对象

卸载数据流抓取对象

单帧或连续抓图过程

按照以上介绍的流程即可实现实时图像采集
Basler usb SDK安装在opencv采集图像的更多相关文章
- 下载安装和OpenCV匹配的Android开发环境
ok blog Android与OpenCV——重新下载安装和OpenCV匹配的Android开发环境 !!OpenCV4Android开发之旅(一)----OpenCV2.4简介及 app通过Jav ...
- Android与OpenCV——重新下载安装和OpenCV匹配的Android开发环境
Android与OpenCV——重新下载安装和OpenCV匹配的Android开发环境 !!OpenCV4Android开发之旅(一)----OpenCV2.4简介及 app通过Java接口调用Ope ...
- 在Ubuntu 12.04系统中安装配置OpenCV 2.4.3的方法
在Ubuntu 12.04系统中安装配置OpenCV 2.4.3的方法 对于,在Linux系统下做图像识别,不像在windows下面我们可以利用Matlab中的图像工具箱来实现,我们必须借助Ope ...
- Java基于opencv实现图像数字识别(一)
Java基于opencv实现图像数字识别(一) 最近分到了一个任务,要做数字识别,我分配到的任务是把数字一个个的分开:当时一脸懵逼,直接百度java如何分割图片中的数字,然后就百度到了用Buffere ...
- camera按键采集图像及waitKey的用法
前言 项目需要通过摄像头采集图像并保存,主要是用于后续的摄像头标定.实现过程其实很简单,需要注意一些细节. 系统环境 系统版本:ubuntu16.04:opencv版本:opencv2.4.13:编程 ...
- Halcon WPF C#采集图像区域灰度值
源码下载地址:https://github.com/lizhiqiang0204/ImageGray.git Halcon代码如下: *读取图片,转换成灰度图片 read_image (Image1, ...
- C#使用OpenCV剪切图像中的圆形和矩形
前言 本文主要介绍如何使用OpenCV剪切图像中的圆形和矩形. 准备工作 首先创建一个Wpf项目--WpfOpenCV,这里版本使用Framework4.7.2. 然后使用Nuget搜索[Emgu.C ...
- Python3.5安装及opencv安装
Python安装注意事项(版本3.5,系统windows)1.安装好Python后将D:\Program Files\Python.D:\Program Files\Python\Scripts加入P ...
- DirectX 9 SDK安装后在vs2010里编译BaseClasses出错问题解决方法
打开你的dx的sdk安装目录,例如: D:/DX90SDK/Samples/C++/DirectShow/ 这里就有一个叫baseclasses的工程,为安全起见,请先备份此工程. 1,双击basec ...
随机推荐
- EnterpriseLibrary之Caching应用
http://blog.csdn.net/linux7985/article/details/6239433 http://cache.baiducontent.com/c?m=9f65cb4a8c8 ...
- Win7系统安装Centos7.0双系统(二)
4.6语言选择
- System.ArgumentOutOfRangeException: 年、月和日参数描述无法表示的 DateTime。
c#日期控件 格式设为 yyyy-MM,通过updown 方式调整日期. 当为月度最后一天,且要调整月没有当前月的最后一天时,就会报标题错误. 如:当前为1月31日,要调整为2月时,就会报错.因为2月 ...
- Java 新IO
NIO提供全新的底层I/O模型.与最初的java.io包中面向流(stream-oriented)概念不同,NIO采用了面向块的概念(block-oriented).在尽可能的情况下,I/O的操 ...
- CE_现金的利息设定和计算(案例)
2014-07-15 Created By BaoXinjian 一.摘要 存款利率指客户按照约定条件存入银行帐户的货币,一定时间内利息额同贷出金额即本金的利率.有活期利率和定期利率之分,有年/月/日 ...
- CF 445A 简单DP
今天早上找一道题的bug,还是找不出来,下午刷了几道水题,晚上准备回家的事, 然后本来想打CF的,一看,数学场,不打了. 这道题的题意: 给出一个序列,每次你可以从这个序列里面选择一个数ak,删除,然 ...
- Mobirise
网站建设器Mobirise v1.9.2 免费版 - 绿色软件联盟 2015年9月5日 - 网站建设器Mobirise是一个用户友好的程序,使您可以构建桌面和移动网站,准备在Javas cript中. ...
- YCbCr;YUV;RGB
1. 来源的差异 yuv色彩模 型来源于rgb模型,该模型的特点是将亮度和色度分离开,从而适合于图像处理领域. 应用:basic color model used in analogue color ...
- 四步轻松实现用Visio画UML类图
本节和大家一起学习一下用Visio画UML类图的方法,主要有四个步骤,这里和大家分享一下,相信通过本节的学习,你对Visio画UML类图的步骤一定会有所了解. 用Visio画UML类图 对于画类图的工 ...
- embed标签的使用(在网页中播放各种音频视频的插件的使用)
播放器插件使用说明: 代码:< EMBED src=“music.mid”autostart=“true”loop=“2”width=“80”height=“30”> src:音乐文件的路 ...