[机器视觉]halcon十二 条码识别、字符识别之字符识别
流程
获取图像-》创建模型-》查找文本-》清除模型
效果
算子
create_text_model_reader : 创建文本模型
find_text : 查找文本
get_text_result :获取文本内容
set_text_model_param : 设置文本模板属性
get_text_model_param :获取文本模板属性
set_rejection_params_to_class_mlp :
create_ocr_class_mlp : 创建分类器
write_ocr_class_mlp :保存分类器
get_text_object : 获取文本区域
clear_text_model : 清除文本模板
clear_ocr_class_mlp : 清除分类器
代码
读取全部
read_image (Image, 'C:/Users/Public/Documents/MVTec/HALCON-17.12-Progress/examples/images/ocr/article_label_01.png')
create_text_model_reader ('auto', 'Universal_Rej.occ', TextModel)
*查找文本
*只是获取TextResultID文本结果ID
find_text (Image, TextModel, TextResultID)
*获取文本内容
get_text_result (TextResultID, 'class', ResultValue)
*获取文本区域
get_text_object(Characters, TextResultID, 'all_lines')
指定ROI读取区域
*获取窗口句柄对象
dev_get_window (WindowHandle)
*读取图片
read_image (Image, 'C:/Users/Public/Documents/MVTec/HALCON-17.12-Progress/examples/images/ocr/article_label_01.png')
*选取ROI
*画矩形ROI
*参数说明
*WindowHandle (输入参数)窗口句柄
*Row1, Column1 (输出参数)矩形的左上角坐标
draw_rectangle1 (WindowHandle, Row1, Column1, Row2, Column2)
*生成矩形ROI区域
*根据上面算子的输出参数生成一个矩形
*Rectangle 输出参数,生成的矩形
*Row1, Column1 (输入参数)矩形的左上角坐标
*Row2, Column2 (输入参数)矩形的右上角坐标
gen_rectangle1 (Rectangle, Row1, Column1, Row2, Column2)
*锁定ROI并创建模板(减少定义区域)
*单ROI
*获得特定区域Region位置的图像,获取区域图像
*Image (输入参数)输入的图像
*Rectangle 输入参数)输入的区域,上面画的矩形区域
*ImageReduced (输出参数)输出的图像,是Image中Rectangle的那部分图像
reduce_domain (Image, Rectangle, ImageReduced)
*创建文本模型
create_text_model_reader ('auto', 'Universal_Rej.occ', TextModel)
*查找文本
*只是获取TextResultID文本结果ID
find_text (ImageReduced, TextModel, TextResultID)
*获取文本内容
get_text_result (TextResultID, 'class', ResultValue)
*获取文本区域
get_text_object(Characters, TextResultID, 'all_lines')