这个例子展示了利用HALCON检测包装盒上面的数字日期,此示例演示了如何与自动文本读取器在双边过滤图像上细分酸奶盖的到期日期。具体解释见注释。

* This example demonstrates how to segment the expiration date of
* a yoghurt cap on a bilaterally filtered image with the
* Automatic Text Reader.
*
* Display initializations
* //初始化
dev_update_off ()
dev_close_window ()
read_image (Image, 'ocr/yogurt_lid_01')
*
* //初始设置
dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle)
set_display_font (WindowHandle, 16, 'mono', 'true', 'false')
dev_set_draw ('margin')
dev_set_colored (12)
dev_set_line_width (2)
*
* //创建字符阅读器
create_text_model_reader ('auto', 'Universal_0-9+_Rej.occ', TextModelDigits)
create_text_model_reader ('auto', 'Universal_A-Z+_Rej.occ', TextModelBatchIds)
*//如果要细分的文本包含点打印字符选择true
set_text_model_param (TextModelDigits, 'dot_print', 'true')
*//字符中点间距离
set_text_model_param (TextModelDigits, 'dot_print_max_dot_gap', 3)
*//最大的字符高度
set_text_model_param (TextModelDigits, 'max_char_height', 64)
set_text_model_param (TextModelBatchIds, 'dot_print', 'true')
set_text_model_param (TextModelBatchIds, 'dot_print_max_dot_gap', 3)
set_text_model_param (TextModelBatchIds, 'max_char_height', 64)
*
* Main loop
for I := 1 to 4 by 1read_image (Image, 'ocr/yogurt_lid_' + I$'02')* * Remove unwanted structures* //分解为三通道decompose3 (Image, ImageR, ImageG, ImageB)*//创建具有指定恒定灰色值的图像。gen_image_proto (ImageR, ImageJoint, 128)*// 五次图像的双边过滤。for Index := 1 to 5 by 1bilateral_filter (ImageR, ImageJoint, ImageJoint, 4, 30, [], [])endfor* Find text on filtered red channel* //R通道寻找字符中的数组find_text (ImageJoint, TextModelDigits, TextResultID)get_text_object (Characters, TextResultID, 'all_lines')get_text_result (TextResultID, 'class', Class)String := sum(Class)tuple_regexp_replace (String, '.*(\\d)(\\d).(\\d)(\\d).(\\w).*', 'Best before: $1$2.$3$4', Message1)*//寻找字符中的符号find_text (ImageJoint, TextModelBatchIds, TextResultID)get_text_object (Characters, TextResultID, 'all_lines')get_text_result (TextResultID, 'class', Class)String := sum(Class)tuple_regexp_replace (String, '.*(\\w)(\\w).(\\w)(\\w).(\\w).*', 'Batch ID:    $5', Message2)Message := Message1 + '\n' + Message2* Display resultdev_set_window (WindowHandle)dev_clear_window ()dev_display (ImageJoint)dev_display (Characters)dev_disp_text (Message, 'window', 12, 12, 'black', [], [])if (I < 4)dev_disp_text ('Press Run (F5) to continue', 'window', 'bottom', 'right', 'black', [], [])stop ()endif
endfor

HALCON检测字符日期相关推荐

  1. python 测试字符串类型_【教程】如何用Python中的chardet去检测字符编码类型

    [背景] 之前已经使用过chardet了,也算用了不少次了. 之前也写过和chardet相关的: 但是没写教程,举例说明如何使用. 现在去举例解释解释. [python示例代码演示如何用chardet ...

  2. php+检测字符集,php测试代码_php 检测字符编码代码

    摘要 腾兴网为您分享:php 检测字符编码代码,掌上电力,云南移动,悦作业,银行帮等软件知识,以及秒赚钥匙,hedit,飞秋2015,电竞大师,我的世界浩方电竞平台,佳能ts9020驱动,哈佛商业评论 ...

  3. Halcon检测边缘——笔记

    绿色:注释  褐色:控制开发  浅蓝色:外部函数--HDevelop函数文件,可在所有Halcon程序中使用  深蓝色:图像获取和处理  紫色:内部函数--本地程序函数,只在当前程序使用 做个补充:如 ...

  4. 记录一下HALCON检测螺钉是否存在

    思路:打光的时候需要比较好的效果,让螺钉和周围的孔洞灰度值相差比较大,这样方便检测. 第一步就是模板匹配,用HALCON的匹配助手.下面是匹配助手生成的代码 * * Matching 01: **** ...

  5. 使用opencv检测字符断裂

    最近工厂需要检测出工价表面是否存在喷码是否断裂的情况,断裂的图片如图所示: 需要检测出断裂的字符以及断裂的位置,输出如下图: 实现思想: 1.分割出字符的外轮廓 2.计算每个外轮廓的连通域个数,多于两 ...

  6. Halcon金属表面字符提取(c++实现核心算子)

    项目场景: 提取金属表面字符,即获取每个字符的位置区域.图中单个字符完整性不是很好,出现断开的现象. 二.解决方案: 1.图像预处理 2.全局二值化 3.Blob分析 三.halcon代码 read_ ...

  7. halcon粘连字符分割_机器视觉—字符识别之粘连字符分割识别

    粘连字符的分割有很多种方法: 第一种方法:利用阈值法提取联通区域,再利用形态学分离字符: 第二种方法:每个字符定义一个感兴趣区域: 第三种方法: 计算区域每列像素数目,由于不同字符之间连接部分非常狭窄 ...

  8. java生成自增单号(字符+日期+数字)

    // TestEntity 实体类 // 单号:测试2022090001(测试:自定义字符:202209:当前年月:0001:四位自增数字) Map<String, Object> par ...

  9. php detect,php 检测字符编码mb_detect_encoding()函数

    文章提供这款mb_detect_encoding函数是一款可以检测你使用的字符串是什么编码,然后返回字符串编码字符,下面是一个简单应用实例. */ function asciitog($brand) ...

最新文章

  1. 一文看懂BATH新基建:5G是基础,AI是内核
  2. jQuery UI Widget(1.8.1)工作原理--转载
  3. JWT(JSON Web Token)简介
  4. Flink + Iceberg,腾讯百亿级实时数据入湖实战
  5. python面试题总结(一)字符串反转,写取指定数函数
  6. linux搭建mcpe服务器_Ubuntu Linux下搭建Minecraft我的世界服务器
  7. 再探java基础——对面向对象的理解(1)
  8. micropython文件上传软件_4-3 为NodeMCU刷入MicroPython固件
  9. VBS脚本常用经典代码
  10. 操作系统原理实验一(一)
  11. 如何将PDF文档转换成JPG格式
  12. Mac JDK下载与安装
  13. 指针输出与取地址符输出
  14. 工作到现在的一些感想
  15. mantis修改mysql端口_mantis配置邮件服务-465端口
  16. 小红书七夕营销攻略,玩出新花样(内附小红书推广方案干货)
  17. C解析8583报文55域
  18. 基于麒麟座开始TIM6操作
  19. vue渲染大量数据如何优化_大数据量场景下的Vue性能优化
  20. P2132 小Z的队伍排列-杨氏矩阵与hook定理

热门文章

  1. C# 给某个方法设定执行超时时间
  2. poj3934Queue(dp)
  3. Spring定时任务的配置
  4. java web应用解决乱码问题
  5. python statsmodel 回归结果提取
  6. MySQL-mysql 8.0.11安装教程
  7. sql plus特殊使用技巧
  8. Kali学习笔记21:缓冲区溢出实验(漏洞发现)
  9. 大数据小项目之电视收视率企业项目04--完全分布式搭建
  10. RabbitMQ安装与初始配置【转载】