基于halcon的车牌的图像识别_整理
halcon 中do_ocv_simple算子理解
![halcon 中do_ocv_simple算子理解](https://img.taocdn.com/s3/m/dad99cd36aec0975f46527d3240c844769eaa0b3.png)
一、介绍Halcon是一款强大的机器视觉软件,其内置了丰富的算子用于图像处理和分析。
其中,do_ocv_simple算子是Halcon中常用的一个算子,用于进行简单的光学字符识别(OCR)任务。
本文将针对这一算子进行深入的理解和探讨,以帮助读者更好地掌握Halcon软件的应用。
二、算子原理1. do_ocv_simple算子是基于Halcon内置的光学字符识别引擎(OCR)实现的。
其原理是通过对输入的图像进行预处理,然后使用OCR引擎对图像中的字符进行识别,并返回识别结果。
2. 在进行字符识别之前,通常需要对原始图像进行一系列的预处理操作,例如图像灰度化、去噪、字符分割等。
这些预处理操作可以提高字符识别的准确性和鲁棒性。
3. do_ocv_simple算子支持对单个字符或者多个字符的识别,用户可以根据实际需求设置参数进行调整。
三、使用方法1. 在使用do_ocv_simple算子进行字符识别时,首先需要加载需要处理的图像,并进行必要的预处理操作。
可以使用Halcon中的preprocessing算子对图像进行灰度化、去噪等处理。
2. 接下来,可以调用do_ocv_simple算子对预处理后的图像进行字符识别。
在调用该算子时,需要指定相应的参数,例如字符的位置、字符的大小、识别的字符集等。
3. 根据算子的返回结果,可以进一步处理识别到的字符,例如进行后续的数据分析、记录统计等。
也可以根据识别结果对图像进行标记或者其他可视化操作。
四、注意事项1. 在使用do_ocv_simple算子进行字符识别时,需要根据实际情况选择合适的参数,以确保识别的准确性和稳定性。
2. 对于不同类型的文本和背景,可能需要调整预处理操作的参数,以适应不同的场景和要求。
在实际使用中,需要不断尝试和调整,以获得最佳的识别效果。
3. 还需要注意算子的性能和运行效率,尤其是在处理大规模图像和复杂场景时,需要合理优化算法和参数,以保证处理速度和准确性。
研究方向图像处理基于HALCON的车牌识别
![研究方向图像处理基于HALCON的车牌识别](https://img.taocdn.com/s3/m/b969a388767f5acfa0c7cd43.png)
研究方向图像处理基于HALCON的车牌识别摘要:本文首先介绍了计算机视觉的相关概念,并详细阐述了计算机视觉的相关应用领域,而后介绍了HALCON机器视觉软件,详细地介绍了该软件的功能以及应用领域,最后介绍了利用HALCON软件进行车牌识别的相关原理以及展示了HALCON软件进行车牌识别的具体效果。
关键词:计算机视觉;HALCON机器视觉软件;车牌识别一、计算机视觉相关概念计算机视觉是一门研究如何使机器实现人体视觉系统功能的学科,更进一步地说,就是使用计算机以及相关设备对生物视觉系统的一种模拟,它的主要任务就是通过对采集到的图像或者视频信息进行处理从而获得相应的信息,形象地说,就是给计算机安上眼睛(摄像机)和大脑(算法),通过二者结合,让计算机能够像人一样感知周围的环境。
中国有成语“眼见为实”,西方也有谚语“One picture is worth ten thousand words”,这都表现了视觉对于人类的重要性,所以,计算机视觉的应用场景是非常广阔且实用的。
众人周知的是,人眼能够迅速的捕捉到人体周围的环境变化然后反馈给大脑,大脑对收集来的图像信息做进一步处理,从而判断事物的属性或者能够快速的预测出事物的运动轨迹从而对各种可能出现的情况做出相应的反应;更加神奇的是,人类能够通过眼睛和大脑来分辨出人类或者其他物种情绪上的喜怒哀乐。
虽然人类的视觉系统足够强大,但在某些环境下人类的视觉系统并不是那么的“好用”。
例如,在一些精度要求非常高的场景之下,仅靠人眼是很难分别出观察物体之间细微的差别,或是在极端恶劣的环境之下,人眼的观察能力也会被削弱,比如医疗检查,军事观察,海底勘查以及人群密集场所下的安全监控等。
在这些情况下,使用计算机视觉技术可以取得较好的效果。
计算机视觉系统的产生并非从无到有,它是自统计模式识别逐步发展而来,而计算机视觉系统可以分为视频处理和图像处理两大部分,其核心问题是对视觉关键信息的识别。
基于opencv车牌识别的主要算法
![基于opencv车牌识别的主要算法](https://img.taocdn.com/s3/m/8ed716c7c9d376eeaeaad1f34693daef5ff7134c.png)
基于opencv车牌识别的主要算法
基于OpenCV的车牌识别主要涉及以下几个算法:
1. 图像预处理:车牌识别的第一步是对图像进行预处理,以提取车牌区域。
常用的预处理算法包括灰度化、高斯模糊、边缘检测(如Canny算子)、形态学操作(如腐蚀和膨胀)等。
2. 车牌定位:在预处理后,需要对图像进行车牌定位,以准确定位到车牌区域。
常用的车牌定位算法包括基于颜色特征的方法、基于边缘检测的方法、基于模板匹配的方法等。
3. 字符分割:车牌定位后,需要对车牌区域进行字符分割,将车牌上的字符分割开来。
常用的字符分割算法包括基于投影的方法、基于连通区域的方法、基于边缘检测的方法等。
4. 字符识别:字符分割后,对每个字符进行识别。
常用的字符识别算法包括基于模板匹配的方法、基于特征提取的方法(如垂直投影、水平投影、HOG特征等)、基于机器学习的方法(如支持向量机、神经网络等)等。
5. 后处理:字符识别后,可能需要进行后处理,以进一步提高识别
准确率。
常用的后处理算法包括字符合并、字符校验、模糊匹配等。
需要注意的是,车牌识别是一个复杂的任务,涉及到图像处理、模式识别、机器学习等多个领域的知识。
上述算法只是车牌识别中的一部分,实际应用中还需要根据具体情况进行算法的选择和优化。
此外,还可以结合深度学习等先进技术进行车牌识别的研究和开发。
halcon deep learning tool 使用方法
![halcon deep learning tool 使用方法](https://img.taocdn.com/s3/m/b87fd9a2541810a6f524ccbff121dd36a32dc4eb.png)
halcon deep learning tool 使用方法摘要:1.介绍Halcon Deep Learning Tool2.详细步骤:安装、训练模型、部署模型3.应用场景及优势4.总结正文:随着人工智能技术的不断发展,深度学习已在各行各业取得了显著的成果。
Halcon Deep Learning Tool作为一款强大的深度学习工具,为工程师和研究人员提供了便捷的解决方案。
本文将详细介绍Halcon Deep Learning Tool的使用方法,带你轻松上手这款工具。
一、介绍Halcon Deep Learning ToolHalcon Deep Learning Tool是由德国MVTec公司开发的一款深度学习库,专为机器视觉应用设计。
它具有以下特点:1.支持多种深度学习架构:卷积神经网络(CNN)、循环神经网络(RNN)等。
2.高效的计算性能:利用硬件加速,如GPU、FPGA等。
3.易于使用的API:提供丰富的SDK,支持多种编程语言,如C++、Python等。
二、详细步骤:安装、训练模型、部署模型1.安装Halcon Deep Learning Tool在开始使用Halcon Deep Learning Tool之前,首先需要下载并安装相应版本的Halcon软件。
根据你的需求和操作系统,选择合适的安装包。
安装完成后,配置环境变量,确保Halcon可被识别。
2.训练模型(1)准备数据集:收集并整理相关数据,将其分为训练集和测试集。
(2)构建模型:根据实际需求,选择合适的网络结构和参数配置。
Halcon Deep Learning Tool提供了丰富的预设网络结构,如卷积神经网络、循环神经网络等,可根据实际需求进行调整。
(3)训练:通过Halcon Deep Learning T ool的API进行模型训练,监控训练过程,如损失函数、准确率等。
3.部署模型训练完成后,将模型部署到实际应用场景中。
基于图像处理的车辆牌照自动识别技术研究
![基于图像处理的车辆牌照自动识别技术研究](https://img.taocdn.com/s3/m/0e0baaed3086bceb19e8b8f67c1cfad6185fe958.png)
基于图像处理的车辆牌照自动识别技术研究随着现代社会交通流动加快和城市化进程不断加速,车辆停放在街头成为了常见场景。
车辆牌照是对车辆进行识别和管理的重要标志,然而由于车牌号码复杂多变、人工识别效率低的缘故,许多城市交通管理部门面临着识别车牌号码的巨大难题。
为此,人们开发出了基于图像处理的车辆牌照自动识别技术,可以在大大降低交通管理成本的同时,提高车辆识别的准确率和效率。
首先,图像处理技术是车辆牌照自动识别技术的核心。
图像处理技术是指对输入图像进行数字化的处理,在满足特定需求的情况下,对图像进行增强或减弱某些特定的图像信息的技术。
在车辆牌照自动识别技术中,图像处理技术主要包括图像采集、图像预处理、特征提取、字符识别等过程。
在这些过程中,图像采集是基础,必须要提高采集图像的质量,才能为后续的图像处理流程提供更有效的数据。
而预处理是通过处理视频图像中的噪音和干扰来增强图像,使其更加清晰、明亮。
特征提取是指将经过预处理的图像转化为由若干个特征向量描述的数据形式。
最后,字符识别是整个技术中最重要、最难以实现的一步,其利用机器学习算法对牌照进行定位和字符分割,再经过特征提取和字符识别模型训练,实现车牌号的自动识别。
其次,识别率和速度是影响车辆牌照自动识别技术的两个关键指标。
准确率的提高需要克服车牌位置不同、字体颜色不同及复杂场景的干扰等因素,从而提高整体匹配率和泛化能力,使得针对不同车牌的识别率在一定范围内。
在技术实现上,可以通过多级路线匹配和识别算法进行处理,对复杂场景和特定车牌的识别能力优于一般车牌的识别能力。
至于速度方面,针对车牌识别过程中的数据量较大、处理速度慢的问题,可采用车牌预处理、车牌特征提取和车牌字符识别优化等方案。
这些方案可以从原始图像中提取出与车牌有关的特征,然后将其转化为可供机器学习算法识别和分析的格式,大大提高了车辆牌照自动识别的速度和效率。
最后,车辆牌照自动识别技术已经广泛应用于城市交通管理、公安侦查和道路收费等领域。
HALCON入门(4)HDevelop常用工具之OCR
![HALCON入门(4)HDevelop常用工具之OCR](https://img.taocdn.com/s3/m/b25d74e04793daef5ef7ba0d4a7302768f996f5b.png)
HALCON⼊门(4)HDevelop常⽤⼯具之OCRHALCON⼊门(4)HDevelop常⽤⼯具之OCR整理编辑:YWB本⽂介绍如何借助HDevelop的⼯具以及插件快速完成字符的识别(OCR)与训练。
1字符识别1.1打开OCR助⼿通过菜单选择“助⼿”->“打开新的OCR”,我们可以打开⼀个OCR助⼿。
1.2加载图像在使⽤插件之前我们需要先加载⼀副图像。
点击浏览按钮并选择待检测⽂件,我们使⽤HALCON例程⾃带图像(%HALCONEXAMPLES%\images\ocr\bottle_label_01.jpg),加载后的⽂件会出现在HDevelop的图像窗⼝中。
我们也可以通过其他⽅式进⾏图像的导⼊,如从图像窗⼝或从相机(图像采集助⼿)加载数据。
1.3选择字符区域HALCON⽀持各种形状的感兴趣区域,圆形、椭圆、矩形等等。
点击我们要绘制的形状,将⿏标移⾄图像窗⼝,通过拖拽的⽅式圈定⽂字的范围并点击⿏标右键确定。
1.4快速设置当感兴趣区域选择好后,内部不同颜⾊的区域为分割好的字体,区域下⽅为识别到的字符。
我们可以看到,⽬前的识别效果并不能令我们满意。
这是由于字体的分割参数和图像不匹配所致。
在算法的测试过程中,调参是⼀个令⼈⾮常头疼的⼯作。
⽽在OCR助⼿中,我们可以通过“快速设置”的⽅式对字符分割参数进⾏⾃适应设置。
⾸先填写我们所期望读出的数据,并在复选框中勾选与字体特征对应的选项,如字体为浅⾊时需要勾选“字符是暗背景上的亮字符”选项,⼜如对于激光刻印或⼀些冲压字符需勾选“字符是由很多孤⽴的点组成…”选项。
最后点击“应⽤快速设置”完成参数调整。
通过快速设置可以轻松实现对⽐度较好图像的字符分割与识别,由于现场的光照和⼯作环境可能导致图像出现亮度或对⽐度⽅⾯的变化,因此在测试时我们需要使⽤插件加载更多不同⼯作环境的图像,以确保当前参数可以适应各种⼯作状态。
1.5微调参数在“设置”选项卡中,加载不同的图像并调整感兴趣区域,对当前分割和提取参数在不同图像上进⾏测试。
基于图像处理的车辆牌照自动识别技术研究
![基于图像处理的车辆牌照自动识别技术研究](https://img.taocdn.com/s3/m/aad882ab112de2bd960590c69ec3d5bbfc0ada64.png)
基于图像处理的车辆牌照自动识别技术研究车辆牌照自动识别技术是基于图像处理的一项重要技术。
随着现代社会交通流量的增加,通过人工方式对车辆进行识别和记录变得越来越困难和低效。
因此,开发一种能够自动识别车辆牌照的技术,具有重要的实际意义。
本文将对基于图像处理的车辆牌照自动识别技术进行详细的研究和分析。
首先,我们需要明确基于图像处理的车辆牌照自动识别技术的原理。
该技术主要包括图像预处理、车牌定位、字符分割与识别等步骤。
在图像预处理阶段,我们需要对原始图像进行灰度化、二值化和噪声去除等操作。
灰度化可以将彩色图像转化为灰度图像,简化了后续处理步骤。
二值化操作将灰度图像二值化,将车牌区域与背景进行分离,提高了后续车牌定位的准确度。
噪声去除则是为了消除图像中的噪声干扰,提高车牌信息的可靠性。
接下来是车牌定位阶段。
在这一步骤中,我们需要使用图像处理算法来定位图像中的车牌区域。
常用的方法有颜色特征法、边缘检测法和形态学操作法等。
颜色特征法是通过分析车牌的颜色特征来定位车牌区域,虽然简单但准确率较低。
边缘检测法则是通过检测图像边缘来确定车牌区域,常用的算法有Sobel算子和Canny算子。
形态学操作法则是利用图像形态学的相关方法来提取图像中的车牌区域,可以通过腐蚀和膨胀等操作来实现。
完成车牌定位后,接下来是字符分割与识别阶段。
在这一阶段,我们需要将定位到的车牌区域中的字符进行分割和识别。
字符分割是将车牌字符分离成单个字符的过程,常用的方法有基于投影的分割方法和基于边缘检测的分割方法。
字符识别则是利用图像处理和模式识别的相关技术来对字符进行识别,常用的方法有基于模板匹配的方法和基于神经网络的方法等。
在实际的车牌自动识别系统中,还需要考虑一些实际问题。
比如,车牌的变化、光照条件的变化、遮挡和模糊等。
为了提高识别的准确性和鲁棒性,可以采用多特征融合的方法,结合颜色、纹理、形状等多种特征来进行识别。
同时,还可以使用机器学习算法来训练车牌识别模型,以提高系统的准确性和泛化能力。
基于opencv车牌定位与识别
![基于opencv车牌定位与识别](https://img.taocdn.com/s3/m/c6b4fcad02d276a200292eb6.png)
基于opencv车牌定位与识别作者:郝旋来源:《中国科技博览》2017年第27期一.图像预处理对图像进行灰度化处理、高斯滤波器去噪、图像二值化,灰度拉伸,边缘增强等处理。
然后采用sobel算子进行边缘检测,字符分割。
本部分用的是opencv2.0实现的。
1.车辆图像获取手机拍照获取的车牌照片如下:2.灰度化输入的彩色图像包含大量颜色信息,会占用较多的存储空间,且处理时也会降低系统的执行速度,因此对图像进行识别等处理时.常将彩色图像转换为灰度图像,以加快处理速度。
代码:3.高斯滤波去噪高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。
通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。
高斯滤波的具体操作是:用一个模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。
4.二值化图像的二值化,就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的只有黑和白的视觉效果。
5.边缘增强图像增强处理的一种。
它是将遥感图像(或影像)相邻像元(或区域)的亮度值(或色调)相差较大的边缘(即影像色调突变或地物类型的边界线)处加以突出强调的技术方法。
经边缘增强后的图像能更清晰地显示出不同的物类型或现象的边界,或线形影像的行迹,以便于不同的物类型的识别及其分布范围的圈定。
6.车牌定位:采用的是基于边缘检测的分割方法,水平投影和垂直投影车牌定位的主要工作是从摄入的汽车图像中找到汽车牌照所在位置,并把车牌从该区域中准确地分割出来,供字符分割使用。
因此,牌照区域的确定是影响系统性能的重要因素之一,牌照的定位与否直接影响到字符分割和字符识别的准确率。
7.车牌字符分割:采用的也是垂直投影方法要识别车牌字符,前提是先进行车牌字符的正确分割与提取。
字符分割的任务是把多列或多行字符图像中的每个字符从整个图像中切割出来成为单个字符。
[优选文档]基于图像处理的车牌的自动识别PPT
![[优选文档]基于图像处理的车牌的自动识别PPT](https://img.taocdn.com/s3/m/3beb09ed0740be1e640e9adc.png)
闭运算的图像
开运算的图像
对二值图像进行区域提取,并计算 区域特征参数
a.对图像每个区域进行标记,然后计算每 个区域的图像特征参数:区域中心位置、 最小包含矩形、面积。
(3)牌照字符识别 :
字符依次分析显示误差最小的图片名字
分析之差最小的图片是哪张
与数据库的图片相减
切割出的字符送入库中
字符识别方法目前主要有基于模板匹配算法和 基于人工神经网络算法。基于模板匹配算法首 先将分割后的字符二值化,并将其尺寸大小缩 放为字符数据库中模板的大小,然后与所有的 模板进行匹配,最后选最佳匹配作为结果。
像边缘提取
对得到图像作开操作进行滤波
数学形态非线性滤波,可以用于抑制噪声,进行特征提 取、边缘检测、图像分割等图像处理问题。腐蚀是一种 消除边界点的过程,结果是使目标缩小,孔洞增大,因 而可有效的消除孤立噪声点;膨胀是将与目标物体接触 的所有背景点合并到物体中的过程,结果是使目标增大, 孔洞缩小,可填补目标物体中的空洞,形成连通域。先 腐蚀后膨胀的过程称为开运算,它具有消除细小物体, 并在纤细处分离物体和平滑较大物体边界的作用;先膨 胀后腐蚀的过程称为闭运算,具有填充物体内细小空洞, 连接邻近物体和平滑边界的作用。对图像做了开运算和 闭运算,闭运算可以使图像的轮廓线更为光滑,它通常 用来消掉狭窄的间断和长细的鸿沟,消除小的孔洞,并 弥补轮廓线中的断裂。
首先对采集到的视频图像进行大范围相关搜索,找到符合汽车牌照特征的若干区域作为候选区,然后对这些侯选区域做进一步分析、 评判,最后选定一个最佳的区域作为牌照区域,并将其从图象中分割出来。 对图像每个区域进行标记,然后计算每个区域的图像特征参数:区域中心位置、最小包含矩形、面积。 图像预处理增强效果图像 分析之差最小的图片是哪张
基于Halcon的车牌识别系统设计
![基于Halcon的车牌识别系统设计](https://img.taocdn.com/s3/m/c54f8348551810a6f52486e1.png)
2019年第5期基于Halcon 的车牌识别是指通过识别车辆车牌来认证车辆身份的技术,它是智能交通系统的技术基础,是计算机视觉、图像处理技术与模式识别技术的融合,是智能交通系统中重要的研究课题。
基于Halcon 的车牌识别技术是集人工智能、图像处理、数据融合、计算机视觉、模式识别等技术为一体的复杂系统,要求识别精度高、处理时间短。
1基于Halcon 的车牌识别系统1.1车牌识别的原理车牌识别分为车牌定位、车牌校正、车牌分割、车牌识别和软件平台实现几部分。
车牌的定位就是通过对图像进行处理,使得车牌区域从拍摄的整张车辆图相中分离出来。
车牌定位主要是通过边缘限定,面积限制等方法实现。
车牌图像往往由于摄像机的摄像角度不同,使得拍摄的车牌图像产生一些倾斜,形成梯形或平行四边形的车牌。
这就需要对车牌进行校正。
校正主要是将这些定位好的车牌区域进行坐标变换,变换后的车牌图像编程规则的矩形。
车牌分割就是将校正好的车牌图相内的每一个字符进行单独分割。
分割主要是采用车牌区域内的文字的宽度进行距离上的划定。
每个字符都将按距离被划分出来,这样实现了车牌的分割。
车牌的识别是将分割好的文字进行识别。
一般都是通过程序调用已有的工具包,通过类比来实现文字的读取识别。
最后通过C#程序搭建处车牌自动识别的软件平台。
1.2基于Halcon 的车牌识别系统实现系统实现的硬件环境以个人计算机为核心,数码相机通过USB 端口直接与电脑相连。
由数码相机拍摄采集到的原始图像为JPEG 位图格式,分辨率640伊480,需要将图像存储在PC 机硬盘上,作为实验的原始数据。
系统的软件运行环境为Microsoft Windows10操作系统。
通过Halcon 生成的程序都是以C#编程语言为基础,在Visual Studio2017集成开发环境下完成的。
车牌识别系统结构如图1所示:图1车牌识别系统结构图2车牌识别算法Blob 是Halcon 中的分析算法。
基于halcon的车牌的图像识别_整理
![基于halcon的车牌的图像识别_整理](https://img.taocdn.com/s3/m/f2aeb9263968011ca30091b1.png)
基于halcon的车牌的图像识别其实车牌图像识别从技术上已经比较成熟,从理论上来说无外乎就是如下几个步骤:灰度化:实际就是对原始车牌图片进行预处理,把彩色图片转化为黑白图片,然后对不符合指定阙值范围的灰度值进行过滤。
车牌定位:这是技术难点之一,根据我的经验,定位车牌位置对于车牌的准确识别而言实际上就成功了60%。
很多车牌识别的产品都对车牌的定位预留了很多配置参数,例如截取原始图片的位置参数、车牌的长宽比例、大小等等,这些都是为了提高车牌定位的准确率。
字符分割:车牌定位后是字符分割,本人使用的识别过程是:对定位的车牌位置进行降噪处理=>边界模糊=>从右向左找出前6个封闭的图形=>剩余的封闭图形综合为一个图形进行汉字的识别。
字符识别:就是根据字符模板进行模板匹配,因此需预先建立相应的字符模板。
基于图像进行字符识别也可配置很多参数来大大提高字符的识别率。
例如限定车牌头的字符,车牌各位字符的识别优先级等等。
以下通过大车黄牌号码为例,看看车牌识别的效果。
1、原始图片如下图所示:2、限定车牌识别区域,本例中将裁剪掉上下左右各10%的区域:get_image_pointer1 (FullImage, Pointer, Type, Width, Height)gen_rectangle1 (Rectangle, Height*0.1, Width*0.1, Height*0.9, Width*0.9)reduce_domain (FullImage, Rectangle, Image)看看裁剪结果:3、把选中的区域灰度化,方便后续处理:decompose3 (Image, Red, Green, Blue)trans_from_rgb (Red, Green, Blue, Hue, Saturation, Intensity, 'hsv')灰度化后的效果图:4、灰度阙值过滤,本例中只选中灰度值在100至255之间的区域,可根据实际情况进行相应的设置,然后进行降噪处理:threshold (Saturation, HighSaturation, 100, 255)remove_noise_region (HighSaturation, OutputRegion, 'n_48')过滤降噪后的效果,和实际的位置很接近了吧!5、根据预定义的车牌长宽比例等查找符合特定特征的区域:代码connection (OutputRegion, ConnectedRegions1)closing_rectangle1 (ConnectedRegions1, RegionClosing1, 10, 10)select_shape (RegionClosing1, ASelectedRegions, 'area', 'and', 3000, 9000) select_shape (ASelectedRegions, HSelectedRegions, 'height', 'and', 30, 90) select_shape (HSelectedRegions, SelectedRegions, 'width', 'and', 60, 180)效果图如下,分割成了多个区域哈:6、呈现出车牌区域的灰度化图像:reduce_domain (Hue, SelectedRegions, HueHighSaturation)效果如下,是不是和实际位置一致啊!7、对上述车牌的精确区域进行阙值过滤,主要是为了去掉车牌周围的黑色边框:threshold (HueHighSaturation, Region, 30, 50)效果图如下:8、填充有字符而没有在上述算法中被选中的内部区域:closing_rectangle1 (Region, RegionFillUp, 20, 20)填充后的相关效果图如下:9、根据选中的上述区域,从原始图片中加载该区域:reduce_domain (Image, RegionFillUp, TruckTagImage) 效果图如下,车牌又出现了哈10、确定识别区域字符的偏移角度,根据摄像机位置的不同其倾斜度也会有所不同(根据分割算法的不同,其实此步骤可以省略):connection (RegionFillUp, ConnectedReducedRegions)text_line_orientation (ConnectedReducedRegions, TruckTagImage, 30, -0.523599, 0.523599, Orie ntationAngle)11、显示真实的车牌位置图像,主要是方便调试:dev_display (TruckTagImage)效果图如下:12、进行字符分割,过滤掉非字符区域:代码segment_characters (RegionFillUp, TruckTagImage, ImageForeground, RegionForeground, 'local_auto_shape', 'false', 'false', 'medium', 12, 30, 2, 10, UsedThreshold)select_characters (RegionForeground, RegionCharacters, 'false', 'medium', 12, 30, 'false', 'false', 'v ariable_width', 'false', 'medium', 'false', 15, 'completion')closing_rectangle1 (RegionCharacters, RegionCharactersClosing, 1, 2)效果图如下,是不是离真正的识别又跟进了一步哈!13、根据各个分割的区域的左上角坐标排序(主要是方便从右向左依次进行字符识别):connection (RegionCharactersClosing, ConnectedRegionCharactersClosing)sort_region (ConnectedRegionCharactersClosing, SortedRegions, 'first_point', 'false', 'column')14、显示分割的字符区域的效果图,怎么样?字符分割成功了吧!:15、加载字符模板,从右向左依次进行字符识别,并把识别结果绘制到对应字符位置的上方:<./p>代码read_ocr_class_mlp ('D:/MVTec/HALCON/ocr/Industrial_0-9.omc', OCRHandle)for Index := 1 to 5 by 1if (Number>=Index)SelectedSortedRegion := SortedRegions[Index]do_ocr_single_class_mlp (SelectedSortedRegion, Image, OCRHandle, 1, Class, Confidence) smallest_rectangle1 (SelectedSortedRegion, Row1, Column1, Row2, Column2)set_tposition (WindowID, Row1 - 30, (Column2 + Column1) * 0.5 - 5)write_string (WindowID, Class[0])dev_display (SelectedSortedRegion)endifendforclear_ocr_class_mlp (OCRHandle)if (Number>5)read_ocr_class_mlp ('D:/MVTec/HALCON/ocr/Industrial_0-9A-Z.omc', OCRHandle)SelectedSortedRegion := SortedRegions[6]do_ocr_single_class_mlp (SelectedSortedRegion, Image, OCRHandle, 1, Class, Confidence) smallest_rectangle1 (SelectedSortedRegion, Row1, Column1, Row2, Column2)set_tposition (WindowID, Row1 - 30, (Column2 + Column1) * 0.5 - 5)write_string (WindowID, Class[0])clear_ocr_class_mlp (OCRHandle)dev_display (SelectedSortedRegion)endif相关效果图如下,字符识别的准确度挺高嘛!图中汉字“川”未进行识别,其实只需为其制作相应的字符识别模板后,识别也极其容易,为方便演示此过程略去。
halcon视觉引导定位案例
![halcon视觉引导定位案例](https://img.taocdn.com/s3/m/b6738452a88271fe910ef12d2af90242a895abe5.png)
halcon视觉引导定位案例Halcon视觉引导定位是一种基于Halcon软件的图像处理技术,通过对图像进行分析和处理,实现对目标物体的定位和识别。
下面列举了10个关于Halcon视觉引导定位案例的描述。
1. 产品组装定位:在电子产品的组装过程中,使用Halcon视觉引导定位技术可以准确地识别和定位各个组件,确保组装的准确性和质量。
2. 精准测量定位:在工业生产中,需要对产品进行精准的测量和定位,使用Halcon视觉引导定位可以实现高精度的测量和定位,提高生产效率和产品质量。
3. 零件检测定位:在汽车零件生产过程中,使用Halcon视觉引导定位可以对零件进行检测和定位,确保零件的质量和尺寸符合要求。
4. 包装盒识别定位:在食品和药品包装过程中,使用Halcon视觉引导定位可以对包装盒进行识别和定位,确保包装的准确性和一致性。
5. 文字识别定位:在印刷和出版行业中,使用Halcon视觉引导定位可以对文字进行识别和定位,实现自动化的文字处理和排版。
6. 质检定位:在制造业中,使用Halcon视觉引导定位可以对产品进行质量检测和定位,确保产品的质量符合要求。
7. 钣金定位:在汽车制造和航空航天行业中,使用Halcon视觉引导定位可以对钣金件进行定位和检测,确保钣金件的尺寸和形状符合要求。
8. PCB板定位:在电子行业中,使用Halcon视觉引导定位可以对PCB板进行定位和检测,确保PCB板的质量和尺寸符合要求。
9. 零件装配定位:在机械制造业中,使用Halcon视觉引导定位可以对零件进行装配和定位,提高装配的准确性和效率。
10. 包装机器人定位:在自动化包装行业中,使用Halcon视觉引导定位可以对包装机器人进行定位和控制,实现自动化的包装过程。
以上是关于Halcon视觉引导定位的10个案例描述。
通过使用Halcon软件的图像处理技术,可以实现对不同行业的目标物体进行精准的定位和识别,提高生产效率和产品质量。
基于HALCON的汽车牌照识别研究
![基于HALCON的汽车牌照识别研究](https://img.taocdn.com/s3/m/b0893c21b307e87100f69608.png)
精密制造与自动化 2018年第4期48基于HALCON 的汽车牌照识别研究高永勋 任德均 严扎杰 陈儒侠(四川大学 制造科学与工程学院 成都610065)摘 要 为了验证Blob 分析算法在汽车拍照识别过程中的可行性,首先用工业相机在常见场景下采集车牌图像,然后在基于机器视觉应用软件 HALCON 的基础上,运用其工具箱中功能强大的算子先对图像进行预处理,接着利用关键的Blob 分析算法对预处理后的图像进行车牌字符定位,再运用预训练的OCR 分类器识别车牌字符。
最终经过实际检测,验证了利用Blob 分析算法来开发周期短、程序稳定性高、程序运行实时性好的目的。
关键词 机器视觉 HALCON Blob 算法 字符识别车牌识别系统LPR(License Plate Recognition)作为城市智能交通系统不可或缺的一部分,在城市交通和停车场等项目的管理中占有极其重要的地位。
它可以在不影响汽车行使状态的情况下,由计算机自动的完成车牌的识别,从而降低城市交通管理工作的困难程度。
HALCON 是一个用来开发机器视觉应用软件的工具箱。
它拥有一个特别良好的交互式编程环境,在快速开发图像视觉处理技术的应用软件方面具有很好的优势。
软件本身有很多个不仅使用简单而且功能强大的运算子,此外,这些运算子还可以组合使用,发挥出更强大的功能,让软件设计者抽身脱离繁琐的程序。
本研究正是采用HALCON 作为系统软件的核心处理模块,将机器视觉检测技术应用于车辆牌照的检测,实现车牌号码快速、高效的识别和检测。
1 车牌识别系统设计基于Halcon 的车牌识别流程如图1所示,在自然环境下使用工业相机采集到车牌信息图像之后,首先对原始图像进行预处理,主要是为了抑制或者衰减图像中的无关信息,恢复有用的真实信息,增强相关信息的检测性。
之后运用Blob 分析算法完成预处理图像的字符分割,之所以采用Blob 工具,是因为Blob 分析算法是对图像的“行”操作,可以加快图像的处理速度。
基于图像处理的汽车牌照的识别
![基于图像处理的汽车牌照的识别](https://img.taocdn.com/s3/m/88b17e7758fafab069dc02cd.png)
基于图像处理的汽车牌照的识别摘要:以一幅汽车牌照的识别为例,具体介绍了车牌自动识别的原理。
整个处理过程分为预处理、边缘提取、车牌定位、字符分割、字符识别五大模块,用MATLAB软件编程来实现每一个部分,最后识别出汽车牌照。
在研究的同时对其中出现的问题进行了具体分析,处理。
寻找出对于具体的汽车牌照识别过程的最好的方法。
关键词:汽车牌照车牌提取字符分割字符识别The vehicle license recognition based on the image processingAuthor:Chen QiujuTutor:Li Fangzhou(School of Physics and Electronic Information Wen Zhou Normal College 325027) Abstract:With one vehicle license recognition, the principle of the automobile License recognition is introduced .This process was divided into pre-process,edge extraction, vehicle license location, character division and character recognition, which is implemented separated by using MATLAB. The license is recognized at last. At the same time, the problems are also analyzed And solved in the process. The best method of recognition to the very vehicle license is found.Keywords: vehicle license vehicle license location character segmentationCharacter recognition1.引言1.1 选题意义汽车牌照自动识别系统是以汽车牌照为特定目标的专用计算机视觉系统,是计算机视觉和模式识别技术在智能交通领域应用的重要研究课题之一,是实现交通管理智能化的重要环节,它可广泛应用于交通流量检测,交通控制与诱导,机场、港口、小区的车辆管理,不停车自动收费,闯红灯等违章车辆监控以及车辆安全防盗等领域,具有广阔的应用前景。
halcon车片识别和二维码识别大作业
![halcon车片识别和二维码识别大作业](https://img.taocdn.com/s3/m/dcb9093c5a8102d276a22fea.png)
数字图像处理学院:信息工程学院专业:软件工程姓名:谢磊金学号:2014124089指导教师:丁爱玲2014年12月3日目录前言 (3)第一部分基于halcon与VS2010的焊点图像处理实验 (4)1.1实验概括 (4)1.2 halcon的实现过程(附代码附图介绍): (4)1.3 halcon与VS2010的结合 (13)附源代码(halcon代码请看上文,VS端代码太多请参考源程序): (15)第二部分基于VC++的路面裂缝检测实验.......................................... 错误!未定义书签。
1 总体方案设计 ................................................................................. 错误!未定义书签。
2 裂缝图像的预处理 ......................................................................... 错误!未定义书签。
3 算法总体测试结果与分析 ............................................................. 错误!未定义书签。
4 路面破损识别系统软件的使用 ..................................................... 错误!未定义书签。
第三部分基于MATLAB的路面裂缝检测 ......................................... 错误!未定义书签。
1解题思路: ......................................................................................... 错误!未定义书签。
2算法设计: ......................................................................................... 错误!未定义书签。
halcon条码识别的原理
![halcon条码识别的原理](https://img.taocdn.com/s3/m/97116770ef06eff9aef8941ea76e58fafbb0454f.png)
Halcon条码识别是一种基于图像处理和模式识别的技术,其基本原理可以概括为以下几个步骤:
1. 图像采集:首先需要使用相机或扫描仪等设备采集条码图像。
2. 预处理:图像预处理包括去除噪声、调整亮度和对比度、二值化等操作,目的是为了提高图像的质量,使条码区域与其他背景区域有明显的对比度,方便后续识别。
3. 定位:通过各种算法,如Hough变换、边缘检测等,定位出条码区域。
4. 识别:使用各种算法,如行差校正、霍夫变换、模板匹配等,识别出条码中的各个元素(通常是条和空),并确定其位置和尺寸。
5. 解码:根据识别的条和空,通过特定的编码规则,还原出条码的内容。
具体来说,Halcon通过以下几个关键步骤实现条码识别:
首先,Halcon使用颜色滤波器对图像进行预处理,以减少背景干扰。
然后,它使用边缘检测算法(如Sobel或Prewitt算子)来提取条码的边缘信息。
接下来,霍夫变换被用于检测线条,包括条和空,从而进一步细化条码的形状。
在这个阶段,Halcon会进行一些校准操作(如行差校正),以纠正可能存在的图像偏移。
然后,使用模板匹配算法,根据已知的条码模板匹配实际的条码图像,以识别出具体的条和空。
最后,根据识别的条和空,以及它们之间的相对位置和尺寸关系,使用特定的译码算法(如二元译码或三元译码)还原出条码的内容。
总的来说,Halcon条码识别原理主要基于图像处理和模式识别技术,通过一系列算法对采集到的图像进行预处理、定位、识别和译码,最终实现条码的自动识别。
这种技术广泛应用于物流、零售、制造等行业,大大提高了工作效率和准确性。
halcon光学字符识别原理
![halcon光学字符识别原理](https://img.taocdn.com/s3/m/293a1321c4da50e2524de518964bcf84b9d52dfa.png)
halcon光学字符识别原理Halcon光学字符识别原理简介Halcon是一种先进的图像处理软件,被广泛应用于工业自动化领域。
光学字符识别(OCR)是Halcon的一个重要功能,它可以对图像中的字符进行准确、快速的识别和解析。
本文将介绍Halcon光学字符识别的原理和工作流程,以及其在实际应用中的一些优势和局限性。
一、Halcon光学字符识别原理Halcon光学字符识别基于图像处理和模式识别技术,主要分为以下几个步骤:1. 图像预处理:首先对输入的图像进行预处理,包括灰度化、二值化、去噪等操作,以便提取出字符的轮廓和特征。
2. 字符分割:根据字符之间的间隔和形状特征,将图像中的字符分割成单个字符,以便后续的识别处理。
3. 特征提取:对每个字符进行特征提取,通常使用形状、纹理、颜色等特征来描述字符的特性,以便与已知的字符模板进行对比。
4. 字符识别:将提取出的特征与已知的字符模板进行比对,找出最匹配的字符。
匹配过程可以使用各种算法,如模板匹配、神经网络等。
5. 结果解析:根据识别结果,对字符进行解析和处理,可以输出字符的文本信息,或进行其他后续操作。
二、Halcon光学字符识别的优势1. 精度高:Halcon光学字符识别具有较高的识别准确率,可以在不同光照条件和复杂背景下进行准确的字符识别。
2. 速度快:Halcon使用高效的图像处理算法和优化的实现方式,可以实现实时或近实时的字符识别,满足工业自动化的要求。
3. 灵活可定制:Halcon提供了丰富的参数和配置选项,可以根据不同的应用场景和需求进行定制化的设置,以获得更好的识别效果。
4. 多语言支持:Halcon支持多种语言的字符识别,包括中文、英文、数字等,可以适应不同国家和地区的需求。
5. 强大的图像处理能力:除了字符识别,Halcon还提供了丰富的图像处理功能,如图像增强、形状检测、边缘提取等,可以进行更复杂的图像处理和分析。
三、Halcon光学字符识别的局限性1. 字体和大小依赖性:Halcon对于不同字体和大小的字符识别效果可能有所差异,需要针对具体应用进行调优和测试。
一种基于halcon算法的图像自动拼接装置的制作方法
![一种基于halcon算法的图像自动拼接装置的制作方法](https://img.taocdn.com/s3/m/824fdc2953d380eb6294dd88d0d233d4b14e3f31.png)
一种基于halcon算法的图像自动拼接装置的制作方法专利名称:一种基于halcon算法的图像自动拼接装置的制作方法技术领域:本实用新型属于计算机应用技术领域,尤其涉及一种基于halcon算法的图像自动拼接装置。
背景技术:随着计算机技术的飞速发展,图像处理技术应运而生且技术愈加成熟,并随之带动了图像无缝拼接技术产业高速发展。
在日常生活中,人们接触的事物80%是用图像表达的,这给人们更加全面的认识和理解事物带来了极大的方便,而且也极大地促进了人们开发和处理图像技术的能力。
但是,如何将图像更加全面且清晰地展现在人们的视野中也显现出一些棘手的问题,比如将多幅单张且有重合部分的图像无缝拼接为一幅全景图,这还需要专业的计算机编程手段去完成。
针对更有效地解决图像无缝拼接这一问题,现代计算机图像处理手段有基于各种计算机语言的图像处理系统,主要应用于大量航拍或卫星图像的整合。
但是现在大多数非计算机专业人士并不能熟练掌握和运用高深的计算机语言,为了使更多的人理解图像拼接的过程,设计一种基于halcon语言设计出一种图像自动拼接装置,由于halcon是新兴的机器视觉处理软件,相比于之前的图像处理软件最大的优点是算子多,速度快,容易与VisualStudio接口。
使用halcon实现图像自动拼接装置会使拼接速度明显加快。
实用新型内容本实用新型的目的在于,提供一种基于halcon算法的图像自动拼接装置。
为了实现上述任务,本实用新型采取如下的技术解决方案一种基于halcon算法的图像自动拼接装置,包括图像输入模块,图像输入模块与计算机相连接,计算机上连接有显示屏。
本实用新型的其他特点是所述的图像输入模块选择摄像机或移动硬盘或优盘。
本实用新型的基于halcon算法的图像自动拼接装置,结构非常简单,图像自动拼接是在计算机中编写halcon算法处理图像,在VisualStudio编辑的操作界面处理图像。
且容易操作,拼接过程为自动化,输出图像为无缝全景图等优点,能够满足实际中使用者的需求,无需设置其他参数即可完成图像的拼接。
基于HALCON的车牌识别研究
![基于HALCON的车牌识别研究](https://img.taocdn.com/s3/m/629b2119bed5b9f3f90f1c9f.png)
基于HALCON的车牌识别研究作者:张银苹葛广英来源:《现代电子技术》2014年第16期摘要:为了实现车牌字符快速准确的识别,基于Halcon软件提出了一种二次阈值的车牌定位方法,根据车牌在HSV颜色模式中S通道的纹理特征进行一次阈值,获取车牌候选区域,其次校正车牌候选区域,最后进行第二次阈值,通过字符区域的最大(小)行(列)值确定出精确的车牌区域;在字符分割模块提出了一种汉字分割与其他字符连通域法相结合的方法。
实验结果表明,这两种方法简单快捷、识别正确率高。
关键字:车牌定位;字符分割;字符识别; Halcon中图分类号: TN911⁃34 文献标识码: A 文章编号: 1004⁃373X(2014)16⁃00092⁃04 Study on license plate recognition based on HALCONZHANG Yin⁃ping, GE Guang⁃ying(School of Physics Science and Information Technology, Liaocheng University, Liaocheng 252000, China)Abstract: In order to achieve accurate and quick recognition of license plates, a license plate positioning method with secondary threshold is proposed based on Halcon. A primary threshold is made based on the license plate texture characteristics of S channel in HSV color mode to get the candidate region of a license plate, and then adjusting the candidate region to make the second threshold and determine the exact license plate region according to the maximum (minimum) row (column) value of the character region. As for the character segmentation module, a method to combine Chinese character segmentation with other character connected domain method is proposed. The experimental results indicate that both of the two methods are simple and quick, and have high recognition rate.Keywords: license plate location; character segmentation; character recognition; Halcon0 引言随着私家车的不断增加,智能交通系统[1]在交通、大型停车场、收费站等场合的车辆管理发挥着重要作用,而车牌识别是智能交通系统中的重要部分。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于halcon的车牌的图像识别
其实车牌图像识别从技术上已经比较成熟,从理论上来说无外乎就是如下几个步骤:灰度化:实际就是对原始车牌图片进行预处理,把彩色图片转化为黑白图片,然后对不符合指定阙值范围的灰度值进行过滤。
车牌定位:这是技术难点之一,根据我的经验,定位车牌位置对于车牌的准确识别而言实际上就成功了60%。
很多车牌识别的产品都对车牌的定位预留了很多配置参数,例如截取原始图片的位置参数、车牌的长宽比例、大小等等,这些都是为了提高车牌定位的准确率。
字符分割:车牌定位后是字符分割,本人使用的识别过程是:对定位的车牌位置进行降噪处理=>边界模糊=>从右向左找出前6个封闭的图形=>剩余的封闭图形综合为一个图形进行汉字的识别。
字符识别:就是根据字符模板进行模板匹配,因此需预先建立相应的字符模板。
基于图像进行字符识别也可配置很多参数来大大提高字符的识别率。
例如限定车牌头的字符,车牌各位字符的识别优先级等等。
以下通过大车黄牌号码为例,看看车牌识别的效果。
1、原始图片如下图所示:
2、限定车牌识别区域,本例中将裁剪掉上下左右各10%的区域:
get_image_pointer1 (FullImage, Pointer, Type, Width, Height)
gen_rectangle1 (Rectangle, Height*0.1, Width*0.1, Height*0.9, Width*0.9)
reduce_domain (FullImage, Rectangle, Image)
看看裁剪结果:
3、把选中的区域灰度化,方便后续处理:
decompose3 (Image, Red, Green, Blue)
trans_from_rgb (Red, Green, Blue, Hue, Saturation, Intensity, 'hsv')
灰度化后的效果图:
4、灰度阙值过滤,本例中只选中灰度值在100至255之间的区域,可根据实际情况进行相应的设置,然后进行降噪处理:
threshold (Saturation, HighSaturation, 100, 255)
remove_noise_region (HighSaturation, OutputRegion, 'n_48')
过滤降噪后的效果,和实际的位置很接近了吧!
5、根据预定义的车牌长宽比例等查找符合特定特征的区域:
代码
connection (OutputRegion, ConnectedRegions1)
closing_rectangle1 (ConnectedRegions1, RegionClosing1, 10, 10)
select_shape (RegionClosing1, ASelectedRegions, 'area', 'and', 3000, 9000) select_shape (ASelectedRegions, HSelectedRegions, 'height', 'and', 30, 90) select_shape (HSelectedRegions, SelectedRegions, 'width', 'and', 60, 180)
效果图如下,分割成了多个区域哈:
6、呈现出车牌区域的灰度化图像:
reduce_domain (Hue, SelectedRegions, HueHighSaturation)
效果如下,是不是和实际位置一致啊!
7、对上述车牌的精确区域进行阙值过滤,主要是为了去掉车牌周围的黑色边框:threshold (HueHighSaturation, Region, 30, 50)
效果图如下:
8、填充有字符而没有在上述算法中被选中的内部区域:closing_rectangle1 (Region, RegionFillUp, 20, 20)
填充后的相关效果图如下:
9、根据选中的上述区域,从原始图片中加载该区域:reduce_domain (Image, RegionFillUp, TruckTagImage) 效果图如下,车牌又出现了哈
10、确定识别区域字符的偏移角度,根据摄像机位置的不同其倾斜度也会有所不同(根据分割算法的不同,其实此步骤可以省略):
connection (RegionFillUp, ConnectedReducedRegions)
text_line_orientation (ConnectedReducedRegions, TruckTagImage, 30, -0.523599, 0.523599, Orie ntationAngle)
11、显示真实的车牌位置图像,主要是方便调试:
dev_display (TruckTagImage)
效果图如下:
12、进行字符分割,过滤掉非字符区域:
代码
segment_characters (RegionFillUp, TruckTagImage, ImageForeground, RegionForeground, 'local
_auto_shape', 'false', 'false', 'medium', 12, 30, 2, 10, UsedThreshold)
select_characters (RegionForeground, RegionCharacters, 'false', 'medium', 12, 30, 'false', 'false', 'v ariable_width', 'false', 'medium', 'false', 15, 'completion')
closing_rectangle1 (RegionCharacters, RegionCharactersClosing, 1, 2)
效果图如下,是不是离真正的识别又跟进了一步哈!
13、根据各个分割的区域的左上角坐标排序(主要是方便从右向左依次进行字符识别):connection (RegionCharactersClosing, ConnectedRegionCharactersClosing)
sort_region (ConnectedRegionCharactersClosing, SortedRegions, 'first_point', 'false', 'column')
14、显示分割的字符区域的效果图,怎么样?字符分割成功了吧!:
15、加载字符模板,从右向左依次进行字符识别,并把识别结果绘制到对应字符位置的上方:<./p>
代码
read_ocr_class_mlp ('D:/MVTec/HALCON/ocr/Industrial_0-9.omc', OCRHandle)
for Index := 1 to 5 by 1
if (Number>=Index)
SelectedSortedRegion := SortedRegions[Index]
do_ocr_single_class_mlp (SelectedSortedRegion, Image, OCRHandle, 1, Class, Confidence) smallest_rectangle1 (SelectedSortedRegion, Row1, Column1, Row2, Column2)
set_tposition (WindowID, Row1 - 30, (Column2 + Column1) * 0.5 - 5)
write_string (WindowID, Class[0])
dev_display (SelectedSortedRegion)
endif
endfor
clear_ocr_class_mlp (OCRHandle)
if (Number>5)
read_ocr_class_mlp ('D:/MVTec/HALCON/ocr/Industrial_0-9A-Z.omc', OCRHandle)
SelectedSortedRegion := SortedRegions[6]
do_ocr_single_class_mlp (SelectedSortedRegion, Image, OCRHandle, 1, Class, Confidence) smallest_rectangle1 (SelectedSortedRegion, Row1, Column1, Row2, Column2)
set_tposition (WindowID, Row1 - 30, (Column2 + Column1) * 0.5 - 5)
write_string (WindowID, Class[0])
clear_ocr_class_mlp (OCRHandle)
dev_display (SelectedSortedRegion)
endif
相关效果图如下,字符识别的准确度挺高嘛!
图中汉字“川”未进行识别,其实只需为其制作相应的字符识别模板后,识别也极其容易,为方便演示此过程略去。
再有就是D、O、0的字符识别准确率偏低(D、O经常识别为0),不过可以通过设置识别优先级等来提高真实环境的识别成功率。