tesseract 字库文件怎么打开
答案:2 悬赏:30 手机版
解决时间 2021-01-30 20:17
- 提问者网友:我是女神我骄傲
- 2021-01-30 01:13
tesseract 字库文件怎么打开
最佳答案
- 五星知识达人网友:大漠
- 2021-01-30 01:24
rce proportional word segmentation on all rows.
edges_max_children_per_outline 40 Max number of children inside a character outline. Increase this value if some of KANJI characters are not recognized (rejected).
以下是代码
engine.SetVariable("chop_enable ", "F");
engine.SetVariable("enable_new_segsearch", 0);
engine.SetVariable("use_new_state_cost ", "F");
engine.SetVariable("segment_segcost_rating", "F");
engine.SetVariable("language_model_ngram_on", 0);
engine.SetVariable("textord_force_make_prop_words", "F");
engine.SetVariable("edges_max_children_per_outline", 50);
这里面chop_enable参数与官网推荐的不太一样,我发现按照官网的设置,会有很多文字识别不出来。
第五步,开始识别。
var page = engine.Process(p);
var testText = page.GetText();
var c=page.GetMeanConfidence();
第一行代码返回一个Page对象,通过该对象可以获得识别的文本,而且还可以获得识别文本所在位置(这个在识别非固定模式文档时非常有用,可以根据关键字动态查找识别字段位置)。
在例子中OCR做全文识别,但是做全文识别很多情况下识别质量一般,最好增加识别区域参数,同时将PageSegMode参数设置为PageSegMode.SingleBlock(代表多行大小相同的文字)或PageSegMode.SingleRow(代表单行大小相同的文字)。
第二行和第三行分别返回识别的文本与识别的信任度。在实际使用时我发现识别信任度不是特别有用。无论识别对错,信任度基本在0.7左右,有些时候信任度较高,识别结果反而是错误的。
经过以上几步,就可以完成日文的OCR。但要让以上代码成功运行,还必须要在安装VC++运行时2012,否则会报错。
我使用以上方法对扫描图片进行测试,发现识别精确度还是比较高的,尤其在指定区域与PageSegMode参数后。但是日文字库也存在一些低级失误,如将数字“1”识别成了汉字“一”等。如果要想解决这个问题,必须要从头训练日文,这个工作量非常大!而这真的是Tesseract一个非常不智能的地方,应该支持在原有训练字库的基础上追加训练内容!或者在官网上提供Box文件和训练用Tif供开发者下载。
edges_max_children_per_outline 40 Max number of children inside a character outline. Increase this value if some of KANJI characters are not recognized (rejected).
以下是代码
engine.SetVariable("chop_enable ", "F");
engine.SetVariable("enable_new_segsearch", 0);
engine.SetVariable("use_new_state_cost ", "F");
engine.SetVariable("segment_segcost_rating", "F");
engine.SetVariable("language_model_ngram_on", 0);
engine.SetVariable("textord_force_make_prop_words", "F");
engine.SetVariable("edges_max_children_per_outline", 50);
这里面chop_enable参数与官网推荐的不太一样,我发现按照官网的设置,会有很多文字识别不出来。
第五步,开始识别。
var page = engine.Process(p);
var testText = page.GetText();
var c=page.GetMeanConfidence();
第一行代码返回一个Page对象,通过该对象可以获得识别的文本,而且还可以获得识别文本所在位置(这个在识别非固定模式文档时非常有用,可以根据关键字动态查找识别字段位置)。
在例子中OCR做全文识别,但是做全文识别很多情况下识别质量一般,最好增加识别区域参数,同时将PageSegMode参数设置为PageSegMode.SingleBlock(代表多行大小相同的文字)或PageSegMode.SingleRow(代表单行大小相同的文字)。
第二行和第三行分别返回识别的文本与识别的信任度。在实际使用时我发现识别信任度不是特别有用。无论识别对错,信任度基本在0.7左右,有些时候信任度较高,识别结果反而是错误的。
经过以上几步,就可以完成日文的OCR。但要让以上代码成功运行,还必须要在安装VC++运行时2012,否则会报错。
我使用以上方法对扫描图片进行测试,发现识别精确度还是比较高的,尤其在指定区域与PageSegMode参数后。但是日文字库也存在一些低级失误,如将数字“1”识别成了汉字“一”等。如果要想解决这个问题,必须要从头训练日文,这个工作量非常大!而这真的是Tesseract一个非常不智能的地方,应该支持在原有训练字库的基础上追加训练内容!或者在官网上提供Box文件和训练用Tif供开发者下载。
全部回答
- 1楼网友:从此江山别
- 2021-01-30 02:56
支持一下感觉挺不错的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯