Halcon OCR字符训练与识别

原图:                                                                                                  效果图:

 

************************OCR字符训练
dev_close_window ()
word:=['A','P','6','2','1','0','C','0','E','3','0','B','D','1','4','1','0']
read_image (Image1381Bcb4442e5fb68e9, '13_81_bcb4442e5fb68e9.bmp')
get_image_size (Image1381Bcb4442e5fb68e9, Width, Height)
dev_open_window_fit_size (0, 0, Width, Width, -1, -1, WindowHandle)
rgb1_to_gray (Image1381Bcb4442e5fb68e9, GrayImage)
dev_set_draw ('margin')
gen_rectangle1 (ROI_0, 100.732, 230.658, 385.953, 561.605)
reduce_domain (GrayImage, ROI_0, ImageReduced)
dev_clear_window ()
dev_display (Image1381Bcb4442e5fb68e9)
smooth_image (ImageReduced, ImageSmooth, 'deriche2', 0.5)
threshold (ImageSmooth, Regions1, 168, 255)
connection (Regions1, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 400, 1400)
smallest_rectangle1 (SelectedRegions, Row1, Column1, Row2, Column2)
gen_rectangle1 (Rectangle, Row1, Column1, Row2, Column2)
sort_region (Rectangle, SortedRegions, 'character', 'true', 'row')
area_center (SortedRegions, Area, Row, Column)
count_obj (SortedRegions, Number)
fileName:='My.trf'
dev_set_check ( 'give_error')
delete_file (fileName)
dev_set_check ( 'give_error')
for Index1 := 1 to Number  by 1
     select_obj (SortedRegions, ObjectSelected, Index1)
     append_ocr_trainf (ObjectSelected, ImageSmooth, word[Index1-1], fileName)
endfor
read_ocr_trainf_names ('My.trf', CharacterNames, CharacterCount)
create_ocr_class_mlp (8, 10, 'constant', 'default',CharacterNames , 80, 'none', 10, 42, OCRHandle1)
trainf_ocr_class_mlp (OCRHandle1, 'My.trf', 200, 1, 0.01, Error, ErrorLog)
write_ocr_class_mlp (OCRHandle1, 'My.omc')

********************************OCR字符识别
dev_close_window ()
dev_open_window_fit_size (0, 0, 640, 480, -1, -1, WindowHandle)
read_image (Image1381Bcb4442e5fb68e9, '13_81_bcb4442e5fb68e9.bmp')
rgb1_to_gray (Image1381Bcb4442e5fb68e9, GrayImage)
dev_set_draw ('margin')
gen_rectangle1 (ROI_0, 100.732, 230.658, 385.953, 561.605)
reduce_domain (GrayImage, ROI_0, ImageReduced)
crop_domain (ImageReduced, ImagePart)
dev_clear_window ()
dev_display (Image1381Bcb4442e5fb68e9)
smooth_image (ImageReduced, ImageSmooth, 'deriche2', 0.5)
threshold (ImageSmooth, Regions1, 168, 255)
connection (Regions1, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 400, 1400)
smallest_rectangle1 (SelectedRegions, Row1, Column1, Row2, Column2)
gen_rectangle1 (Rectangle, Row1, Column1, Row2, Column2)
dev_clear_window ()
dev_display (Image1381Bcb4442e5fb68e9)
dev_display (Rectangle)

    dev_clear_window ()
    dev_display (Image1381Bcb4442e5fb68e9)
    dev_display (Rectangle)
    read_ocr_class_mlp ( 'My.omc', OCRHandle)
    do_ocr_multi_class_mlp (Rectangle, ImageSmooth, OCRHandle, Class, Confidence)
    set_display_font (WindowHandle, 26, 'mono', 'true', 'false')
    for Index := 0 to |Class|-1 by 1
       disp_message(WindowHandle, Class[Index], 'image', (Row1-30)[Index],Column1[Index], 'yellow', 'false')    
    endfor

    clear_ocr_class_mlp (OCRHandle)

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值