* 分割读取啤酒瓶子上的数字
* bottle.hdev: Segment and read numbers on a beer bottle
* 第0步
* Step 0: Preparations
*定义字体名称,用来读取瓶子上的数据/或者可以这么理解,定义瓶子上数据的字体
* Specify the name of the font to use for reading the date on the bottle.
*用训练好的0-9通用字体是最简单的。如果已经运行过这个程序,你可以第二行名称,是用这个项目训练的字体
* It is easiest to use the pre-trained font Universal_0-9_NoRej. If you
* have run the program bottlet.hdev in this directory, you can activate
* the second line to use the font trained with this program.
FontName := 'Universal_0-9_NoRej'
* FontName := 'bottle'
* 第一步,分割
* Step 1: Segmentation
*关闭窗体更新
dev_update_window ('off')
*读取图像
read_image (Bottle, 'bottle2')
*获取图像尺寸
get_image_size (Bottle, Width, Height)
*关闭窗体
dev_close_window ()
*打开窗体
dev_open_window (0, 0, 2 * Width, 2 * Height, 'black', WindowID)
*设置显示字体
set_display_font (WindowID, 16, 'mono', 'true', 'false')
*显示图像
dev_display (Bottle)
*显示'Press F5 to continiue'这个信息
disp_continue_message (WindowID, 'black', 'true')
stop ()
* 创建自动文字读取器以及设置一些参数
* Create Automatic Text Reader and set some parameters
*创建文字读取器
create_text_model_reader ('auto', FontName, TextModel)
* The printed date has a significantly higher stroke width
*设置文字读取参数的最小宽度
set_text_model_param (TextModel, 'min_stroke_width', 6)
*最佳日期(表示多级之前引用是最佳的)有一个特殊和已知的结构
* The "best before" date has a particular and known structure
*设置文字组成格式,'2 2 2'便是由三段数字构成,中间由空白或者分隔符分开 '19'表示没有分隔符或者空白
set_text_model_param (TextModel, 'text_line_structure', '2 2 2')
* 读取最佳日期
* Read the "best before" date
find_text (Bottle, TextModel, TextResultID)
* 获取最佳日期文字并显示
* Display the segmentation results
get_text_object (Characters, TextResultID, 'all_lines')
*显示瓶子图像
dev_display (Bottle)
*显示读取到的字符
dev_display (Characters)
stop ()
*显示读取到的结果
* Display the reading results
*获取文字结果
get_text_result (TextResultID, 'class', Classes)
*求区域面积和中心坐标
area_center (Characters, Area, Row, Column)
*显示读取到的文字信息
disp_message (WindowID, Classes, 'image', 80, Column - 3, 'green', 'false')
* 释放内存
* Free memory
*清楚文字结果
clear_text_result (TextResultID)
*清楚Text模型
clear_text_model (TextModel)

Blob分析之bottle.hdev的更多相关文章

  1. Blob分析之board.hdev

    * board.hdev: Detection of missing solder* 获取当前系统参数get_system ('clip_region', Information)*设置当前系统参数s ...

  2. Blob分析之ball_seq.hdev

    * ball_seq.hdev: Inspection of Ball Bonding * 关闭更新dev_update_off ()*图像集合ImageNames := 'die/' + ['die ...

  3. Blob分析之 ball.hdev

    * ball.hdev: Inspection of Ball Bonding * 关闭窗体更新 dev_update_window ('off')*关闭窗体dev_close_window ()*打 ...

  4. 常用机器视觉工具----图像分析工具(blob分析)

    http://blog.sina.com.cn/s/blog_67cc4eb70100ivnt.html Blob分析:Blob分析目的在于对图像中的2-D形状进行检测和分析,得到诸如目标位置.形状. ...

  5. opencv 在工业中的应用:blob分析

    在工业中经常要检测一副图像中物体的数量,位置,大小,面积等信息,这就要用到BLOB分析,我用OPENCV做了个BLOB分析的DEMO. (1)打开一幅图像 (2)进行参数设置,设定二值化阙值,并选择是 ...

  6. Blob分析--粘连颗粒检测 基于距离变换的分水岭区域分割 盆地与原连通域求交集

    文章转自微信公众号:机器视觉那些事 *******************************************************************公众号:机器视觉那些事儿*** ...

  7. HALCON示例:BOTTLE.HDEV 光学字符识别(分割OCR)

    * * bottle.hdev: Segment and read numbers on a beer bottle 分割读取啤酒瓶上的数字* * Step 0: Preparations* Spec ...

  8. Halcon 笔记2 Blob分析

    1. 数组操作 2. 可视化-更新窗口 (1)单步模式-总是:则可以自动显示图像: (2)单步模式-从不:需要调用显示函数才能显示图像. (3)单步模式-清空显示:将原图清除,再显示新图 3. 图像处 ...

  9. Halcon blob分析基本处理步骤

    Halcon,blob分析 应用场景,二值化后的灰度图像对比度清晰 基本处理流程 1 读取图片 read_image(变量名,'路径') //halcon字符串使用单引号'' 2 预处理 2.1 RO ...

随机推荐

  1. 【区间DP】低价回文

    [区间DP]低价回文 标签(空格分隔): 区间DP 回文词 [题目描述] 追踪每头奶牛的去向是一件棘手的任务,为此农夫约翰安装了一套自动系统.他在每头牛身上安装了一个电子身份标签,当奶牛通过扫描器的时 ...

  2. POJ2362贪心

    题意:我们的化学生物学家发明了一种新的叫stripies非常神奇的生命.如果一个质量为m1和m2的stripies相撞,生成的stripies体重是2*sqrt(m1*m2) 现在,科学家们想知道,如 ...

  3. GoLand 2020.1.3破解教程

    此教程适用于GoLand 2020.1.3其他版本理论上是一样的. GoLand建议从官网下载---->>>>>>下载 1 如果之前有激活留下的补丁文件,建议卸载删 ...

  4. python爬虫拉钩网:{'msg': '您操作太频繁,请稍后再访问', 'clientIp': '113.57.176.181', 'success': False}

    反爬第一课: 在打印html.text的时候总会提示 {'success': False, 'msg': '您操作太频繁,请稍后再访问', 'clientIp': '113.14.1.254'} 需要 ...

  5. java 面向对象(三十三):泛型二 泛型在集合中的使用

    1. 在集合中使用泛型之前的例子 @Test public void test1(){ ArrayList list = new ArrayList(); //需求:存放学生的成绩 list.add( ...

  6. bzoj4716假摔

    bzoj4716假摔 题意: 给出一个矩阵,求这个矩阵中权值和第k小的长在xmin到n之间,宽在ymin到m之间的子矩阵.n,m≤1000,k≤250000. 题解: 首先求出长为xmin,宽为ymi ...

  7. Vue 项目部署出现css样式失效的解决方案

    解决方案1: 你的问题就是css权重问题 如果相同权重可能存在引入顺序问题 简单粗暴解决办法 1: 如果是单页面 写入index.html里面 2:直接修改源码的css 很简单~~~3:加个!impo ...

  8. 生产日志文件太大NotePad++无法打开

    问题1:NotePad++无法打开 解决方式:下载软件 LogView Pro ,用 LogView Pro打开 https://download.csdn.net/download/u0145212 ...

  9. Python Ethical Hacking - DNS Spoofing

    What is DNS Spoofing Sniff the DNSRR packet and show on the terminal. #!/usr/bin/env python from net ...

  10. 机器学习作业---K-Means算法

    --------------------------K-Means算法使用-------------------------- 一:数据导入及可视化 import numpy as np import ...