Halcon 字符识别(初级)(0-9_A-z)

在这里插入图片描述

字符集与图片

链接:https://pan.baidu.com/s/1z0i1kWpV1Rwsdpjtfso_GQ
提取码:9t3y

导入训练好的字符集

字符集路径

C:\Program Files\MVTec\HALCON-18.11-Progress\ocr

图片路径

C:\Users\Public\Documents\MVTec\HALCON-18.11-Progress\examples\images

字符识别过程

1、加载字符集

FontName := './Industrial_0-9A-Z_NoRej.omc'
read_ocr_class_mlp (FontName, OCRHandle)

2、字符分割

具体问题具体分析

3、字符识别

* 挑选连通域
select_obj (SortedRegions, ObjectSelected, I)
* 识别字符 (连通域, 图片, OCR句柄,识别个数, 识别字符,置信度)
do_ocr_single_class_mlp (ObjectSelected, ImageInvert, OCRHandle, 1, Class, Confidence)

****1、加载识别字符集**********************
FontName := './Industrial_0-9A-Z_NoRej.omc'
read_ocr_class_mlp (FontName, OCRHandle)

* FontName := 'engraved'
dev_update_window ('off')
* 
****2、加载图片**********************
read_image (Image, './engraved.png')
get_image_size (Image, Width, Height)
dev_close_window ()
dev_open_window (0, 0, Width, Height, 'black', WindowHandle)
set_display_font (WindowHandle, 20, 'mono', 'true', 'false')
dev_display (Image)
disp_continue_message (WindowHandle, 'black', 'true')
stop ()
*
****3、字符分割**********************
* 灰度图-矩形区域卷积
gray_range_rect (Image, ImageResult, 7, 7)
* 图像取反
invert_image (ImageResult, ImageInvert)
* 二值化
threshold (ImageResult, Region, 128, 255)
* 连通域分析
connection (Region, ConnectedRegions)
* 连通域筛选
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 1000, 99999)
* 连通域排序
sort_region (SelectedRegions, SortedRegions, 'first_point', 'true', 'column')

** 显示筛选排序后的连通域(分割好的字符)
dev_set_colored (6)
dev_set_draw ('margin')
dev_set_shape ('original')
dev_set_line_width (2)
dev_display (ImageResult)
dev_display (SortedRegions)
disp_continue_message (WindowHandle, 'black', 'true')
stop ()
* 
****4、获取字符外接矩形与坐标(为了显示)**********************
dev_set_shape ('rectangle1')
dev_display (Image)
dev_display (SortedRegions)
* 获取字符(连通域)外接正矩形
shape_trans (SortedRegions, RegionTrans, 'rectangle1')
* 获取字符中心坐标
area_center (RegionTrans, Area, Row, Column)
MeanRow := mean(Row)

****5、读取字符**********************
count_obj (SortedRegions, Number)
for I := 1 to Number by 1
    * 挑选连通域
    select_obj (SortedRegions, ObjectSelected, I)
    * 识别字符 (连通域, 图片, OCR句柄,识别个数, 识别字符,置信度)
    do_ocr_single_class_mlp (ObjectSelected, ImageInvert, OCRHandle, 1, Class, Confidence)
    * 显示识别结果
    disp_message (WindowHandle, Class, 'image', MeanRow - 80, Column[I - 1] - 10, 'yellow', 'false')
endfor

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

廷益--飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值