Blob分析---bottlet.hdev(OCR字符训练,和bottle.hdev一起看)

目录

一、程序源码分析

1、第一步:从酒瓶上分割出字符

2、第二步:训练文件生成

3、第三步: 训练

二、相关算子

1、fill_up_shape(Region : RegionFillUp : Feature, Min, Max : )

2、dev_set_shape ('rectangle1')

3、dev_set_check ('~give_error')

4、delete_file (TrainingFileName)

5、dev_set_check ('give_error')

6、append_ocr_trainf(Character, Image : : Class, TrainingFile : )

7、create_ocr_class_mlp( : : WidthCharacter, HeightCharacter, Interpolation, Features, Characters, NumHidden, Preprocessing, NumComponents, RandSeed : OCRHandle)

8、trainf_ocr_class_mlp( : : OCRHandle, TrainingFile, MaxIterations, WeightTolerance, ErrorTolerance : Error, ErrorLog)

9、write_ocr_class_mlp (OCRHandle, FontName)


一、程序源码分析

  • OCR字符训练,字体是被用在"bottle.hdev"示例中

1、第一步:从酒瓶上分割出字符

  • 窗口显示更新关闭、关闭显示窗口、打开新的窗口(窗口大小是图像的两倍)

FontName := 'bottle' // 定义一个字符串变量FontName ,内容是bottle
dev_update_window ('off')
read_image (Bottle, 'bottle2')
get_image_size (Bottle, Width, Height)
dev_close_window ()
dev_open_window (0, 0, 2 * Width, 2 * Height, 'black', WindowID)
dev_display(Bottle)
set_display_font (WindowID, 27, 'mono', 'true', 'false')
  • 预处理分割瓶身上的字符
threshold (Bottle, RawSegmentation, 0, 95)

fill_up_shape (RawSegmentation, RemovedNoise, 'area', 1, 5) // 对区域面积在1-5之间的进行孔洞填充,目的就是为了消除噪声
opening_circle (RemovedNoise, ThickStructures, 2.5)
// ThickStructures是以圆形为卷积核开运算后的图像,对其进行填充得到Solid
fill_up (ThickStructures, Solid)
// 进一步消除图像中干扰
opening_rectangle1 (Solid, Cut, 1, 7)

connection (Cut, ConnectedPatterns)
intersection (ConnectedPatterns, ThickStructures, NumberCandidates) // 将字符的原本形态恢复
select_shape (NumberCandidates, Numbers, 'area', 'and', 300, 9999)
sort_region (Numbers, FinalNumbers, 'first_point', 'true', 'column')

dev_display (Bottle)
dev_set_color ('green')
dev_set_line_width (2)
// 将文字区域以矩形形式输出
dev_set_shape ('rectangle1')
dev_set_draw ('margin')
dev_display (FinalNumbers)

  • 以矩形形式显示分割出来的文本

2、第二步:训练文件生成

// 训练的内容就是上文分割出来的字符
TrainingNames := ['0', '1', '0', '8', '9', '4'] 

// 训练文件名称,这里会把文件放在.hdev同目录下。如果想要放在想要的地方就得这么写:TrainingFileName := C:/ + FontName &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

盾山狂热粉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值