Tesseract ocr 中文批量训练脚本

Tesseract ocr 中文批量训练脚本

@echo off 

 

set “src=%1%” 

set “font_name=%2%”

set “desc=%3%” 

 

 

if  not  defined src set /p src=” please pass your filename : “

 

if  not  defined font_name set /p font_name=” please pass your font_name : “

 

rem 判断参数的合法性

 

if  not  defined src echo  IllegalArgumentException arg1 must not be null &  pause>nul & exit

 

if  not  defined font_name echo  IllegalArgumentException arg2 must not be null &  pause>nul & exit

 

if  not  defined desc set “desc=%src:~0,-4%”  

 

 echo desc %desc%

 

rem 如果目录下没有font_properties 文件创建 font_properties ,并写入文件

if exist font_properties (

 echo  font_properties exist

) else (

ECHO  %font_name% 0 0 0 0 0  >”font_properties”

)

 

rem  删除原有文件  

if exist %font_name%.unicharset ECHO DEL %font_name%.unicharset &   DEL  /Q  names %font_name%.unicharset

if exist %font_name%.inttemp  ECHO DEL %font_name%.inttemp &  DEL  /Q  names %font_name%.inttemp

if exist %font_name%.pffmtable  ECHO DEL %font_name%.pffmtable &  DEL  /Q  names %font_name%.pffmtable

if exist %font_name%.shapetable ECHO DEL %font_name%.shapetable & DEL  /Q  names %font_name%.shapetable

if exist %font_name%.normproto ECHO DEL %font_name%.normproto & DEL  /Q  names %font_name%.normproto

if exist %font_name%.font_properties ECHO DEL %font_name%.font_properties & DEL  /Q  names %font_name%.font_properties

 

rem   makebox

 

tesseract  %src%  %desc%   -l chi_sim -psm 6 batch.nochop makebox

 

java -Xms128m -Xmx512m -jar jTessBoxEditor/jTessBoxEditor.jar

 

ECHO Please change your results , and press any key to continue

 

pause>nul 

  

tesseract  %src%  %desc%  -l chi_sim -psm 6 nobatch box.train

 

unicharset_extractor %desc%.box

 

shapeclustering -F font_properties -U unicharset %desc%.tr

 

mftraining -F font_properties -U unicharset -O  unicharset %desc%.tr

 

cntraining %desc%.tr

 

 

rem  配置新文件

if exist unicharset ECHO rename unicharset %font_name%.unicharset &  rename unicharset %font_name%.unicharset

if exist inttemp ECHO rename inttemp %font_name%.inttemp &  rename inttemp %font_name%.inttemp

if exist pffmtable ECHO rename pffmtable %font_name%.pffmtable &  rename pffmtable %font_name%.pffmtable

if exist shapetable ECHO rename shapetable %font_name%.shapetable &  rename shapetable %font_name%.shapetable

if exist normproto ECHO rename normproto %font_name%.normproto &  rename normproto %font_name%.normproto

 

combine_tessdata %font_name%.

 

if exist font_properties ECHO rename font_properties %font_name%.font_properties & rename font_properties %font_name%.font_properties

 

ECHO  press any key to continue

pause>nul 

 

 

转载于:https://my.oschina.net/rock912/blog/609780

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/109157.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java的定时器_JAVA定时任务

    Java的定时器_JAVA定时任务总结一下我使用过的4种类型的定时器:@Scheduled注解、quartz、newTimer().schedule、使用线程控制。1.@Scheduled注解@Scheduled注解是最简单的方式,只需要启用定时器,在方法上添加注解即可。在spring配置中加入:<!–启用注解定时器–> <task:annotation-driven/>…

    2022年9月16日
    0
  • Vue学习之v-if和v-for指令「建议收藏」

    Vue学习之v-if和v-for指令「建议收藏」Vue学习之v-if和v-for指令

    2022年4月23日
    100
  • c++和java区别_科普:Java 和 C++ 有何区别[通俗易懂]

    c++和java区别_科普:Java 和 C++ 有何区别[通俗易懂]我是一名Java工程师,平时用C++的时候并不多,这篇文章讲述了两者的区别。欢迎大家关注我。Java和C++都是面向对象语言。也就是说,它们都能够实现面向对象思想(封装,继乘,多态)。而由于C++为了照顾大量的C语言使用者,而兼容了C,使得自身仅仅成为了带类的C语言,多多少少影响了其面向对象的彻底性!Java则是完全的面向对象语言,它句法更清晰,规模更小,更易学。它是在对多…

    2022年7月7日
    26
  • 作为程序员,你真的刻意练习了吗

    点击上方☝Java编程技术乐园,轻松关注!及时获取有趣有料的技术文章我真的刻意练习了吗刻意练习真的很重要,作为一名程序员,在读完这本书之后,也听了有关这本书的一些解读。有一些自己的感受。我是大四的下学期开始健身的,不到三个月的时间,能明显感觉到自己有了胸肌和腹肌。而在没有去健身房之前,平时也会去跑跑步,去操场上玩玩双杆,然后做几个引体向上,在宿舍也做几个俯卧撑,但是这些练…

    2022年2月28日
    49
  • GBDT算法简介_gbdt算法原理

    GBDT算法简介_gbdt算法原理在网上看到一篇GBDT介绍非常好的文章,GBDT大概是非常好用又非常好用的算法之一了吧(哈哈两个好的意思不一样)        GBDT(Gradient Boosting Decision Tree) 又叫 MART(Multiple Additive Regression Tree),是一种迭代的决策树算法,该算法由多棵决策树组成,所有树的结论累加起来做最终答

    2022年10月12日
    0
  • linux设置ip默认,Linux设置ip地址与默认网关[通俗易懂]

    linux设置ip默认,Linux设置ip地址与默认网关[通俗易懂]1.设置ip地址打开终端,取得root权限(sudosu)。输入命令:#ifconfigeth0192.168.0.20netmask255.255.255.0详解:ifconfig—设置ip的命令eth0—要设置的网卡,可以只输入ifconfig查看已安装网卡192.168.0.20—预设置的IP值。netmask255.255.255.0—子网掩…

    2022年5月27日
    54

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号