当前位置:   article > 正文

Halcon ORC字符识别_halcon 字符识别

halcon 字符识别

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')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65

在这里插入图片描述

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/673752
推荐阅读
相关标签
  

闽ICP备14008679号