HALCON之喷码OCR识别案例

一个喷码识别的案例

image.png

read_image (Image, 'D:/用户目录/Desktop/2.png')
   
rgb1_to_gray(Image, Image)
   
get_image_size (Image, Width, Height)
   
* 获取喷码区域的方法很多 比如可以用mean+dyn的动态阈值
dots_image (Image, DotImage, 5, 'dark', 2)
threshold (DotImage, Region, 30, 255)
   
*这里是形态学运算操作 目的就是要将单体字符连在一起
*这里面用到的自定义核大家可以学习一下
closing_rectangle1 (Region, RegionClosing1, 1, 7)
closing_rectangle1 (RegionClosing1, RegionClosing2, 7, 1)
gen_rectangle2 (Rectangle, 10, 10, rad(45), 3, 0)
closing (RegionClosing2, Rectangle, RegionClosing3)
gen_rectangle2 (Rectangle, 10, 10, rad(135), 3, 0)
closing (RegionClosing3, Rectangle, RegionClosing4)
connection (RegionClosing4, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, ['area','height'], 'and', [100,50], [1000,70])
   
   
*排序为下步识别做准备
sort_region(SelectedRegions, SortedRegions, 'character', 'true', 'column')
area_center(SortedRegions, Area, Row, Column)
   
   
*识别阶段
FontName:='DotPrint.omc'
read_ocr_class_mlp(FontName, OCRHandle)
do_ocr_multi_class_mlp (SortedRegions, Image, OCRHandle, RecNum, Confidence)
   
set_display_font (3600, 27, 'mono', 'true', 'false')
for i := 0 to |RecNum| - 1 by 1
    disp_message (3600, RecNum[i], 'image', 200,Column[i], 'green', 'false')
endfor
clear_ocr_class_mlp (OCRHandle)

halcon 的 DtoPrint 预设分类器不支持小写 ,可以使用Industrial.omc , 也可以自己训练


本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

会员中心
搜索
«    2024年4月    »
1234567
891011121314
15161718192021
22232425262728
2930
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 点击查阅微信群二维码
  • 扫描加勇哥的非标自动化群,验证答案:C#/C++/VB勇哥的非标自动化群
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:
  • 留言板:

Powered By Z-BlogPHP 1.7.2

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864