create_text_model_reader

* OCR 01: Code generated by OCR 01
* OCR 01: 
* OCR 01: Prepare text model
* OCR 01: 
create_text_model_reader ('manual', [], TextModel)
set_text_model_param (TextModel, 'polarity', 'light_on_dark')
set_text_model_param (TextModel, 'char_width', 19)
set_text_model_param (TextModel, 'char_height', 20)
set_text_model_param (TextModel, 'stroke_width', 4.5)
set_text_model_param (TextModel, 'return_punctuation', 'false')
set_text_model_param (TextModel, 'uppercase_only', 'true')
set_text_model_param (TextModel, 'fragment_size_min', 10)
set_text_model_param (TextModel, 'eliminate_border_blobs', 'true')
set_text_model_param (TextModel, 'base_line_tolerance', 0.2)
set_text_model_param (TextModel, 'max_line_num', 1)
* OCR 01: 
* OCR 01: Load classifier
* OCR 01: 
read_ocr_class_mlp ('Industrial_0-9A-Z_NoRej.omc', OcrHandle)
* OCR 01: ***************************************************************
* OCR 01: * The code which follows is to be executed once / image       *
* OCR 01: ***************************************************************
* OCR 01: 
* OCR 01: Load image
read_image (Image, 'D:/OCR-NEOLD/20201114-143205.bmp')
* OCR 01: 
* OCR 01: Perform actual processing (once per ROI)
* OCR 01: Generate regions of interest
gen_rectangle2 (ROI_OCR_01_0, 906.786, 1105.38, rad(-90), 84.8043, 16.8235)
* OCR 01: 
* OCR 01: Extract symbol regions (segmentation step)
* OCR 01: Only consider first channel for color images
access_channel (Image, TmpObj_Mono, 1)
reduce_domain (TmpObj_Mono, ROI_OCR_01_0, TmpObj_MonoReduced_OCR_01_0)
* OCR 01: 
* OCR 01: Orientation Correction (for consistent border and domain
* OCR 01: handling, this is always applied, even with no rotation)
* OCR 01: 
* OCR 01: Base orientation of ROI
TmpCtrl_Orientation := -1.5708
* OCR 01: Corrected for text line orientation
TmpCtrl_RangeMin := -0.174533
TmpCtrl_RangeMax := 0.174533
text_line_orientation (TmpObj_MonoReduced_OCR_01_0, TmpObj_MonoReduced_OCR_01_0, 20, TmpCtrl_Orientation+TmpCtrl_RangeMin, TmpCtrl_Orientation+TmpCtrl_RangeMax, TmpCtrl_Orientation)
* OCR 01: Build rotation matrix
hom_mat2d_identity (TmpCtrl_MatrixIdentity)
hom_mat2d_rotate (TmpCtrl_MatrixIdentity, -TmpCtrl_Orientation, 0, 0, TmpCtrl_MatrixRotation)
* OCR 01: Apply transformation to image and domain
get_domain (TmpObj_MonoReduced_OCR_01_0, TmpObj_Domain)
get_system ('clip_region', TmpCtrl_ClipRegion)
set_system ('clip_region', 'false')
dilation_circle (TmpObj_Domain, TmpObj_DomainExpanded, 22)
affine_trans_region (TmpObj_DomainExpanded, TmpObj_DomainTransformedRaw, TmpCtrl_MatrixRotation, 'true')
smallest_rectangle1 (TmpObj_DomainTransformedRaw, TmpCtrl_Row1, TmpCtrl_Col1, TmpCtrl_Row2, TmpCtrl_Col2)
hom_mat2d_translate (TmpCtrl_MatrixIdentity, -TmpCtrl_Row1, -TmpCtrl_Col1, TmpCtrl_MatrixTranslation)
hom_mat2d_compose (TmpCtrl_MatrixTranslation, TmpCtrl_MatrixRotation, TmpCtrl_MatrixComposite)
affine_trans_region (TmpObj_Domain, TmpObj_DomainTransformed, TmpCtrl_MatrixComposite, 'true')
affine_trans_image (TmpObj_MonoReduced_OCR_01_0, TmpObj_ImageTransformed, TmpCtrl_MatrixComposite, 'constant', 'true')
dilation_circle (TmpObj_Domain, TmpObj_DomainExpanded, 22)
expand_domain_gray (TmpObj_ImageTransformed, TmpObj_ImageTransformedExpanded, 22)
reduce_domain (TmpObj_ImageTransformed, TmpObj_DomainTransformed, TmpObj_ImageTransformedReduced)
crop_part (TmpObj_ImageTransformedReduced, TmpObj_MonoReduced_OCR_01_0, 0, 0, TmpCtrl_Col2-TmpCtrl_Col1+1, TmpCtrl_Row2-TmpCtrl_Row1+1)
set_system ('clip_region', TmpCtrl_ClipRegion)
find_text (TmpObj_MonoReduced_OCR_01_0, TextModel, TmpCtrl_ResultHandle_OCR_01_0)
* OCR 01: 
* OCR 01: Read text (classification step)
* OCR 01: Gray values for reading must be dark on bright
invert_image (TmpObj_MonoReduced_OCR_01_0, TmpObj_MonoInverted_OCR_01_0)
get_text_object (Symbols_OCR_01_0, TmpCtrl_ResultHandle_OCR_01_0, 'all_lines')
clear_text_result (TmpCtrl_ResultHandle_OCR_01_0)
dev_display (TmpObj_MonoInverted_OCR_01_0)
dev_set_draw ('fill')
dev_set_colored (3)
dev_display (Symbols_OCR_01_0)
do_ocr_multi_class_mlp (Symbols_OCR_01_0, TmpObj_MonoInverted_OCR_01_0, OcrHandle, SymbolNames_OCR_01_0, Confidences_OCR_01_0)
* OCR 01: 
* OCR 01: Do something with the results
* OCR 01: 
* OCR 01: Cleanup (global)
clear_text_model (TextModel)
clear_ocr_class_mlp (OcrHandle)

解决方案指导------匹配(Matching)(1章、2章、3章) 1 第一章 简介 5 1.1 怎样使用该手册? 5 1.2 匹配是什么? 5 1.3 如何进行一般的匹配? 6 1.4 可用的方法有哪些? 6 1.5哪种方法适用于哪种情况? 7 1.5.1 匹配方法:2D与3D的比较 7 1.5.2 3D空间中3D对象和2D对象的决策 8 1.5.3 正交成像2D对象的第一个决策 10 1.5.4 基于形状的匹配VS基于相关性的匹配 11 1.5.5匹配方法的快速指南 12 第二章 总论 14 2.1 准备模板 15 2.1.1 将参考图像简化为模板图像 15 2.1.2 感兴趣区域的影响 16 2.1.2.1参照点 16 2.1.3 合成模型作为模板图像的替代品 18 2.2 模板再使用 23 2.3加快搜索速度 24 2.3.1限制搜索空间 24 2.3.2关于二次抽样 25 2.4 使用匹配结果 28 2.4.1 单个匹配方法的结果 28 2.4.2 关于转换 30 2.4.3 使用估计的二维位置和方向 33 2.4.4使用估计的二维尺度 43 2.4.5使用估计的二维单应矩阵 45 2.4.6使用估计的三维姿态 47 2.4.7关于分数 49 第三章 单个方法 50 3.1 基于灰度的匹配 50 3.2 基于相关性的匹配 51 3.2.1 一个例程 51 3.2.2选择模型ROI 53 3.2.3建立合适的NCC模型 53 3.2.4优化搜索过程 55 3.3 基于形状的匹配 56 3.3.1 一个例子 57 3.3.2选择模型ROI 60 3.3.3创建合适的形状模型 62 3.3.4优化搜索过程 69 3.3.5使用基于形状匹配的具体结果 80 3.3.6适应相机方向的改变 82 3.4基于组件的匹配 83 3.4.1一个例子 84 3.4.2提取初始组件 87 3.4.3创建合适的组件模型 88 3.4.4模型实例的搜索 95 3.4.5使用基于组件的匹配的具体结果 98 3.5局部形变匹配 100 3.5.1一个例子 100 3.5.2选择模型ROI 104 3.5.3建立合适的局部变形模型 104 3.5.4优化搜索过程 107 3.5.5使用局部形变匹配的具体结果 109 3.6透视变形匹配 111 3.6.1一个例子 112 3.6.2选择模型ROI 114 3.6.3创建合适的透视图变形模型 114 3.6.4优化搜索过程 118 3.6.5使用透视图变形匹配的具体结果 120 3.7 基于描述符的匹配 122 3.7.1一个例子 122 3.7.2选择模型ROI 125 3.7.3创建合适的描述符模型 125 3.7.4优化搜索过程 128 3.7.5使用基于描述符匹配的具体结果 130
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值