public String pic2txt_test(String path) throws Exception {
String result = "";
try {
File imageFile = new File(path);
BufferedImage img = ImageIO.read(imageFile);
// img = ImageHelper.convertImageToGrayscale(img);
img = ImageHelper.convertImageToBinary(img);
img = ImageHelper.getScaledInstance(img, img.getWidth() *2,img.getHeight() *2);
ITesseract instance = new Tesseract();
File tessDataFolder = LoadLibs.extractTessResources("tessdata");
instance.setLanguage("eng+chi_sim");
instance.setTessVariable("user_defined_dpi", "300");
//instance.setTessVariable("tosp_min_sane_kn_sp", "2.8");
instance.setDatapath(tessDataFolder.getAbsolutePath());
result = instance.doOCR(img);
} catch (Exception e) {
}
return result;
}
** Правильный вывод будет 测试 文件, но Тессеракт отображает это как 测 试 文 件. нашел двух людей, которые уже сталкивались с той же проблемой при использовании Tesseract с C ++: Tesseract False Space Recognition и Как удержать Tesseract от вставки лишних пробелов в словах ?. Решения предложили изменить настройку tosp_min_sane_kn_sp. но это не сработало.
**