当前位置:实例文章 » C#开发实例» [文章]Baumer工业相机堡盟工业相机如何使用BGAPISDK联合Halcon进行读码识别(C#)

Baumer工业相机堡盟工业相机如何使用BGAPISDK联合Halcon进行读码识别(C#)

发布人:shili8 发布时间:2023-12-04 11:12 阅读次数:118

Baumer工业相机是一款高性能的工业相机,堡盟工业相机是一款专业的工业相机。它们可以通过BGAPISDK联合Halcon进行读码识别。下面将介绍如何使用C#语言来实现这一功能,并提供部分代码示例和代码注释。

首先,我们需要安装Baumer的BGAPISDK和Halcon的开发包,并引用它们的命名空间。

csharp
using BGAPI2;
using HalconDotNet;


接下来,我们需要初始化Baumer工业相机和堡盟工业相机,并设置参数。

csharp
// 初始化Baumer工业相机
BGAPI2.SystemList sysList = new BGAPI2.SystemList();
sysList.Refresh();
BGAPI2.System baumerSystem = sysList[0];
baumerSystem.Open();
baumerSystem.UpdateDevices();
BGAPI2.Device baumerDevice = baumerSystem.Devices[0];
baumerDevice.Open();

// 初始化堡盟工业相机
HObject ho_Image;
HTuple hv_AcqHandle;
HOperatorSet.OpenFramegrabber(BaumerOptronicGigE 1 1 0 0 0 0 default -1 default -1 default default -1 -1 out hv_AcqHandle);


然后,我们可以开始采集图像并进行读码识别。

csharp
// 采集图像
BGAPI2.Data baumerData = baumerDevice.DataStream[0].StartAcquisition(5);
BGAPI2.Buffer baumerBuffer = baumerData.QueueBuffer();
baumerData.GetFilledBuffer(1000);
HOperatorSet.GrabImage(out ho_Image hv_AcqHandle);

// 读码识别
HObject ho_DecodedDataStrings;
HTuple hv_ResultHandles hv_DecodedDataStrings;
HOperatorSet.CreateBarCodeModel(DataMatrix default default out hv_ResultHandles);
HOperatorSet.FindBarCode(ho_Image out ho_DecodedDataStrings hv_ResultHandles default default);
HOperatorSet.GetBarCodeResult(ho_DecodedDataStrings decoded_data out hv_DecodedDataStrings);


最后,我们需要释放资源并关闭相机。

csharp
// 释放资源
baumerBuffer.QueueBuffer();
baumerData.StopAcquisition();
baumerDevice.Close();
baumerSystem.Close();
HOperatorSet.CloseFramegrabber(hv_AcqHandle);

// 关闭堡盟工业相机
HOperatorSet.CloseFramegrabber(hv_AcqHandle);


通过以上步骤,我们可以实现Baumer工业相机和堡盟工业相机联合Halcon进行读码识别的功能。在实际应用中,我们可以根据具体的需求和场景进行参数设置和算法优化,以达到更好的识别效果。

其他信息

其他资源

Top