开启左侧

OCR:不经训练看来是万万不行的。

[复制链接]
wenluderen 发表于 2016-11-5 09:22:32 | 显示全部楼层 |阅读模式
素材如下:
2016-11-03_095214.jpg

代码如下:

read_image(Image,  'D:/OCR专案/VesionID/11.jpg')


*将一个三通道的图像 转化三个单通道的图像。
decompose3(Image,ImageR,ImageG,ImageB)
dev_clear_window()
dev_display(ImageR)

dev_clear_window()
dev_display(ImageG)

dev_clear_window()
dev_display(ImageB)


*改变图像的颜色空间
trans_from_rgb(ImageR,ImageG,ImageB,\
               ImageResult1, ImageResult2, ImageResult3, \
               'hsv')

dev_clear_window()
dev_display(ImageResult3)



threshold (ImageResult3, Regions, 135, 255)

dev_clear_window()
dev_display(Regions)

connection (Regions, Connection)

area_center(Connection, Area1, Row1, Column1)

select_shape(Connection, SelectedRegions, 'area', 'and', 150, 499)

connection(SelectedRegions, ConnectedRegions)

dev_clear_window()
dev_display(ConnectedRegions)

sort_region(ConnectedRegions,SortRegions,'upper_left','true','column')


read_ocr_class_mlp('D:/Program Files/MVTec/HALCON-12.0/ocr/Industrial_0-9A-Z_Rej.omc',OCRHandle)

do_ocr_multi_class_mlp(SortRegions,ImageResult2,OCRHandle, Class, Confidence)

*显示识别的结果
area_center(SortRegions, Area, Row, Column)
for Index := 0 to 18 by 1
     disp_message(3600, Class[Index], 'window', Row[Index], Column[Index], 'black', 'true')
endfor





 楼主| wenluderen 发表于 2016-11-5 09:24:12 | 显示全部楼层
运行结果:

2016-11-05_092328.jpg


这两天看来要和OCR 干上了。     
 楼主| wenluderen 发表于 2016-11-5 09:31:55 | 显示全部楼层
需要用到的函数
2016-11-05_092910.jpg



2016-11-05_092925.jpg



2016-11-05_092939.jpg
 楼主| wenluderen 发表于 2016-11-5 09:36:03 | 显示全部楼层
继续还有








 楼主| wenluderen 发表于 2016-11-5 09:36:03 | 显示全部楼层
本帖最后由 wenluderen 于 2016-11-5 09:38 编辑

继续还有
2016-11-05_093219.jpg


2016-11-05_093227.jpg
2016-11-05_093327.jpg





2016-11-05_093319.jpg
Rulen 发表于 2016-11-21 15:55:03 | 显示全部楼层
训练的话可以重新确定特征库,这样才能有效通过分类器分类
lenole320 发表于 2016-11-22 13:04:52 | 显示全部楼层
话说。切割你是怎切割的,我的不训练其实还好
Criss 发表于 2016-11-22 18:04:26 | 显示全部楼层
切割就是把字符区域全部提取出来,做成单个的字符区域和我们的训练文本一一对应然后训练,这样就可以训练当前字符对应的文本了!主要是要排除干扰和不好的效果!
mozanjian123 发表于 2017-7-19 16:48:22 | 显示全部楼层
在训练字符库的时候,单个字符训练错了,怎么样能单独删除?
wh64cc 发表于 2017-7-25 14:14:22 | 显示全部楼层
51Halcon 发表于 2016-11-22 18:04
切割就是把字符区域全部提取出来,做成单个的字符区域和我们的训练文本一一对应然后训练,这样就可以训练当前字符对应的文本了!主要是要排除干扰和不好的效果!

貌似就是这样的哈!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表