拿到了dalsa相机,可以用Sapera软件配置相机,进行图像采集。但是自己开发的话就得撸起袖子写代码了,查了两篇不错的博文,作为指导。
Sapera帮助文档 - 《好好先生》专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/liubing8609/article/details/68485919
DALSA线阵CCD开发纪要(C++) - simplelove17的专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/simplelove17/article/details/45393725
1、首先搞清楚要实现什么功能。
现在的应用是用编码器的脉冲触发相机来进行逐行扫描。
以C:\Program Files\Teledyne DALSA\Sapera\Demos\Binaries 目录下的GigeCameraDemo.exe为例。
1)双击运行程序之后,首先是弹出一个界面让你选择相机和配置文件。也就是说,你可以先用Sapera把相机配置好,然后自己开发程序时只需要加载这个配置文件就行了,不用在自己的程序里对相机做配置。
2)之后进入取图界面
点击Grab按钮可以获取一帧图像(注意编码器给转动给相机脉冲信号),Snap是实时显示图像。
这时候还可以点击Load Config按钮来更换相机配置文件。
这些功能在测试阶段基本够用了。
2、然后是Visual Studio 开发C++的第一步,工程配置。
配置Dalsa的过程跟配置Opencv类似,主要是参考下文:
Sapera帮助文档 - 《好好先生》专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/liubing8609/article/details/68485919
具体过程如下:
1)以GigECameraDemo为例,首先打开Debug 64的配置界面
设置包含目录
设置库目录
附加库目录
静态链接库名称(注意这里原来有halcon.lib,但是我的电脑里并没有装halcon,导致运行时报出“找不到halcon.lib”这样的错误,我就把halcon.lib从这个列表中移除了)
如果编写GUI程序还得添加SapClassGui.lib和SapClassGuiD.lib。
3、代码编写,参考dalsa的例程。
这里直接用Dalsa的代码做的测试,为了验证代码环境配置是否成功,对Demo做了一点改动。
在GigeCameraDemoDlg.cpp文件中OnInitDialog()函数中添加了一句代码:
BOOL CGigeCameraDemoDlg::OnInitDialog()
{
CRect rect;
MessageBox(_T("Welcome to GigE Camera Demo!"));
CDialog::OnInitDialog();
…
4、运行与调试。
我是直接打开的C:\Program Files\Teledyne DALSA\Sapera\Demos\Classes\Vc目录下的SapDemos_2012.sln解决方案文件,进到VS之后会看到所有的程序都在这一个解决方案里。
所以生成的时候一定要选中自己要调试的项目再点生成啊,不然会把整个解决方案都生成一遍,非常耗时。
生成成功之后直接在VS里按F5,或点击运行按钮,会报下面的错误。
正确的做法是进到Bubug 64 目录下找到生成好的exe文件,双击运行。。。
结果就出现了之前修改的效果(简单粗暴了点)