Dalsa线扫相机SDK开发-小试牛刀(1)
拿到了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文件,双击运行。。。

结果就出现了之前修改的效果(简单粗暴了点)

Dalsa线扫相机SDK开发-小试牛刀(1)的更多相关文章
- DALSA网口线扫相机SDK开发详解例程(C#版)
首先吐槽一句,官方的demos写的真的不好,坑爹啊.对于小白来说,开发官方demos为我所用太难了.为什么呢?因为它Dalsa的DALSA.SaperaLT.SapClassBasic.dll中,不仅 ...
- Dalsa线扫相机SDK下载和安装
1.首先去官方网站下载SDK Support Downloads - Teledyne DALSA http://www.teledynedalsa.com/imaging/support/downl ...
- VisionPro连接Dalsa线扫相机
1 环境配置 硬件:编码器(提供编码信号的PLC) 线扫相机 镜头 相机线缆 图像采集卡(Dalsa_Xcelera-CL_PX4 Dual) 软件:VisionPro 8.2 VisionPro软件 ...
- Dalsa线扫相机配置-一台工控机同时连接多个GigE相机
如图,我强悍的工控机,有六个网口. 实际用的时候连了多台相机,为了偷懒我就把六个网口的地址分别设为192.168.0.1~192.168.0.6,以为相机的IP只要设在192.168.0这个网段然后随 ...
- DALSA相机SDK不完全教程
1.SDK介绍 Dalsa是全球顶尖的CCD/CMOS芯片和相机制造商,总部位于加拿大,我使用的是 Dalsa的 Genie_TS_M1920(黑白)和 Genie_TS_C2048(彩色)两款工业相 ...
- Kinect for Windows SDK开发入门(二):基础知识 上
原文来自:http://www.cnblogs.com/yangecnu/archive/2012/03/31/KinectSDK_Application_Fundamentals_Part1.htm ...
- 微信公众账号 Senparc.Weixin.MP SDK 开发教程 索引
Senparc.Weixin.MP SDK从一开始就坚持开源的状态,这个过程中得到了许多朋友的认可和支持. 目前SDK已经达到比较稳定的版本,这个过程中我觉得有必要整理一些思路和经验,和大家一起分享. ...
- Kinect for Windows SDK开发入门(15):进阶指引 下
Kinect for Windows SDK开发入门(十五):进阶指引 下 上一篇文章介绍了Kinect for Windows SDK进阶开发需要了解的一些内容,包括影像处理Coding4Fun K ...
- Zedboard(二)使用Vivado+SDK开发嵌入式应用程序——实例一
本次介绍用Vivado构建Zedboard开发板的硬件平台+SDK开发应用程序(Zedboard裸机开发) 过程如下: 一.运行Vivado,建立新工程 指定好工程路径,下一步,选择RTL Proje ...
随机推荐
- Python3 len()方法
Python3 len()方法 Python3 字符串 描述 Python len() 方法返回对象(字符.列表.元组等)长度或项目个数. 语法 len()方法语法: len( s ) 参数 s - ...
- JSON在各种语言中的运用
1. JSON数据格式 JSON(JavaScript Object Notation) 从结构上看,所有的数据最终都可以分成三种类型: 第一种类型是scalar(标量),也就是一个单独的strin ...
- jquery 动态添加的代码不能触发绑定事件
今天发现jQuery对动态添加的元素不触发事件,比如blur.click事件等 参考文章证明了我的结论,并给出了原因及解决方案 原因:程序找不到动态添加的节点. 解决方案:在绑定父元素后的子元素 $( ...
- 9-centos定时任务-不起作用- 没指明路径!!!
crond 是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务 工具,并且会自动启动crond进程,cro ...
- maven项目工程目录约定
使用maven创建的工程我们称它为maven工程,maven工程具有一定的目录规范,如下: src/main/java —— 存放项目的.java文件 src/main/resources —— 存放 ...
- Golang之时间、日期类型
孤身只影的一直小地鼠,艰难的走在路上 package main import ( "fmt" "time" ) //获取时间的格式 func testTime( ...
- 面向对象设计模式纵横谈:Prototype 原型模式(笔记记录)
有一段时间没写东西了,今天继续把没写完的设计模式写完,今天这堂课是创建型设计模式的最后一堂课,原型设计模式,它同样也是解决了对象在创建的过程中的解耦合的情况,面对变化使代码更稳定,更准确的说是使 ...
- SNP问题大集锦
SNP问题大集锦 [2017-01-19] 最近小编对基因检测很感兴趣,也跟风去测了一下,这一测不要紧,吓得小编几天没睡着觉,这不,检测报告上称小编的减肥能力弱,虽然小编一家都是胖子,唯有 ...
- IG—金字塔
博客链接 选择困难症的福音--团队Scrum冲刺阶段-Day 1领航 选择困难症的福音--团队Scrum冲刺阶段-Day 2 选择困难症的福音--团队Scrum冲刺阶段-Day 3 选择困难症的福音- ...
- 【hh】我胡汉三又回来了
hh 差不多半年没来机房了,高一的都已经碾压我100题了 开始得比较晚,估计比高一的早两三个月吧,停了这半年落下了不少. 但是没有关系啊,学OI纯粹是好玩嘛,一开始报名的时候根本不知道有联赛这回事(其 ...