使用到了Basler的相机,利用C#编写的SDK,下面进行简单的整理记录。
首先引用basler的动态库文件,具体引用位置如下:
安装目录\Basler\pylon 5\Development\Assemblies\Basler.Pylon\x64\Basler.Pylon.dll
引用命名空间
using Basler.Pylon;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using HalconDotNet;
using Basler.Pylon;
using System.Runtime.InteropServices;
namespace BaslerSDK
{
class BaslerClass
{
List<ICameraInfo> allCameras = null;//创建ICameraInfo对象的列表,用于保存遍历到的所有相机信息
Camera myCamera = null;//创建相机对象
HImage image = null;
public BaslerClass(string sn)
{
}
public int connectCamera(string id)//连接相机,返回-1为失败,0为成功
{
string m_SerialNumber = "";//接收设备返回的序列号
allCameras = CameraFinder.Enumerate();//获取所有相机设备
for (int i = 0; i < allCameras.Count; i++)
{
try
{
if (allCameras[i][CameraInfoKey.SerialNumber] == id)
{
//如果当前相机信息中序列号是指定的序列号,则实例化相机类
myCamera = new Camera(allCameras[i]);
myCamera.Open();//打开相机
return 0;
}
continue;
}
catch
{
return -1;
}
}
return -1;
}
public int startCamera()//相机开始采集,返回-1为失败,0为成功
{
try
{
myCamera.StreamGrabber.Start();
}
catch
{
return -1;
}
return 0;