DALSA网口线扫相机SDK开发详解例程(C#版)

本文详细介绍了使用C#开发Dalsa网口线扫相机的过程,包括遇到的问题、解决方法及关键代码示例。通过阅读,开发者可以了解如何配置相机、处理兼容性问题以及使用Halcon显示图片。
摘要由CSDN通过智能技术生成

首先吐槽一句,官方的demos写的真的不好,坑爹啊。对于小白来说,开发官方demos为我所用太难了。为什么呢?因为它Dalsa的DALSA.SaperaLT.SapClassBasic.dll中,不仅有采图的代码库,还有用于显示的UI库(它不是用Winform的PictureBox显示图片,而是用它自家的UI显示图片),demos把采图程序和UI库杂糅在一起,而且隐藏了少部分细节。

 

后来我在网上狂搜资料,搜到了两个大佬的两篇好文章:

dalsa 8k线阵网口相机c#开发

https://blog.csdn.net/baidu_30028771/article/details/64628784

 

DALSA相机SDK不完全教程

http://www.cnblogs.com/lgyup/p/4313332.html

文章一的代码是一个完整的例子,是可以直接采到图的。文章二的代码缺少关键的GetCameraInfo()方法,是不能直接运行的,但是这篇文章的讲解更全面、深入,可以说两篇都是必备的啦。

 

我为什么要写这两篇文章呢?因为我想集合这两家之长,再加入一点自己的经验、代码,并且提供完整的源代码方便大家开发。很忏愧 ,只做了一点微小的贡献。

 

我的开发硬件、软件信息:

操作系统:windows 10、windows 7   64bit都有

线扫相机:Dalsa  Linea Mono 4k  26 kHz GigE (LA-GM-04K08A)

IDE :Visual studio 2013

 

第一篇文章我直接运行代码报错了,是到了跟Dalsa相关的dll的语句时报错的。Win 10系统很扯淡,报错的提示一点都看不懂,我换Win 7的系统后,也报错,但是明确把错误原因找出来了。其实是Dalsa的dll中有低版本.Net Framework的代码,导致不兼容。解决的办法,网上一大推,核心就一句:在app.config的合适位置,加这句话useLegacyV2RuntimeActivationPolicy=”true”。

如果没有app.config文件,你就需要创建这个文件。

 

我的app.config文件内容如下:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
  </startup>
</configuration>

 

现在你需要把我上文提到的两篇博客仔细看一下了。

……

看完了吗?看完了的话,接着往下看我的文章。

 

首先学习一下相机配置文件(.ccf)如何生成:

① 打开相机软件Sapera CamExpert,确保相机已经正常工作,然后自己改变到合适的参数;

② 点击软件左上角的File——Save As...,选择文件夹路径,修改文件名。

 

我的解决方案资源结构如下:

因为我是用Halcon显示图片,因此我添加了两个dll引用。除了app.config之外,我所有自己编写的代码全部在Form1.cs中。其实相当于我把全部源代码一字不漏全告诉你了。

 

我的Form1界面如下:

(点击Init初始化,会弹出该线阵相机的型号)

 

然后点击“snap”的话,它会连续采集15张图,并保存,如下:

 

Form1.cs的全部内容如下:

复制代码 </
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值