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把相机配置好,然后自己开发程序时只需要加载这个配置文件就行了,不用在自己的程序里对相机做配置。

Image 3

2)之后进入取图界面

Image 4

点击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的配置界面

Image 7

设置包含目录

Image 6

设置库目录

Image 8

附加库目录

Image 9

静态链接库名称(注意这里原来有halcon.lib,但是我的电脑里并没有装halcon,导致运行时报出“找不到halcon.lib”这样的错误,我就把halcon.lib从这个列表中移除了)

Image 10

如果编写GUI程序还得添加SapClassGui.lib和SapClassGuiD.lib。

Image 11

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之后会看到所有的程序都在这一个解决方案里。

Image 12

所以生成的时候一定要选中自己要调试的项目再点生成啊,不然会把整个解决方案都生成一遍,非常耗时。

Image 13

生成成功之后直接在VS里按F5,或点击运行按钮,会报下面的错误。

Image 1

正确的做法是进到Bubug 64 目录下找到生成好的exe文件,双击运行。。。

Image 2

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

Image 14

转载于:https://www.cnblogs.com/oucsheep/p/6912753.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/254432.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度学习环境搭建(GPU)CUDA安装(完全版)

文章目录1、查询电脑硬件2、环境搭建与软件安装1、安装CUDA运算平台软件2、安装cuDNN支持包3、配置环境变量3、验证CUDA与cuDNN安装前几天在看深度学习。因为对深度学习不是很了解,在配置环境时走了许多弯路,也总是战战兢兢的。现在对深度学习的环境搭建…

Pycharm用鼠标滚轮控制字体大小

一、pycharm字体放大的设置 File —> setting —> Keymap —>在搜寻框中输入:increase —> Increase Font Size(双击) —> 在弹出的对话框中选择Add Mouse Shortcut 在弹出的对话框中同时按住ctrl键和鼠标滚轮向上滑。 二、…

Halcon自定义函数封装方法(全网最详细)

文章目录1、名词解释2、例子介绍1、处理原图与任务:2、代码与解析:3、Halcon函数封装方式①明确需求②选取函数部分进行函数创建,更改函数接口③运行验证与函数更改操作有网友说不太清楚这个halcon函数的封装方法。今天写个教程帖子&#xff…

傅里叶变换进行缺陷检测detect_indent_fft.hdev(源代码与详细解析)

文章目录简介程序解析处理结果预览算法讲解简介 detect_indent_fft.hdev是halcon的示例程序,是傅里叶变换进行缺陷检测的一个例子,主要是傅里叶变换在复杂背景下的缺陷检测。 这个程序展示了如何利用快速傅里叶变换(FFT)对塑料制…

thinkphp5 内置接口开发与使用

最近的一个项目在用tp5,对于tp3都几乎没用过的我来说~~~ tp5最好的一点就是对接口的单独封装,只要严格按照要求一步一步来就可以成功了 开启命令行:配置环境变量安装tp5项目cmd进入项目目录,运行php think,出现如下内容…

Halcon2019软件安装教程

文章目录1、halcon介绍2、安装halcon-19.11.0.0-windows.exe1、下载halcon-19.11.0.0-windows.exe安装包2、halcon-19.11.0.0-windows.exe软件安装3、验证Halcon安装1、halcon介绍 HALCON是德国MVtec公司开发的一套完善的标准的机器视觉算法包,拥有应用广泛的机器视…

Python: 编程遇到的一些问题以及网上解决办法?

0.Python: TypeError: str does not support the buffer interface,(点我) fp.write(url.encode("utf-8")) 1.Python:object of type Response has no len(),如何解决?(点我) Traceback (most recent call last):File "F:/Python/TD.py&q…

一文学会,胶位偏移、缺胶、断胶、溢胶检测

文章目录检测任务检测思路点胶质量检测代码及解析图示处理思路博主写作不容易,孩子需要您鼓励 万水千山总是情 , 先点个赞行不行 检测任务 点胶检查检测以下缺陷: 1.缺少粘合胶的部分(断胶) 2.粘合剂过多或过少的部分&#x…

深入理解halcon相机标定

目录相机标定简介深度说明1、相机标定参数介绍2、标定板详细介绍问题1:halcon是否只能使用halcon专用的标定板?问题2:halcon标定板如何生成?问题3:halcon标定板如何摆放,拍照数量有无限制?标定步…

halcon模板匹配干扰边缘消除办法(最硬核方式)

目录halcon手绘形状匹配模板手绘形状匹配模板主要算子解析draw_nurbs 绘制平滑曲线参数解释create_shape_model_xld 使用XLD轮廓创建模板参数解释实例演示与解析实例代码展示与解析运行过程与处理展示读入图像绘制模板使用绘制的XLD创建模板查找模板博主写作不容易,…

第一个PowerShell脚本——PowerShell三分钟(九)

前面把基础知识讲了一遍,现在我们开始写一个最初级的脚本写脚本的工具有很多,有文本文档,有PowerShell ISE,PowerShell Studio等,这里选用系统自带的PowerShell ISE这里大家依然要记得以管理员身份运行,否则…

MVC架构简介及其测试策略

最近在WEB端测试工作中陷入了瓶颈,单纯的手动功能测试在没有成熟的代码规范之前还是很容易坑的,WEB自动化测试一时半会还没有什么进展,所以决定先学习一下网站用的MVC架构,跟着教程写了一个小网站,大概也找到了WEB测试…

C++多线程实例(_beginThreadex创建多线程)

C多线程(二)(_beginThreadex创建多线程) C/C Runtime 多线程函数一 简单实例(来自codeprojct:http://www.codeproject.com/useritems/MultithreadingTutorial.asp) 主线程创建2个线程t1和t2,创建时2个线程…

halcon求取区域顶点

文章目录简介Halcon源代码处理效果博主写作不容易,孩子需要您鼓励 万水千山总是情 , 先点个赞行不行 简介 使用halcon求取顶点的方法。 Halcon源代码 read_image (Image1, 1.png)points_foerstner (Image1, 1, 2, 3, 200, 0.3, gauss, false, RowJunctions, …

从excel表中生成批量SQL,将数据录入到数据库中

excel表格中有许多数据,需要将数据导入数据库中,又不能一个一个手工录入,可以生成SQL,来批量操作。1.首先在第二行的H列,插入函数:CONCATENATE("INSERT INTO book (bookid, title, volume, author, u…

Linux 的多线程编程的高效开发经验

转自:http://www.chineselinuxuniversity.net/articles/22615.shtml 本文中我们针对 Linux 上多线程编程的主要特性总结出 5 条经验,用以改善 Linux 多线程编程的习惯和避免其中的开发陷阱。在本文中,我们穿插一些 Windows 的编程用例用以对…

Visual C++中error spawning cl.exe解决办法

| 版权声明:本文为博主原创文章,未经博主允许不得转载。 今天安装Vc6.0的时候出现了一个error spawning cl.exe的错误,在网上找了一些资料,才知道这是因为路径设置的问题引起的, “cl.exe”是VC真正的程序编译器&…

HEXA机器人荣获CES Asia2018 创新奖

2019独角兽企业重金招聘Python工程师标准>>> 6月13日至15日,亚洲消费电子展CES Asia 2018将在上海新国际博览中心如期举行。在活动到来前,美国消费技术协会(CTA)于5月24日,提前揭晓了“2018亚洲消费电子展创…

【bzoj3994】[SDOI2015]约数个数和 莫比乌斯反演

题目描述 设d(x)为x的约数个数,给定N、M,求 输入 输入文件包含多组测试数据。 第一行,一个整数T,表示测试数据的组数。接下来的T行,每行两个整数N、M。输出 T行,每行一个整数,表示你所求的答案…

Linux根文件系统结构再认识

Linux根文件系统结构再认识刘建文(http://blog.csdn.net/keminlau ) INTRO 尽管Linux的根文件系统在形式表现上是一体的(所有数据目录均为根目录下的子目录),但实际它们是多个不同的【逻辑主体】(为了实现…