[机器视觉]halcon十二 条码识别、字符识别之字符识别

[机器视觉]halcon十二 条码识别、字符识别之字符识别

流程

        获取图像-》创建模型-》查找文本-》清除模型

效果

算子

        create_text_model_reader : 创建文本模型

        find_text : 查找文本

        get_text_result :获取文本内容

        

        set_text_model_param : 设置文本模板属性

        get_text_model_param :获取文本模板属性

        set_rejection_params_to_class_mlp : 

        create_ocr_class_mlp : 创建分类器

        write_ocr_class_mlp :保存分类器

        get_text_object : 获取文本区域

        clear_text_model : 清除文本模板

        clear_ocr_class_mlp : 清除分类器

代码

读取全部

read_image (Image, 'C:/Users/Public/Documents/MVTec/HALCON-17.12-Progress/examples/images/ocr/article_label_01.png')
create_text_model_reader ('auto', 'Universal_Rej.occ', TextModel)
*查找文本 
*只是获取TextResultID文本结果ID
find_text (Image, TextModel, TextResultID)
*获取文本内容
get_text_result (TextResultID, 'class', ResultValue)
*获取文本区域
get_text_object(Characters, TextResultID, 'all_lines')

指定ROI读取区域

*获取窗口句柄对象
dev_get_window (WindowHandle)*读取图片
read_image (Image, 'C:/Users/Public/Documents/MVTec/HALCON-17.12-Progress/examples/images/ocr/article_label_01.png')*选取ROI
*画矩形ROI
*参数说明
*WindowHandle (输入参数)窗口句柄
*Row1, Column1 (输出参数)矩形的左上角坐标
draw_rectangle1 (WindowHandle, Row1, Column1, Row2, Column2)
*生成矩形ROI区域
*根据上面算子的输出参数生成一个矩形
*Rectangle 输出参数,生成的矩形
*Row1, Column1 (输入参数)矩形的左上角坐标
*Row2, Column2 (输入参数)矩形的右上角坐标
gen_rectangle1 (Rectangle, Row1, Column1, Row2, Column2)*锁定ROI并创建模板(减少定义区域)
*单ROI
*获得特定区域Region位置的图像,获取区域图像
*Image (输入参数)输入的图像
*Rectangle 输入参数)输入的区域,上面画的矩形区域
*ImageReduced (输出参数)输出的图像,是Image中Rectangle的那部分图像
reduce_domain (Image, Rectangle, ImageReduced)*创建文本模型
create_text_model_reader ('auto', 'Universal_Rej.occ', TextModel)
*查找文本 
*只是获取TextResultID文本结果ID
find_text (ImageReduced, TextModel, TextResultID)
*获取文本内容
get_text_result (TextResultID, 'class', ResultValue)
*获取文本区域
get_text_object(Characters, TextResultID, 'all_lines')

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/521546.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32CubeIDE基础学习-STM32CubeIDE软件配置下载器方法

STM32CubeIDE基础学习-STM32CubeIDE软件配置下载器方法 文章目录 STM32CubeIDE基础学习-STM32CubeIDE软件配置下载器方法前言第1章 配置ST-LINK下载器第2章 配置DAP下载器总结 前言 这个软件编译完之后,可以使用下载器进行在线下载程序或仿真调试程序,也…

Java实现单个参数读取多级JSON信息(代码)

需求 Java方法实现以data.info.author.name,value格式做传入参数读取json深层次的信息,而不用一级一级地去遍历Json对象。 代码实现 方法代码 import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject;public static String getValueByPat…

【C++】十大排序算法之 插入排序 希尔排序

本次介绍内容参考自:十大经典排序算法(C实现) - fengMisaka - 博客园 (cnblogs.com) 排序算法是《数据结构与算法》中最基本的算法之一。 十种常见排序算法可以分为两大类: 比较类排序:通过比较来决定元素间的相对次序…

mysql中insert … select锁范围

1、执行 insert … select 的时候,对目标表也不是锁全表,而是只锁住需要访问的资源。 例如, CREATE TABLE t (id int(11) NOT NULL AUTO_INCREMENT,c int(11) DEFAULT NULL,d int(11) DEFAULT NULL,PRIMARY KEY (id),UNIQUE KEY c (c) ) EN…

针对ETC系统的OBE-SAM模块设计方案

ETC(Electrical Toll Collection)不停车收费是目前世界上最先进的路桥收费方式。通过安装在车辆挡风玻璃上的车载单元与安装在收费站 ETC 车道上的路侧单元之间的微波专用短程通讯,利用计算机联网技术与银行进行后台结算处理,从而…

2.3_11 管程

文章目录 2.3_11 管程(一)为什么要引入管程(二)管程的定义和基本操作(三)拓展1:用管程解决生产者消费者问题(四)Java中类似于管程的机制 总结 2.3_11 管程 (一…

数位dp 笔记

小技巧1:求区间[X, Y]可以转换为求F(Y) - F(X-1) F(X)表示0~X中满足条件的数字个数 小技巧2:可以用树的形式来看 遍历最高位,每一位分为两种情况:未达到上界和达到上界 如果走到右边最底端需加1 度的数量 求给定区间 [X,Y]中满足下列条件的…

Docker_搭建跨服务器网络通讯(swarm 集群)

本文目录 一、如何搭建docker的跨服务器网络1、在主服务器上初始化docker swarm 集群2、其他服务器节点加入到创建好的集群中3、检验集群是否搭建成功4、创建overlay类型的docker网络 二、如何部署服务1、docker部署2、docker-compose部署 一、如何搭建docker的跨服务器网络 1…

面试软件测试,面试官最想听到的答案是什么?

测试也分三六九等,比较简单就是根据写好的测试案例运行界面,有bug报bug,再好些是知道些测试理念,能根据需求编写测试案例,再好些,能编写各种自动化测试脚本,在此基础上,知道的自动化…

CleanMyMac X4.15中文完整免费版下载

CleanMyMac X是一款功能全面的Mac管理软件,它能帮助用户清理无用的文件,监控系统健康,管理启动项,甚至还能移除恶意软件,确保你的Mac保持最佳状态。其直观的界面设计使得新手用户也能轻松上手,一键扫描和清…

Keepalive+LVS群集部署

引言 Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案,可以解决静态路由出现的单点故障问题。 一、Keepalive概述 keepalive软件起初是专为 LVS 负载均衡软件设计的,用来管理并监控 LVS集群中各个服务节点的状态,后来又加入了可以…

外汇天眼科普:什么是场内交易和场外交易?

场内交易 又称交易所交易,指所有的供求方集中在交易所进行竞价交易的交易方式。 这种交易方式具有交易所向交易参与者收取保证金、同时负责进行清算和承担履约担保责任的特点。 此外,由于每个人都有不同的需求,交易所事先设计出标准化的金融…