• 基于Halcon的一维条码识别技巧


    Bar Code 条形码

    1、clear_all_bar_code_models    清除所有条形码模型释放内存
    clear_all_bar_code_models( : : : )
    2、clear_bar_code_model     清除条形码模型释放内存
    clear_bar_code_model( : : BarCodeHandle : )
    3、create_bar_code_model        创建条形码阅读器模型
    create_bar_code_model( : : GenParamNames, GenParamValues : BarCodeHandle)
    GenParamNames:    通用型参数的名字
    GenParamValues:   通用型参数的值
    BarCodeHandle:    条形码句柄
    4、decode_bar_code_rectangle2   在一个矩形内解读条码(矩形不宜太大)
    decode_bar_code_rectangle2(Image : : BarCodeHandleCodeTypeRowColumnPhiLength1Length2 :DecodedDataStrings)
    5、deserialize_bar_code_model   反序列化条形码
    deserialize_bar_code_model( : : SerializedItemHandle : BarCodeHandle)
    6、find_bar_code    检测条形码
    find_bar_code(Image : SymbolRegions : BarCodeHandleCodeType : DecodedDataStrings)
    SymbolRegions:    检测到的条形码区域(输出)
    BarCodeHandle:    条形码句柄
    CodeType:         条形码类型
    附加    【条码种类很多,常见的大概有二十多种码制,其中包括:Code39 码(标准39码)、Codabar码(库德巴码)、Code25码(标准25码)、ITF25码(交叉25码)、Matrix25码(矩阵25码)、 UPC-A码、UPC-E码、EAN-13码(EAN-13国际商品条码)、EAN-8码(EAN-8国际商品条码)、中国邮政码(矩阵25码的一种变 体)、Code-B码、MSI码、Code11码、Code93码、ISBN码、ISSN码、Code128码(Code128码,包括EAN128 码)、Code39EMS(EMS专用的39码)等一维条码和PDF417等二维条码。】
    DecodedDataStrings:   检测到的条形码数据字符串(输出)

    7、get_bar_code_object  访问解码的中间结果(Access iconic objects that were created during the search or
    decoding of bar code symbols.)

    get_bar_code_object( : BarCodeObjects : BarCodeHandleCandidateHandleObjectName : )
    BarCodeObjects          检测评估条码的中间结果
    BarCodeHandle           条形码句柄
    CandidateHandle        候选区域数据句柄
    ObjectName              标志性对象的名称(默认:'candidate_regions')
    附加:   symbol_regions              成功解码区域
            candidate_regions           候选区域
            scanlines_all               扫描线  
            scanlines_valid             有效扫描线
            scanlines_all_plain
            scanlines_valid_plain
    8、get_bar_code_param               获取条形码模型参数
    get_bar_code_param( : : BarCodeHandleGenParamNames : GenParamValues)
    9、get_bar_code_param_specific      获取针对特定类型的条码进行参数
    get_bar_code_param_specific( : : BarCodeHandleCodeTypesGenParamNames : GenParamValues)
    10、get_bar_code_result
    Get the alphanumerical results that were
    accumulated during the decoding of bar code symbols.

    get_bar_code_result( : : BarCodeHandleCandidateHandleResultName : BarCodeResults)
    BarCodeHandle           条形码句柄
    CandidateHandle        候选区域数据句柄
    ResultName              返回结果的名称
    附加:   decoded_reference 关于条码的完整参考数据,包括数据字符、开始停止字符、校验字符
            status_id:读取扫描线状态ID
    BarCodeResults         返回结果列表
    11、query_bar_code_params 获取set_bar_code及get_bar_code可设参数的名称
    query_bar_code_params( : : BarCodeHandleProperties : GenParamNames)
    Properties :'general',
    'specific', 'trained_general', 'trained_specific', 'all'

    12、read_bar_code_model 读取条形码模型
    read_bar_code_model( : : FileName : BarCodeHandle)
    13、serialize_bar_code_model    序列化条形码模型
    serialize_bar_code_model( : : BarCodeHandle : SerializedItemHandle)
    14、set_bar_code_param  设置条形码模型参数
    set_bar_code_param( : : BarCodeHandleGenParamNamesGenParamValues : )
    BarCodeHandle          条形码句柄
    GenParamNames          通用型参数的名字
    附加:   check_char                  是否验证校验位(present是absent否)
            composite_code              附加一个二维条码构成"组合码"
            element_height_min          最小条码的高度    
            element_size_max            条码最大尺寸(宽度和间距)    
            element_size_min            条码最小尺寸(宽度和间距)
            max_diff_orient             相邻边缘方向的最大角度容差
            meas_thresh                 用来识别条码边沿,一般取值[0.05,0.2]
            meas_thresh_abs
            min_identical_scanlines     认定成功解码所需的最少扫描线数,默认为1
            num_scanlines               条码扫描的最大数目
            orientation                 条码方向(度)
            orientation_tol             条码方向容差(度)
            persistence                 保存解码的中间结果
            start_stop_tolerance        当检测扫描线的起点和终点图案时,用该语句设置"容许误差"
            stop_after_result_num       设置要解码的条码条数
            upce_encodation             用以不同的输出格式(UPC-E码)
            timeout                     检测超时
            train                       训练
            quiet_zone
            slanted                     对倾斜条码额外处理
    GenParamValues         通用型参数的值
    15、set_bar_code_param_specific     针对特定类型的条码进行参数设置
    set_bar_code_param_specific( : : BarCodeHandleCodeTypesGenParamNamesGenParamValues : )
    16、write_bar_code_model            保存条形码模型
    write_bar_code_model( : : BarCodeHandleFileName : )

     
    条形码程序框架


    1、  模型初始化
    create_bar_code_model
    set_bar_code_param
    set_bar_code_param_specific
    2、  条码识别
    find_bar_code
    3、  结果处理
    get_bar_code_object
    get_bar_code_param
    get_bar_code_result    
    4、  清除模型
    clear_bar_code_model  

  • 相关阅读:
    Python中替换的三种方法
    深入浅出:分布式和集群--转自码农翻身微信公众号
    如何把GitHub中的开源项目导入到Eclipse
    Socket Tools的使用
    LoadRunner 测试Socket接口函数说明
    Apache Jemeter 开发插件
    netstat 查看连接数
    redis缓存机制【转载】
    内存溢出OOM
    transform-translate位移
  • 原文地址:https://www.cnblogs.com/qqhfeng/p/7078128.html
Copyright © 2020-2023  润新知