精华内容
下载资源
问答
  • halcon二维码识别

    2021-03-02 16:49:28
    二维码
  • Halcon二维码识别

    2021-04-01 08:17:20
    创建三种识别二维码的句柄 create_data_code_2d_model (SymbolType[Index], 'default_parameters', 'standard_recognition', DataCodeHandleStandard) create_data_code_2d_model (SymbolType[Index], 'default_...
  • Halcon 二维码识别

    2019-09-30 20:03:36
    原图: 结果图: dev_update_off () *关闭活动图形窗口。 dev_close_window () *设置编码格式 set_system ('filename_encoding', 'utf8') ...

    原图:                                                                                         结果图:

     

    dev_update_off ()
    *关闭活动图形窗口。
    dev_close_window ()
    *设置编码格式
    set_system ('filename_encoding', 'utf8')
    dev_set_line_width(3)
    dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
    *打开一个新的图形窗口
    read_image (Image9, '1')
    dev_display(Image9)
    dev_set_line_width(3)
    *通过时间
    count_seconds(T1)
    *创建2D数据代码类的模型。
    create_data_code_2d_model('QR Code','default_parameters','maximum_recognition',DataCodeHandle)
    *检测和读取图像中的二维数据代码符号或训练二维数据代码模型
    find_data_code_2d(Image9,SymbolXLDs,DataCodeHandle,'stop_after_result_num',9,ResultHandles, DecodedDataStrings)
    
    count_seconds(T2)
    
    dev_set_color('red')
    *设置文本光标的位置。
    set_tposition (WindowHandle, 157, 10)
    *在窗口中打印文本。
    *write_string(WindowHandle, TimeStandard)
    **在窗口中打印文本。
    *write_string(WindowHandle,DecodedDataStrings)
     set_display_font(3600,40,'mono','true','false')    
     disp_message(3600,'时间:'+(T2-T1),'Image9',54,14,'green','true')
      disp_message(3600,'结果:'+DecodedDataStrings,'Image9',-1,-1,'green','true')
    dev_display(SymbolXLDs)
    

     

    展开全文
  • C#-Halcon二维码识别

    千次阅读 2018-06-14 10:50:35
    halcon二维码识别最好的学习方式是看halcon自带的历程 我的都是从里面找来总结的。

    新手学习过程中看历程试着写的。

    ihatetheqrcode函数

    ihatetheqrcode(ImageIn : Image_Out, Code_Xld : Window_Handle, QrType, Model_Type, Affine_Model, Scal, Multiple, Offset, Time_Out, Noise, Gap : Strings)
    参数
    ImageIn (input_object)  image → object
    输入图像
    Image_Out (output_object)  object → object
    Code_Xld (output_object)  object → object
    输出二维码区域
    Window_Handle (input_control)  integer → (tuple)
    窗口句柄
    QrType (input_control)  integer → (integer)
    条码类型,一共8种
    该值的一般区间: QrType ≤ 7
    Model_Type (input_control)  integer → (integer)
    创建二维码的匹配模式 1标准 2加强 3最强
    该值的一般区间: 1 ≤ Model_Type ≤ 3
    Affine_Model (input_control)  integer → (integer)
    斜着扫码 1创建斜扫映射 此后两个tuple为元组 2读取模板进行映射 3不进行映射
    该值的一般区间: 1 ≤ Affine_Model ≤ 3
    Scal (input_control)  any → (tuple)
    bool类型 表明明亮变化 后两个是变化参数
    Multiple (input_control)  integer → (integer)
    灰度值乘数 Scal若为false此项不启用
    该值的一般区间: 0 ≤ Multiple ≤ 10
    Offset (input_control)  integer → (integer)
    灰度值偏移量 Scal若为false此项不启用
    该值的一般区间: -1000 ≤ Offset ≤ 1000
    Time_Out (input_control)  integer → (integer)
    扫码超时时间 0-10000ms
    该值的一般区间: 0 ≤ Time_Out ≤ 10000
    Noise (input_control)  any → (tuple)
    bool类型进行噪声削弱,用的不多
    Gap (input_control)  any → (tuple)
    bool类型Gap进行调整,用的不多
    Strings (output_control)  string(-array) → (string)

    返回扫到的码

    函数Halcon源码如下

     SymbolType:=[]
     SymbolType:=[ SymbolType,'Aztec Code']
     SymbolType:=[ SymbolType,'Data Matrix ECC 200']
     SymbolType:=[ SymbolType,'GS1 Aztec Code']
     SymbolType:=[ SymbolType,'GS1 DataMatrix']
     SymbolType:=[ SymbolType,'GS1 QR Code']
     SymbolType:=[ SymbolType,'Micro QR Code']
     SymbolType:=[ SymbolType,'PDF417']
     SymbolType:=[ SymbolType,'QR Code']


    switch(Affine_Model)
    case 1:
           Affine_Tuple_X:=[]
           Affine_Tuple_Y:=[]
           for Index := 0 to 3 by 1
            draw_point(Window_Handle, Row, Column)
            Affine_Tuple_X:=[Affine_Tuple_X,Row]
            Affine_Tuple_Y:=[Affine_Tuple_Y,Column]
           endfor 
    *进行斜着扫码,在这里进行校正
    hom_vector_to_proj_hom_mat2d(Affine_Tuple_X, Affine_Tuple_Y, [1,1,1,1], [50,300,300,50], [50,50,300,300], [1,1,1,1], 'normalized_dlt', HomMat2D)
    write_tuple(HomMat2D, 'C:/Users/Administrator/Desktop/Halcon代码/校正二维码')
    *变换图像
    projective_trans_image(ImageIn, Image1, HomMat2D, 'bilinear', 'false', 'false')
    break
    case 2:
    read_tuple('C:/Users/Administrator/Desktop/Halcon代码/校正二维码', HomMat2D)
    *变换图像
    projective_trans_image(ImageIn, Image1, HomMat2D, 'bilinear', 'false', 'false')
    break
    case 3:
    Image1:=ImageIn
    break
    endswitch


    *明亮变化
    if(Scal)
        scale_image(Image1, Image1,Multiple, Offset)
    endif
    *噪声变化
    if(Noise)
        gray_opening_shape(Image1, Image1, 11, 11, 'octagon')
    endif
    *Gap过大弥补
    if(Gap)
        gray_erosion_shape(Image1, Image1, 7, 7, 'octagon')
    endif


    switch(Model_Type)
    case 1: 
    create_data_code_2d_model (SymbolType[QrType], 'default_parameters', 'standard_recognition', DataCodeHandleStandard)
    *设置超时时间防止读取时间过长
    set_data_code_2d_param(DataCodeHandleStandard, 'timeout', Time_Out) 
    find_data_code_2d(Image1, Code_Xld, DataCodeHandleStandard, [], [], ResultHandles, DecodedDataStrings)
    clear_data_code_2d_model(DataCodeHandleStandard)
    break
    case 2:
    create_data_code_2d_model (SymbolType[QrType], 'default_parameters', 'enhanced_recognition', DataCodeHandleEnhanced)
    *设置超时时间防止读取时间过长
    set_data_code_2d_param(DataCodeHandleEnhanced, 'timeout', Time_Out) 
    find_data_code_2d(Image1, Code_Xld, DataCodeHandleEnhanced, [], [], ResultHandles, DecodedDataStrings)
    clear_data_code_2d_model(DataCodeHandleEnhanced)
    break
    case 3:
    create_data_code_2d_model (SymbolType[QrType], 'default_parameters', 'maximum_recognition', DataCodeHandleMaximum)
    *设置超时时间防止读取时间过长
    set_data_code_2d_param(DataCodeHandleMaximum, 'timeout', Time_Out) 
    find_data_code_2d(Image1, Code_Xld, DataCodeHandleMaximum, [], [], ResultHandles, DecodedDataStrings)
    clear_data_code_2d_model(DataCodeHandleMaximum)
    break
    endswitch
    if(|ResultHandles|!=0)
    * set_system('filename_encoding', 'utf8')  //设置可以显示中文
    Strings:=DecodedDataStrings
    Image_Out:=Image1
    else
    *set_system('filename_encoding', 'utf8')  //设置可以显示中文
    Strings:=''
    endif

    return ()

    C#使用这个做出的例子或者demo如下,如若不能运行请检查halcon的引用是否正确。

    https://download.csdn.net/download/qq_36685891/10478206

    展开全文
  • halcon二维码识别.rar

    2020-03-10 15:55:22
    halcon图像识别技术,对一维条形码、二维码进行识别。使用halcon识别库,操作起来非常简单、快速,且识别率非常高。
  • 支持各种二维码识别,根据需要修改程序可以实现,经过测试使用500w相机工作距离三米视野一米二乘一米二,可以识别两厘米的二维码
  • * 二维码识别 二维码类型:Data Matrix ECC 200 * 使用中值滤波处理图片后,识别二维码成功。 dev_update_off () dev_close_window () * 1.读取图片 read_image (Image, './img/ecc200_to_preprocess_004.png') dev_...

    处理图片在这里插入图片描述
    处理程序:

    * 二维码识别 二维码类型:Data Matrix ECC 200
    * 使用中值滤波处理图片后,识别二维码成功。
    dev_update_off ()
    dev_close_window ()
    
    * 1.读取图片
    read_image (Image, './img/ecc200_to_preprocess_004.png')
    dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle)
    set_display_font (WindowHandle, 16, 'mono', 'true', 'false')
    
    * 2.创建二维码识别对象 DataCodeHandle
    * 'Data Matrix ECC 200' 二维码类型
    create_data_code_2d_model ('Data Matrix ECC 200', 'default_parameters', 'enhanced_recognition', DataCodeHandle)
    
    * 3.设置 二维码识别参数
    set_data_code_2d_param (DataCodeHandle, ['module_gap_min','module_gap_max'], ['no','big'])
    
    * 4.中值滤波
    median_image (Image, ImageMedian, 'circle', 3, 'continued')
        
    * 5.寻找二维码处理
    * Image:输入的图片
    * SymbolXLDs:二维码区域
    * DataCodeHandle: 二维码句柄
    * []:参数名
    * []:参数值
    * ResultHandles:结果句柄
    * DecodedDataStrings:解码后的字符串
    find_data_code_2d (ImageMedian, SymbolXLDs, DataCodeHandle, [], [], ResultHandles, DecodedDataStrings)
    
    * 6.显示处理结果
    if (|ResultHandles| != 0)
        * 显示图片与二维码区域
        dev_display (ImageMedian)
        dev_display (SymbolXLDs)
        * 显示结果信息
        disp_message (WindowHandle, '解码成功:预处理,中值滤波', 'window', 12, 12, 'black', 'true')
        disp_message (WindowHandle, '结果字符串: ' + DecodedDataStrings, 'window', 40, 12, 'black', 'true')
        dump_window_image (Image_window, WindowHandle)
        write_image (Image_window, 'jpg', 0, './dump_window')
    else
        dev_display (Image)
        disp_message (WindowHandle, '解码失败', 'window', 12, 12, 'black', 'true')
    endif
    

    处理结果
    在这里插入图片描述

    展开全文
  • halcon二维码识别(完整板)

    千次阅读 2019-09-15 19:14:49
    *防止误识别设置,因为某些二维码模型没有这个属性,会报错所以try以下 try set_data_code_2d_param (DataCodeHandle, 'strict_quiet_zone', 'yes') catch (Exception) continue endtry *开始识别 find_...
    *计数器
    _index:=0
    *读码超时时间
    _timeOut:=1000
    *读码类型
    _codeType:=[]
    *读码数据
    _codeData:=[]
    *已解码的区域
    gen_empty_obj (_EmptyObject)
    *系统运行时间
    _Runtime:=0
    *系统编码格式
    _coding:='utf8'
    
    
    dev_close_window ()
    *设置系统编码
    set_system ('filename_encoding', _coding)
    read_image (Image, 'C:/Users/斌/Desktop/All.png')
    get_image_size(Image, Width, Height)
    dev_open_window (0, 0, Width, Height, 'black', WindowHandle)
    dev_display (Image)
    rgb1_to_gray (Image, GrayImage)
    _codeMode:=['Aztec Code', 'Data Matrix ECC 200', 'GS1 Aztec Code', 'GS1 DataMatrix', 'GS1 QR Code', 'Micro QR Code', 'PDF417', 'QR Code']
    *创建二维码数据class模型
    count_seconds (T1)
    for i := 0 to |_codeMode|-1 by 1
        create_data_code_2d_model (_codeMode[i],[], [],DataCodeHandle)
        *设置超时时间
        set_data_code_2d_param (DataCodeHandle, 'timeout', _timeOut)
        *防止误识别设置,因为某些二维码模型没有这个属性,会报错所以try以下
        try
            set_data_code_2d_param (DataCodeHandle, 'strict_quiet_zone', 'yes')
        catch (Exception)
            continue
        endtry
        *开始识别 
        find_data_code_2d (GrayImage,SymbolXLDs,DataCodeHandle, 'stop_after_result_num',1000,ResultHandles, DecodedDataStrings)
        dev_display (SymbolXLDs)
        count_obj (SymbolXLDs, Number)
        if (Number)
            *存读码类型
            for j := 1 to Number by 1
                *存解码类型
                _codeType[_index]:=_codeMode[i]
                *存解码数据
                _codeData[_index]:=DecodedDataStrings[j-1]
                _index:=_index+1
                select_obj (SymbolXLDs, ObjectSelected, j)
                *存二维码区域
                concat_obj (_EmptyObject, ObjectSelected, _EmptyObject)
            endfor
        endif
        *清除识别缓存
        clear_data_code_2d_model(DataCodeHandle) 
    endfor
    count_seconds (T2)
    _Runtime:=T2-T1
    
    dev_clear_window ()
    dev_display (Image)
    dev_set_color ('green')
    set_display_font (WindowHandle, 30, 'mono', 'true', 'false')
    write_string (3600, '总耗时:'+_Runtime)
    for Index := 0 to |_codeData|-1 by 1
        select_obj (_EmptyObject, ObjectSelected, Index+1)
        dev_display (ObjectSelected)
        area_center_xld (ObjectSelected, Area, Row, Column, PointOrder)
        
        disp_message (3600, ['类型:'+_codeType[Index],'数据:'+_codeData[Index]], 'window', Row,Column-200, 'green', 'false')
    endfor
    

    测试附图:

     

    图一:

    图二:

    展开全文
  • 在之前的一篇二维码识别的文章中有人问到识别多个二维码该怎么做。我看了看以前的那篇原文,有够水的,今天放一篇多类型解码以及解码多个二维码的代码。 我直接贴我以前用过已经封装好了的代码吧,也是按以前业务...
  • **********************初阶,创建-识别-清除***************************create_data_code_2d_model ('QR Code', [], [], DataCodeHandle)read_image(Image1,'C:/Users/研发/Pictures/Saved Pictures/二维码/123456...
  • Halcon 二维码信息识别并打印
  • halcon二维码识别和提取二维码数据信息--我用的halcon10,本分算子其他版本可能需要修改。
  • halcon_二维码识别.zip

    2019-07-09 11:54:19
    halcon_二维码识别.zip
  • Halcon 二维码

    2021-04-09 17:38:15
    1. 二维码 1.1 定义 黑白相间的方块构成的图案。二维码又叫数据码,也叫图形码。...2. Halcon识别二维码基本流程 流程 create_data_code_2d_model set_data_code_2d_model find_data_code_2d cl
  • Halcon条码二维码识别和测量

    千次阅读 2017-11-11 10:47:23
    Halcon条码二维码识别和测量,简单的介绍
  • Halcon二维码识别

    千次阅读 2018-08-03 15:25:39
    //识别 find_data_code_2d (Image, SymbolXLDs, DataCodeHandle, 'train', 'all', ResultHandles, DecodedDataStrings) //框选二维码 dev_display (SymbolXLDs) //显示二维码信息 disp_message (200000, ...
  • Halcon二维码识别

    千次阅读 2019-07-01 15:46:21
    一、二维码概念:         指在一维条码的基础上扩展出另一维具有可读性的条码,使用黑白矩形图案表示二进制数据,被设备扫描后可获取其中所包含的信息。一维条码的宽度记载着数据,而其长度...
  • halcon识别二维码.zip

    2019-10-19 14:06:04
    这是在QT环境在调用Halcon二维码识别库,实现二维码的解码,本工程可以在QT + Halcon的环境正常运行。
  • 二维码识别原图代码结果 原图 代码 dev_update_off () dev_close_window () read_image (Image, '111.png') get_image_size (Image, Width, Height) dev_open_window_fit_image (Image, 0, 0, Width, Height, ...
  • Halcon识别二维码

    2020-06-21 22:18:37
    识别 代码 * Initialize image path and visual settings dev_update_off () dev_close_window () ImageFiles := 'datacode/ecc200/ecc200_cpu_0' ImageNum := 5 read_image (Image, ImageFiles + '01') dev_...
  • win7下使用halcon库在QT5.9.1上实现二维码识别,此源码可以正常运行,可以识别目前主流的所有二维码。
  • 由于项目中要识别二维码,然后选择了halcon库,因为halcon算法丰富,开发起来方便省时。 2、halcon识别二维码用到的类。 (1)、HImage类:halcon的图像数据存储类。 (2)、HDataCode2D类:halcon识别二维码的...
  • Halcon识别二维码问题

    2019-11-04 14:17:31
    注意模板参数(我这里精度设的比较高,容易识别,慢) create_data_code_2d_model (‘Data Matrix ECC 200’, ‘default_parameters’, ‘maximum_recognition’, DataCodeHandle) stop_after_result_num 97 ...
  • 二维码

空空如也

空空如也

1 2 3 4 5
收藏数 94
精华内容 37
关键字:

halcon二维码识别