用jTessBoxEditorFX训练字库
软件下载:https://sourceforge.net/projects/vietocr/files/jTessBoxEditor/
官方字库下载:https://github.com/tesseract-ocr/tesseract/wiki/Data-Files#format-of-traineddata-files
建议:普通版本和FX版本都下载,用普通版本调整坐标,用FX版本调整汉字识别。FX版本的坐标调整不能输入数字,一旦坐标偏移太大,简直就是反人类设计。
另外,也可以直接使用普通版本,虽然在Box Editor页面里看不到汉字,但是可以用Notepad++直接打开box文件进行文字编辑。
文中用的是FX2.0beta版,有些小问题,但是不影响使用,目前正式版应该是2.2。
1、点击tools后再点击Merge TIFF,将所需要的图片集转换成tif格式,源图片集格式支持jpg和tif两种。合成的图片集命名格式为[chi_sim].[test].[exp0].tif 第一个空是字典格式,第二个字体(自定义)名字,第三个空位exp[0]。
2、生成BOX文件,D:\jTessBoxEditorFX\tesseract-ocr\tesseract.exe chi_sim.test.exp0.tif chi_sim.test.exp0 -l chi_sim batch.nochop makebox
D:\temp\train2>D:\jTessBoxEditorFX\tesseract-ocr\tesseract.exe chi_sim.test.exp1.tif chi_sim.test.exp1 -l chi_sim batch.nochop makebox Tesseract Open Source OCR Engine v4.00.00alpha with Leptonica Page 1 Page 2 Page 3 Page 4
-l chi_sim参数是使用已经有的中文训练字库 这个字库是在tessdata目录里,可以自己拷贝进去
3、调整字体坐标,调整识别错误的汉字。使用open打开刚才生成的tif文件,根据刚才生成的box文件调整字库。这个步骤才是真正核心的步骤,也是最麻烦的地方。
调整坐标建议使用普通版本,FX版本无法手动调整坐标,不知道是不是故意设置还是BUG。
merge合并的时候有几个图片文件,这里就需要按page页分别调整。
4、调整完成box文件后,就需要生成tr文件
D:\jTessBoxEditorFX\tesseract-ocr\tesseract.exe chi_sim.test.exp0.tif chi_sim.test.exp0 nobatch box.train
5、生成unicharset文件
D:\jTessBoxEditorFX\tesseract-ocr\unicharset_extractor.exe chi_sim.test.exp0.box
6、新建font_properties文件 用记事本新建一个明文font_properties.txt
内容格式为test 0 0 0 0 0,test是新建tif中间的内容(chi_sim.test.exp0.tif)。
7、在分别运行三个命令对tr特征集合进行操作
生成shape文件
D:\jTessBoxEditorFX\tesseract-ocr\shapeclustering.exe -F font_properties.txt -U unicharset chi_sim.test.exp0.tr
生成聚集字符特征文件
D:\jTessBoxEditorFX\tesseract-ocr\Mftraining.exe -F font_properties.txt -U unicharset -O unicharset chi_sim.test.exp0.tr
生成字符正常化特征文件
D:\jTessBoxEditorFX\tesseract-ocr\cntraining.exe chi_sim.test.exp0.tr
8、重命名把目录下的unicharset、inttemp、pffmtable、shapetable、normproto这五个文件前面都加上test.(就是你的tif中间的名字)
9、组合文件,成功后会生成test.traineddata训练库文件。
D:\jTessBoxEditorFX\tesseract-ocr\combine_tessdata test.(后面是有点的)
10、识别测试,把test.traineddata拷贝到D:\jTessBoxEditorFX\tesseract-ocr\tessdata目录下
D:\jTessBoxEditorFX\tesseract-ocr\tesseract chi_sim.test.exp0.tif output -l test
11、在代码中测试效果,可以全部识别出来,简单的代码之前发过(java 使用tess4j实现OCR的最简单样例)
12、如果需要识别的图形比较复杂,一般情况下不能对整张图片进行识别,需要把图片分块识别,用代码也好实现,关键是准备阶段划分图片区域比较费事。
public static void main(String args[]) throws Exception {ITesseract instance = new Tesseract();instance.setDatapath("tessdata"); //相对目录,这个时候tessdata目录和src目录平级instance.setLanguage("test");//选择字库文件(只需要文件名,不需要后缀名)try {File imageFile = new File("d:\\temp\\1.jpg");BufferedImage bufferedImage = ImageIO.read(imageFile);Rectangle rect = new Rectangle(2581,510,249,196);//按区域读取String result2 = instance.doOCR(bufferedImage,rect);System.out.println(result2);} catch (Exception e) {System.out.println(e.toString());}}
转载于:https://www.cnblogs.com/asker009/p/11119005.html
用jTessBoxEditorFX训练字库相关推荐
- Tesseract-ocr识别中文并训练字库操作指南
Tesseract-ocr识别中文并训练字库操作指南 一.Tesseract-ocr识别中文 1.Tesseract-ocr下载 2.中文语言包下载 Tesseract中文语言包 chi_sim.tr ...
- jTessBoxEditor2.3.1训练字库
Tesseract是一个开源的OCR框架,可以实现图片的文字识别,对于正常的图片识别效率还是不错,不仅能识别英文,还能识别中文,不过需要自己下载字库.Tesseract和字库官网下载由于大家都知道都原 ...
- tesseract_ocr训练字库、合并字库
谷歌的开源框架 tesseract-ocr可以帮助我们进行识别图像,文字等等,tesseract可以识别多种语言(一些常用的语言),多种图片格式,非常强大. 首先体验一下tesseract的强大功能, ...
- 使用jTessBoxEditorFX训练Tesseract-OCR 简单教程
1.前置工作 1.环境:win7x642.安装了Tesseract-OCR工具:版本 3.02.023.安装了jTessBoxEditorFX训练工具 2.需要的资料 1.TIFF(重要)与 jpg ...
- Tesseract-OCR 安装、中文识别与训练字库
简介 OCR(Optical Character Recognition):光学字符识别,是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗.亮的模式确定其形状,然后用字符识别方法将形 ...
- 图像文字识别(三):Tesseract4.0训练字库,提高正确识别率
由于tesseract的中文语言包"chi_sim"对中文手写字体或者环境比较复杂的图片,识别正确率不高,因此需要针对特定情况用自己的样本进行训练,提高识别率,通过训练,也可以形成 ...
- Tesseract OCR 训练字库
Tesseract OCR是一款由HP实验室开发由Google维护的开源OCR引擎,在字符识别领域发挥着举足轻重的作用.除了使用软件自带的中英文识别库,我们可以使用Tesseract OCR训练属于自 ...
- Tesseract训练字库研究过程中的一些问题和解决方案
tess字库版本3.05 系统 win10 64位 问题1: 根据网上一些批处理代码进行的合并字库这一步一直出现奇怪的错误,如下: Error: Unable to open ECHO! " ...
- OCR文字识别:Tesseract-4.00训练字库
由于tesseract的中文语言包"chi_sim"对中文手写字体或者环境比较复杂的图片,识别正确率不高,因此需要针对特定情况用自己的样本进行训练,提高识别率,通过训练,也可以形成 ...
最新文章
- 机会与挑战:2019人工智能应用趋势预测
- Bzoj3530: [Sdoi2014]数数
- 加工中心局部坐标系g52设定_CNC加工中心程序代码大全,数控加工必备!
- 《中国人工智能学会通讯》——4.7 当前研究热点
- vue项目实现列表页-详情页返回不刷新,再点其他菜单项返回刷新的需求
- 【算法分析与设计】基数排序
- 2012届华为上机考试题目与参考答案
- OPENWRT安装配置指南之 17.01.4 LEDE
- mysql case when like_mysql 中casewhen用法
- ❤️❤️❤️前端成神之路必看学习资源(二),建议收藏起来,偷偷学习!!!❤️❤️❤️
- oa人员导入模板_九思OA办公系统平台:提高企业综合办公能力,助力企业高速成长...
- 除去发票中的红色印章(C++,Open CV 4)
- Python+Selenium实现新浪微博自动登录
- python的运行过程_python执行流程
- Lattice:1、MachXO系列CPLD器件专业名词(缩略语及器件介绍)
- iphoneXR的tabbar底部图片的适配
- VMware 开启虚拟机就报错:发生错误,导致虚拟 CPU 进入关闭状态。如果虚拟机外部发生此错误,则可能已导致物理计算机重新启动。错误配置虚拟机、客户机操作系统中的错误或 VMware Workst
- 计算机信息管理面试自我介绍,信息管理专业的面试自我介绍
- 51信用卡清退P2P业务,大量资金逾期!投资人或难保本金
- 宝宝生活点滴(2010.05)