2016-09-09 16 views
0

Я использую Java в затмении и хочу вернуть координаты всего распознанного текста, который найден. Мой код, который я достиг через tess4j в настоящее время выводит весь текст найден, этот код ниже:Java tesseract возвращает координаты текстового местоположения

import java.awt.color.ColorSpace; 
import java.awt.image.BufferedImage; 
import java.awt.image.ColorConvertOp; 
import java.io.File; 
import java.io.IOException; 

import javax.imageio.ImageIO; 

import net.sourceforge.tess4j.*; 



public class TesseractExample { 

    public static void main(String[] args) throws IOException 
    { 
     try 
     {   
       String x = System.getProperty("user.dir"); 
       File b = new File(x+"/inDCM"); 
      File imageFile = new File(b+"/surrey.png"); 
      BufferedImage img = ImageIO.read(imageFile); 
      Tesseract instance = Tesseract.getInstance(); 
      ColorSpace cs = ColorSpace.getInstance(ColorSpace.CS_GRAY); 
      ColorConvertOp op = new ColorConvertOp(cs, null); 
      op.filter(img, img); 
      try 
      { 
       String result = instance.doOCR(img); 

       System.out.println("The result is: " + result); 

      } 
      catch (TesseractException e) 
      { 
       System.out.println("error:" + e); 
      } 
     }finally{ 

     } 
    }} 

Можно ли получить координаты?

Спасибо.

ответ

0

Вы можете получить координаты через ResultIterator объект, доступный в низкоуровневом TessBaseAPI API. Примеры кода можно найти в модульных тестах в проекте repo.

+0

Благодарим за отзыв, предоставленный репозиторий был отличным. После попытки реализовать TestGetSegmentedRegions() из TesseractTest.java. Я получаю следующую ошибку в строке. 'instance.getSegmentedRegions (bi, level);' Экземпляр, который я использую, не распознает метод getSegmentedRegions(). Я не настроил что-то правильно? – Browniez

+0

Используете ли вы последнюю версию? – nguyenq

+0

Я так считаю, я загрузил его прямо с веб-сайта: terminal states: tesseract 3.03 leptonica-1.70 – Browniez