draw_rectangle2

该文本描述了一个使用HALCON库进行OCR(光学字符识别)的过程,包括图像灰度化、缩放、区域连接、特征提取、模型设置以及多类别的OCR识别。文章还涉及了不同图像预处理步骤,如阈值处理、开闭运算,以优化字符检测和识别效果。
摘要由CSDN通过智能技术生成

*draw_rectangle2 (3600, Row, Column, Phi, Length1, Length2)
* rgb1_to_gray (Image, GrayImage)
* gen_rectangle2 (Rectangle, 60.518, 301.901, 0, 74.1184, 22.560)
* reduce_domain (GrayImage,Rectangle , ImageReduced)
* scale_image_max (ImageReduced, ImageScaleMax)
* char_threshold (ImageScaleMax, Rectangle, Characters, 0, 100, Threshold)
* connection (Characters, ConnectedRegions3)
* region_features (ConnectedRegions3, 'width', Value2)
* partition_dynamic (Characters, Partitioned, 27, 40)
* connection (Partitioned, ConnectedRegions2)
* region_features (ConnectedRegions2, 'width', Value)
* region_features (ConnectedRegions2, 'height', Value1)

create_text_model_reader ('manual', [], TextModel)
* set_text_model_param (TextModel, 'is_dotprint', 'false')
set_text_model_param (TextModel, 'char_width', 29)
set_text_model_param (TextModel, 'char_height', 24)
set_text_model_param (TextModel, 'stroke_width',9.3)
* set_text_model_param (TextModel, 'return_punctuation', 'false')
* set_text_model_param (TextModel, 'return_separators', 'false')
set_text_model_param (TextModel, 'uppercase_only', 'true')
* set_text_model_param (TextModel, 'fragment_size_min', 24)
* set_text_model_param (TextModel, 'add_fragments', 'false')
* set_text_model_param (TextModel, 'base_line_tolerance', 0.2)
set_text_model_param (TextModel, 'max_line_num', 1)

read_image (Image, 'D:/1-2.bmp')
gen_rectangle2 (Rectangle, 135.812, 738.993, 0.0068, 69.1218, 16.0398)
rgb1_to_gray (Image, GrayImage)

reduce_domain (GrayImage, Rectangle, ImageReduced)

scale_image_max (ImageReduced, ImageScaleMax)

read_ocr_class_mlp ('D:/MachineVisionSoftWare/MachineVisionSoftWare/bin/Debug/ocr/1-6bmp.omc', OcrHandle)
find_text (ImageScaleMax, TextModel, TmpCtrl_ResultHandle_OCR_01_0)
* OCR 01: 
* OCR 01: Read text (classification step)
get_text_object (Symbols_OCR_01_0, TmpCtrl_ResultHandle_OCR_01_0, 'all_lines')
* clear_text_result (TmpCtrl_ResultHandle_OCR_01_0)
* dev_display (ImageReduced)
* dev_set_draw ('fill')
* dev_set_colored (3)
* dev_display (Symbols_OCR_01_0)
do_ocr_multi_class_mlp (Symbols_OCR_01_0, ImageScaleMax, OcrHandle, SymbolNames_OCR_01_0, Confidences_OCR_01_0)

* threshold (ImageReduced, Region, 0, 200)
* connection (Region, ConnectedRegions)
* sort_region (ConnectedRegions, SortedRegions, 'character', 'true', 'column')
* count_obj (SortedRegions, Number)
* read_ocr_class_mlp ('C:/Program Files/MVTec/HALCON-12.0/ocr/DotPrint.omc', OCRHandle)

* threshold (GrayImage, Region1, 0, 200)
* connection (Region1, ConnectedRegions1)
* sort_region (ConnectedRegions1, SortedRegions1, 'character', 'true', 'column')
* count_obj (SortedRegions1, Number1)
* do_ocr_multi_class_mlp (SortedRegions1, GrayImage, OCRHandle, Class, Confidence)
*显示结果
* dev_clear_window ()
* dev_display (Image)
* dev_set_color ('black')
* disp_message(3600, '识别结果:', 'image', 550, 50, 'black', 'false')
* for i:=1 to Number1 by 1
*     disp_message(3600, Class[i-1], 'image', 0, 0, 'red', 'false')
* endfor


* read_image (Image, 'E:/ocr/lot_number_02.png')
* draw_rectangle2 (3600, Row, Column, Phi, Length1, Length2)
* rgb1_to_gray (Image, GrayImage)
* gen_rectangle2 (Rectangle, 247.776, 304.262, 0, 55.5228, 51.9557)
* reduce_domain (GrayImage,Rectangle , ImageReduced)
* threshold (ImageReduced, Region, 48, 157)
* connection (Region, ConnectedRegions)
* sort_region (ConnectedRegions, SortedRegions, 'character', 'true', 'column')
* count_obj (SortedRegions, Number)


* read_image (Image, 'E:/ocr/lot_number_12.png')
* draw_rectangle2 (3600, Row, Column, Phi, Length1, Length2)
* rgb1_to_gray (Image, GrayImage)
* binary_threshold (GrayImage, Region1, 'max_separability', 'dark', UsedThreshold) 
* opening_rectangle1 (Region1, RegionOpen, 10, 50)  
* closing_rectangle1 (Region1, RegionClosing, 10, 10)
* connection (Region1, ConnectedRegions)
* select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 150, 3999)
* sort_region (SelectedRegions, SortedRegions, 'character', 'true', 'column')
* count_obj (SortedRegions, Number)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值