• OCR使用例程
  • Example program for using the OCR
  • 第0步,准备工作
  • Step0: Preparation
    *指定用来读取序列号的字体
  • Specify the name of the font to use for reading the serial number.
    *最简单的是用训练好的OCR类来识别
  • It is easiest to use the pre-trained font Industrial_0-9A-Z_NoRej.
    *如果已经运行过这个程序,你就直接用训练好的字体
  • If you have run the program engravedt.hdev in this directory, you
  • can activate the second line to use the font trained with this program.
    *定义字体名称
    FontName := ‘Industrial_0-9A-Z_NoRej’
  • FontName := ‘engraved’
    *关闭窗体更新
    dev_update_window (‘off’)
  • 第一步,进行分割
  • Step1: Segmentation
    *读取图像
    read_image (Image, ‘engraved’)
    *获取图像尺寸
    get_image_size (Image, Width, Height)
    *关闭窗体
    dev_close_window ()
    *打开一个窗体
    dev_open_window (0, 0, Width, Height, ‘black’, WindowHandle)
    *设置显示字体
    set_display_font (WindowHandle, 20, ‘mono’, ‘true’, ‘false’)
    *显示图像
    dev_display (Image)
    *在右下角显示‘Press F5 to continue’这个信息
    disp_continue_message (WindowHandle, ‘black’, ‘true’)
    stop ()
    *计算灰度范围
    gray_range_rect (Image, ImageResult, 7, 7)
    *反转图像
    invert_image (ImageResult, ImageInvert)
    *与之分割
    threshold (ImageResult, Region, 128, 255)
    *联通区域
    connection (Region, ConnectedRegions)
    *选择面积1000到99999的区域
    select_shape (ConnectedRegions, SelectedRegions, ‘area’, ‘and’, 1000, 99999)
    *排列区域,根据区域的第一个点
    sort_region (SelectedRegions, SortedRegions, ‘first_point’, ‘true’, ‘column’)
    *设置显示颜色
    dev_set_colored (6)
    *设置填充方式
    dev_set_draw (‘margin’)
    *设置区域输出形状
    dev_set_shape (‘original’)
    *设置线宽
    dev_set_line_width (2)
    *显示颜色
    dev_display (ImageResult)
    *显示排列的区域
    dev_display (SortedRegions)
    *在右下角显示‘Press F5 to continue’这个信息
    disp_continue_message (WindowHandle, ‘black’, ‘true’)
    stop ()
  • 第二部,读取
  • Step2: Reading
    *设置区域形状为矩形
    dev_set_shape (‘rectangle1’)
    *显示图像
    dev_display (Image)
    *显示排列的区域
    dev_display (SortedRegions)
    *把排列的区域变换成矩形形状
    shape_trans (SortedRegions, RegionTrans, ‘rectangle1’)
    *求取区域面积和中心
    area_center (RegionTrans, Area, Row, Column)
    *获取区域数量
    MeanRow := mean(Row)
    count_obj (SortedRegions, Number)
    *读取训练好的OCR文件到句柄
    read_ocr_class_mlp (FontName, OCRHandle)
    for I := 1 to Number by 1
    *选择单个区域
    select_obj (SortedRegions, ObjectSelected, I)
    *单个识别OCR问题
    do_ocr_single_class_mlp (ObjectSelected, ImageInvert, OCRHandle, 1, Class, Confidence)
    *显示字体
    disp_message (WindowHandle, Class, ‘image’, MeanRow - 80, Column[I - 1] - 10, ‘yellow’, ‘false’)
    endfor
    *清除句柄,释放内存
    clear_ocr_class_mlp (OCRHandle)

OCR之engraved.hdev相关推荐

  1. 【机器视觉】 dev_set_shape算子

    00. 目录 文章目录 00. 目录 01. 概述 02. 签名 03. 描述 04. 注意 05. 参数 06. 结果 07. 附录 01. 概述 dev_set_shape - 定义region显 ...

  2. HALCON示例程序bottle.hdev、bottlet.hdev瓶体字符OCR的训练和检测

    HALCON示例程序bottle.hdev.bottlet.hdev瓶体字符OCR的训练和检测 示例程序源码(加注释) 1.先介绍bottlet.hdev(训练OCR识别文件) *定义一个字符串变量F ...

  3. OCR识别之engraved_cnn.hdev

    基于CNN分类器的项目应用 Example program for using the CNN-based OCR classifier. 第0步 Step 0: Preparation *定义读取序 ...

  4. HALCON示例程序train_characters_ocr.hdev使用SVM分类器训练字体

    HALCON示例程序train_characters_ocr.hdev使用SVM分类器训练字体 小哥哥小姐姐觉得有用点个赞呗! 示例程序源码(加注释) 蓝色字体均为算子解释链接,可以前往查看解答 关于 ...

  5. Halcon OCR识别

    目录 1. 字符识别的基本流程 1.1 分类: 1.2 流程: 1.3 分类器:(线性/非线性) 1.3.1 过拟合/欠拟合 1.3.2 集合 1.3.3 解决过拟合方法 1.3.4 训练集: 1.3 ...

  6. 《zw版·Halcon-delphi系列原创教程》 只有2行代码的超市收款单ocr脚本

    <zw版·Halcon-delphi系列原创教程> 只有2行代码的超市收款单ocr脚本 只有2行代码的超市收款单ocr脚本 发了这么多教程,有网友问,为什么没有ocr的.       的确 ...

  7. 一文弄懂halcon例程:rim.hdev

    一文弄懂halcon例程:rim.hdev 打怪的路上总是无聊的,但是也不能不打啊,我自己现在也在每天打怪升级呢.昨天就因为一个问题,我到视觉群问里面的大牛,结果,他不帮我解答,他不告诉我怎么解决就算 ...

  8. Halcon Blob分析之分割并读取啤酒瓶上的数字——bottle.hdev

    分割并读取啤酒瓶上的数字 引言 一.结果 1.1 读取图像 1.2 Blob分析处理后 二.Halcon代码 三.案例主要算子分析 1.create_text_model_reader (Operat ...

  9. 使用Python,OpenCV进行卡类型及16位卡号数字的OCR

    使用Python,OpenCV进行卡类型及16位卡号数字的OCR 1. 效果图 2. 原理 2.1 OCR-A字体 2.2 检测过程步骤 2.3 优化 3. 源代码 参考 这篇博客将介绍如何通过Ope ...

最新文章

  1. Expandable Table的Demo
  2. python触发点击事件_如何在python中模拟onclick事件?
  3. hourglass论文_DSSD(1)_论文_arxiv2017
  4. 纷享车链AutoChain首创之数据保险柜的解读
  5. 《JavaScript高级程序设计》学习笔记(第二章)
  6. 非标准化的阀门企业也在用钉钉宜搭实现数字化转型
  7. 为什么有如此多的C++测试框架 - from Google Testing Blog
  8. 【codeforces 749E】 Inversions After Shuffle
  9. jenkins执行bat失败_关于批处理文件:即使在BAT脚本中成功执行了ROBOCOPY命令,JENKINS作业也会失败...
  10. Android view变形,Android SurfaceView预览变形完美解决方法
  11. 传华为将有2万名CNBG员工转岗CBG 回应:该消息不属实
  12. AI技术说:人工智能相关概念与发展简史
  13. 【Assembly】Mixed mode dll unable to load in .net 4.0
  14. VA番茄助手VisualAssist的神器工具教程
  15. vbs表白代码+整人代码,抖音vbscript表白代码
  16. RAC环境的AFD详解
  17. Qt使用资源管理器打开指定本地文件夹
  18. 零基础做一个微信答题小程序(三)
  19. 【requests库】爬取Pixiv日榜图片 并保存到本地
  20. 计算机常见故障维修方法,电脑常见故障,手把手教你电脑故障维修技巧

热门文章

  1. Herader 头常用项注解
  2. 关于鸡肋(goto)那些事
  3. STM32F407学习之DMA双缓冲模式HAL库实现
  4. Hive数据备份和恢复
  5. postman一直转圈打不开
  6. 蓝桥杯 算法提高 排列数
  7. ColorHexa是您的终极色彩百科全书
  8. SLAM之小觅相机跑开源方案(ORB_SLAM2,VINS MONO,VINS FUSION,RTAB-Map)
  9. 第六周毛概课学习心得
  10. Unity CEO:玩家不在乎AR还是VR,他们只想要优质内容