利用C#的视觉库Halcon识别药盒多条形码,可用于追溯码识别(二)

halcon环境搭建参考:https://blog.csdn.net/zxy13826134783/article/details/155734234?spm=1001.2014.3001.5502

本文要识别的药盒图片

测试步骤如下:

1 新建名为HalconDemo1的控制台项目,.net framework选4.8

2 把前面的这种图片保存,名为barcode2.png并放到bin/Debug目录下

3 编辑代码如下:

cs 复制代码
using HalconDotNet;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static System.Net.Mime.MediaTypeNames;

namespace HalconDemo1
{
    internal class Program
    {

        static void Main(string[] args)
        {
            // 创建条码模型
            HTuple barCodeHandle;
            HOperatorSet.CreateBarCodeModel(
                new HTuple("element_size_min"),
                new HTuple(2),  // 最小条码单元尺寸
                out barCodeHandle
            );
            HOperatorSet.SetBarCodeParam(barCodeHandle, "check_char", "present");  // 启用校验位验证

            try
            {
                // 读取测试图像(需替换实际路径)
                HObject image;
                HOperatorSet.ReadImage(out image, "barcode2.png");

                // 执行条码检测
                HObject symbolRegions;
                HOperatorSet.FindBarCode(
                    image,
                    out symbolRegions,
                    barCodeHandle,
                    "auto",  // 自动识别条码类型
                    out HTuple decodedStrings
                );
                // 输出识别结果
                Console.WriteLine($"识别结果: {decodedStrings}");
            }
            catch (HalconException ex)
            {
                Console.WriteLine($"识别失败: {ex.Message}");
            }
            finally
            {
                HOperatorSet.ClearBarCodeModel(barCodeHandle);
            }
            Console.ReadLine();
        }
    }
}

4 运行结果如下:

发现比之前用的emgucv的识别度高

相关推荐
影寂ldy5 小时前
C# try-catch 异常处理全套笔记
服务器·数据库·c#
TeamDev6 小时前
JxBrowser 9.3.0 版本发布啦!
java·后端·c#·混合应用·jxbrowser·浏览器控件·异步媒体设备
梦帮科技6 小时前
UE5 GAS 实战:用 Gameplay Ability System 搭建「赛博修真」境界与技能体系
c++·人工智能·python·ue5·c#
北域码匠11 小时前
RIPEMD-128哈希算法深度解析
c#·密码学·哈希算法·加密算法·消息摘要·ripemd-128·原生实现
csdn_aspnet13 小时前
C# 截取或匹配字符串内包含指定字符
c#·字符串·正则·string·匹配·截取
hez20104 天前
在 .NET 上构建超大托管数组
c#·.net·.net core·gc·clr
雨落倾城夏未凉10 天前
第四章c#方法-参数数组和可选参数(16)
后端·c#
唐青枫11 天前
线程不是越多越快:C#.NET Thread 生命周期、同步与后台工作线程实战
c#·.net
唐青枫12 天前
别只会反射:C#.NET Emit 动态生成代码实战详解
c#·.net
咕白m62512 天前
.NET 环境下 Word 超链接批量提取方案
c#·.net