Halcon ORC字符识别

OCR(Optical Character Recognition,光学字符识别)是通过使用OCR工具实现的。Halcon提供了一些用于进行字符识别的函数和工具,可以帮助用户实现文本的自动识别和提取。

read_ocr_class_mlp:用于读取一个经过训练好的OCR多类别MLP(Multi-Layer Perceptron,多层感知器)分类器。
do_ocr_multi_class_mlp:用于在给定的图像上执行基于MLP的多类别OCR,并返回识别的类别和置信度。

dev_close_window ()
read_image (Image, 'D:/Halcon/images/PlugGauge.jpg')
get_image_size (Image, Width, Height)
dev_open_window (0, 0, Width/5, Height/6, 'black', WindowHandle)
dev_display (Image)
* 转成灰度图
rgb1_to_gray (Image, GrayImage)
* 制作ROI
gen_rectangle1 (ROI_0, 1645.88, 1336.74, 1800.1, 2192.3)
gen_rectangle1 (ROI_1, 2340.5, 958.469, 2477.66, 1050.61)
* 合并区域
union2 (ROI_0, ROI_1, ROI_1)
gen_rectangle1 (ROI_2, 3143.16, 1670.06, 3286.34, 1836.29)
union2 (ROI_1, ROI_2, RegionUnion)
* 裁剪图像
reduce_domain (GrayImage, RegionUnion, ImageReduced)* 均值平滑
mean_image (ImageReduced, ImageMean, 150, 150)
* 局部阈值
dyn_threshold (GrayImage, ImageMean, RegionDynThresh, 30, 'dark')
* 连通性
connection (RegionDynThresh, ConnectedRegions)
* 开运算(去除杂斑)
opening_circle (ConnectedRegions, RegionOpening, 2.5)
connection (RegionOpening, ConnectedRegions1)
* 筛选区域
select_shape (ConnectedRegions1, SelectedRegions, 'area', 'and', 230, 99999)
select_shape (ConnectedRegions1, SelectedRegions, 'height', 'and', 30, 99999)union1 (SelectedRegions, RegionUnion1)
* 填充图像中的形状
fill_up_shape (RegionUnion1, RegionFillUp, 'area', 1, 100)
* 膨胀
dilation_circle (RegionFillUp, RegionDilation, 5)
connection (RegionDilation, ConnectedRegions2)
* 交集
intersection (ConnectedRegions2, RegionFillUp, RegionIntersection)
* 对区域进行排序
sort_region (RegionIntersection, SortedRegions, 'character', 'true', 'row')* 字符进行识别,从文件中读取分类器
* 参数一:是指定的已训练好的OCR多类别MLP分类器文件。
* 参数二:存储所读取分类器的句柄。
read_ocr_class_mlp ('Industrial_0-9A-Z_Rej.omc', OCRHandle)
* 使用分类器对字符进行提取
* 参数一:排序完成的区域
* 参数二:灰度图像
* 参数三:分类器的句柄
* 参数四:输出参数,用于存储识别的类别
* 参数五:识别结果的置信度
do_ocr_multi_class_mlp (SortedRegions, GrayImage, OCRHandle, Class, Confidence)dev_set_color('red')
dev_display (Image)
dev_display (SortedRegions)set_display_font (WindowHandle, 20, 'mono', 'true', 'false')
* 求最小外接矩形,会返回矩形的左上角坐标和右下角坐标
* 参数一:已排序的区域
* 参数二、三:最小外接矩形的一个角的行和列坐标
* 参数四、五:最小外接矩形的另一个角的行和列坐标
smallest_rectangle1 (SortedRegions, Row1, Column1, Row2, Column2)disp_message (WindowHandle, Class, 'image', Row2, Column2, 'black', 'false')

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

【开源-土拨鼠充电系统】鸿蒙 HarmonyOS 4.0 App+微信小程序+云平台

✨本人自己开发的开源项目:土拨鼠充电系统 ✨踩坑不易,还希望各位大佬支持一下,在Gitee或GitHub给我点个 Start ⭐⭐👍👍 ✍Gitee开源项目地址👉:https://gitee.com/cheinlu/groundhog-charging…

2024-03-20 作业

作业要求: 1> 创建一个工人信息库,包含工号(主键)、姓名、年龄、薪资。 2> 添加三条工人信息(可以完整信息,也可以非完整信息) 3> 修改某一个工人的薪资(确定的一个&#x…

你的电脑打不开摄像头问题

我一直以为我电脑上的摄像头老是打不开是因为硬件不匹配的问题。知道我发现了我的拯救者Y7000的机身盘边的“摄像头开关”按钮。。。 我去,你的摄像头开关按钮怎么设置在机身旁边啊。。。。 —————————————————————— 2024年3月21日更新记录&a…

C++容器适配器与stack,queue,priority_queue(优先级队列)的实现以及仿函数(函数对象)与deque的简单介绍

🎉个人名片: 🐼作者简介:一名乐于分享在学习道路上收获的大二在校生 🙈个人主页🎉:GOTXX 🐼个人WeChat:ILXOXVJE 🐼本文由GOTXX原创,首发CSDN&…

探索人工智能基础:从概念到应用【文末送书-42】

文章目录 人工智能概念人工智能基础【文末送书-42】 人工智能概念 人工智能(Artificial Intelligence,AI)作为当今科技领域的热门话题,已经深刻地影响着我们的生活和工作。但是,要理解人工智能,我们首先需…

2024年R1快开门式压力容器操作证考试题库及R1快开门式压力容器操作试题解析

题库来源:安全生产模拟考试一点通公众号小程序 2024年R1快开门式压力容器操作证考试题库及R1快开门式压力容器操作试题解析是安全生产模拟考试一点通结合(安监局)特种作业人员操作证考试大纲和(质检局)特种设备作业人…

使用OpenCV实现人脸特征点检测与实时表情识别

引言: 本文介绍了如何利用OpenCV库实现人脸特征点检测,并进一步实现实时表情识别的案例。首先,通过OpenCV的Dlib库进行人脸特征点的定位,然后基于特征点的变化来识别不同的表情。这种方法不仅准确度高,而且实时性好&am…

C#中解决字符串在编译后无法修改的情况

文章目录 一、配置文件二、使用方式对于.NET Framework应用程序(使用app.config)对于.NET Core和.NET 5/6应用程序(使用appsettings.json) 三、应用实例 一、配置文件 在C#等编程语言中,硬编码(直接在代码…

深度学习_20_卷积中的填充与步幅

如果图片本身比较小,卷积之后输出也会很小,那么可以在图片与卷积核相乘之前先填充一下,让输出为预期大小 一般填充后输入,输出相同 当图片比较大的时候,如果利用卷积核去得到我们想要的大小的话,得用到多层…

HDS-NAS分配资源并挂载win和linux

1、首先创建系统文件。 选择nas存储池 2、根据自己的需求创建相应的挂载方式 3、window配置 配置成功 最后即可在window系统网络位置映射网络即可, 格式为\\123.3.4.5\test 注:IP地址 4、liunx挂载方式 创建完成之后即可挂载,注意目的主…

数据结构面试常见问题之Insert or Merge

😀前言 本文将讨论如何区分插入排序和归并排序两种排序算法。我们将通过判断序列的有序性来确定使用哪种算法进行排序。具体而言,我们将介绍判断插入排序和归并排序的方法,并讨论最小和最大的能区分两种算法的序列长度。 🏠个人主…

Python+Appium实现自动化测试的使用步骤

一、环境准备 1.脚本语言:Python3.x IDE:安装Pycharm 2.安装Java JDK 、Android SDK 3.adb环境,path添加E:\Software\Android_SDK\platform-tools 4.安装Appium for windows,官网地址Redirecting 点击下载按钮会到GitHub的下载…

Vulnhub靶机:Kioptrix_2014

一、介绍 运行环境:Virtualbox和vmware 攻击机:kali(192.168.56.101) 靶机:Kioptrix: 2014(192.168.56.108) 目标:获取靶机root权限和flag 靶机下载地址:https://ww…

金融知识分享系列之:KD指标

金融知识分享系列之:KD指标 一、KD指标二、KD指标计算三、KD指标原理四、KD指标应用 一、KD指标 KD信号提供入场的工具 名称:随机震荡指标参数:(9,3,3)组成:K线,D线,20轴&#xff0…

GEE遥感云大数据林业应用典型案例及GPT模型应用

近年来遥感技术得到了突飞猛进的发展,航天、航空、临近空间等多遥感平台不断增加,数据的空间、时间、光谱分辨率不断提高,数据量猛增,遥感数据已经越来越具有大数据特征。遥感大数据的出现为相关研究提供了前所未有的机遇&#xf…

LeetCode困难题----84.柱状图中的最大矩形

今天刷LeetCode时遇到了一个很有意思的题: 看了半天题解还是没理解他的代码想要表达的是什么意思,在思考了很久之后,终于,我理解了这道题,接下来让我带你们走进这道题。 这道题的大概意思是,给你一个heights[]数组,(宽为1)让你求出他们可以组合出的最大面积 首先,我们先用暴力法…

一些刷题需要用的大数据

无符号版本和有符号版本的区别就是有符号类型需要使用一个bit来表示数字的正负。 如果需声明无符号类型的话就需要在类型前加上unsigned。 整型的每一种都分为:无符号(unsigned)和有符号(signed)两种类型(f…

进阶二叉树

目录 二叉树 二叉搜索树 二叉搜索树的定义 二叉搜索树的操作 哈夫曼树 哈夫曼树的定义 哈夫曼树的构造 哈夫曼树的性质 平衡二叉树 平衡二叉树的定义: 平衡二叉树的插入调整 1.LL插入/LL旋转 2.RR插入/RR旋转 3.LR插入/LR旋转 4.RL插入/RL旋转 二叉树…

mac【启动elasticsearch报错:can not run elasticsearch as root

mac【启动elasticsearch报错:can not run elasticsearch as root 问题原因 es默认不能用root用户启动,生产环境建议为elasticsearch创建用户。 解决方案 为elaticsearch创建用户并赋予相应权限。 尝试了以下命令创建用户,adduser esh 和u…

分布式之Skywalking

Skywalking skywalking是一个apm系统,包含监控,追踪,并拥有故障诊断能力的 分布式系统 一、Skywalking介绍 1.什么是SkyWalking Skywalking是由国内开源爱好者吴晟开源并提交到Apache孵化器的产品,它同时吸收了Zipkin /Pinpoint …