现在网上找到的都是很粗暴的,直接安装好环境后,用command在linux的tesseract安装包下打出 tesseract image.png testresult -l chi_tra 这样的命令行,得到testresult.txt结果,读取内容后再删除图片和testresult.txt
这样效率差,而且识别效果也差
测试后发现,输入一个中文字的图片,使用代码可以识别而使用命令行则无法识别
而代码却又及其简答, 不知为何没有人会用,囧RZ
代码如下:
public class TraditionalNameTesseract implements TesseractOCR{
@Override
public String ocrWithMat(Mat mat) {
Tesseract instance = new Tesseract();
if(OpencvXTess4jConfig.tessdataPath!=null){
instance.setDatapath(OpencvXTess4jConfig.tessdataPath);
}
instance.setLanguage("chi_tra");
BufferedImage bi = new MatToBufImg(mat,".png").getImage();
String result =null;
try {
result = instance.doOCR(bi);
result = result.trim();
} catch (TesseractException e) {
e.printStackTrace();
}
return result;
}
}