Skip to content

Commit 80b4feb

Browse files
committed
Refactor
1 parent dbe6903 commit 80b4feb

File tree

7 files changed

+44
-19
lines changed

7 files changed

+44
-19
lines changed

src/main/java/net/sourceforge/tess4j/ITesseract.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -223,5 +223,5 @@ public enum RenderedFormat {
223223
* @return
224224
* @throws TesseractException
225225
*/
226-
List<Rectangle> getRegions(BufferedImage bi, int level) throws TesseractException;
226+
List<Rectangle> getSegmentedRegions(BufferedImage bi, int level) throws TesseractException;
227227
}

src/main/java/net/sourceforge/tess4j/Tesseract.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -573,7 +573,7 @@ private void createDocuments(String filename, TessResultRenderer renderer) throw
573573
* @throws TesseractException
574574
*/
575575
@Override
576-
public List<Rectangle> getRegions(BufferedImage bi, int level) throws TesseractException {
576+
public List<Rectangle> getSegmentedRegions(BufferedImage bi, int level) throws TesseractException {
577577
init();
578578
setTessVariables();
579579

src/main/java/net/sourceforge/tess4j/Tesseract1.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -541,7 +541,7 @@ private void createDocuments(String filename, TessResultRenderer renderer) throw
541541
* @throws TesseractException
542542
*/
543543
@Override
544-
public List<Rectangle> getRegions(BufferedImage bi, int level) throws TesseractException {
544+
public List<Rectangle> getSegmentedRegions(BufferedImage bi, int level) throws TesseractException {
545545
init();
546546
setTessVariables();
547547

src/test/java/net/sourceforge/tess4j/ProgressMonitor.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ String getMessage() {
4040
public void run() {
4141
try {
4242
while (true) {
43-
logger.error("ocr alive: " + (monitor.ocr_alive == TRUE));
44-
logger.error("progress: " + monitor.progress);
43+
logger.info("ocr alive: " + (monitor.ocr_alive == TRUE));
44+
logger.info("progress: " + monitor.progress);
4545
outputMessage.append(monitor.more_to_come);
4646
if (monitor.progress >= 100) {
4747
break;

src/test/java/net/sourceforge/tess4j/Tesseract1Test.java

+8-5
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,9 @@
4545
import org.slf4j.Logger;
4646
import org.slf4j.LoggerFactory;
4747

48+
import static org.junit.Assert.assertArrayEquals;
49+
import static org.junit.Assert.assertEquals;
50+
import static org.junit.Assert.assertTrue;
4851
import static org.junit.Assert.assertArrayEquals;
4952
import static org.junit.Assert.assertEquals;
5053
import static org.junit.Assert.assertTrue;
@@ -233,7 +236,8 @@ public void testExtendingTesseract1() throws Exception {
233236
int pageIteratorLevel = TessPageIteratorLevel.RIL_WORD;
234237
logger.info("PageIteratorLevel: "
235238
+ Utils.getConstantName(pageIteratorLevel, TessPageIteratorLevel.class));
236-
List<Word> result = instance1.getWords(imageFile, pageIteratorLevel);
239+
BufferedImage bi = ImageIO.read(imageFile);
240+
List<Word> result = instance1.getWords(bi, pageIteratorLevel);
237241

238242
// print the complete result
239243
for (Word word : result) {
@@ -250,13 +254,12 @@ public void testExtendingTesseract1() throws Exception {
250254

251255
class Tess1Extension extends Tesseract1 {
252256

253-
public List<Word> getWords(File file, int pageIteratorLevel) {
257+
public List<Word> getWords(BufferedImage bi, int pageIteratorLevel) {
254258
this.init();
255259
this.setTessVariables();
256260

257261
List<Word> words = new ArrayList<Word>();
258262
try {
259-
BufferedImage bi = ImageIO.read(file);
260263
setImage(bi, null);
261264

262265
TessBaseAPIRecognize(this.getHandle(), null);
@@ -292,7 +295,7 @@ public List<Word> getWords(File file, int pageIteratorLevel) {
292295
}
293296

294297
/**
295-
* Test of getRegions method, of class Tesseract1.
298+
* Test of getSegmentedRegions method, of class Tesseract1.
296299
*/
297300
@Test
298301
public void testGetRegions() throws Exception {
@@ -301,7 +304,7 @@ public void testGetRegions() throws Exception {
301304
BufferedImage bi = ImageIO.read(imageFile);
302305
int level = TessPageIteratorLevel.RIL_SYMBOL;
303306
logger.info("PageIteratorLevel: " + Utils.getConstantName(level, TessPageIteratorLevel.class));
304-
List<Rectangle> result = instance.getRegions(bi, level);
307+
List<Rectangle> result = instance.getSegmentedRegions(bi, level);
305308
for (int i = 0; i < result.size(); i++) {
306309
Rectangle rect = result.get(i);
307310
logger.info(String.format("Box[%d]: x=%d, y=%d, w=%d, h=%d", i, rect.x, rect.y, rect.width, rect.height));

src/test/java/net/sourceforge/tess4j/TesseractTest.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,8 @@ public void testExtendingTesseract() throws Exception {
251251
instance1.setDatapath(new File(datapath).getPath());
252252
int pageIteratorLevel = TessPageIteratorLevel.RIL_WORD;
253253
logger.info("PageIteratorLevel: " + Utils.getConstantName(pageIteratorLevel, TessPageIteratorLevel.class));
254-
List<Word> result = instance1.getTextElements(imageFile, pageIteratorLevel);
254+
BufferedImage bi = ImageIO.read(imageFile);
255+
List<Word> result = instance1.getWords(bi, pageIteratorLevel);
255256

256257
//print the complete result
257258
for (Word word : result) {
@@ -271,13 +272,12 @@ public void testExtendingTesseract() throws Exception {
271272
*/
272273
class TessExtension extends Tesseract {
273274

274-
public List<Word> getTextElements(File file, int pageIteratorLevel) {
275+
public List<Word> getWords(BufferedImage bi, int pageIteratorLevel) {
275276
this.init();
276277
this.setTessVariables();
277278

278279
List<Word> words = new ArrayList<Word>();
279280
try {
280-
BufferedImage bi = ImageIO.read(file);
281281
setImage(bi, null);
282282

283283
TessAPI api = this.getAPI();
@@ -314,7 +314,7 @@ public List<Word> getTextElements(File file, int pageIteratorLevel) {
314314
}
315315

316316
/**
317-
* Test of getRegions method, of class Tesseract.
317+
* Test of getSegmentedRegions method, of class Tesseract.
318318
*/
319319
@Test
320320
public void testGetRegions() throws Exception {
@@ -323,7 +323,7 @@ public void testGetRegions() throws Exception {
323323
BufferedImage bi = ImageIO.read(imageFile);
324324
int level = TessPageIteratorLevel.RIL_SYMBOL;
325325
logger.info("PageIteratorLevel: " + Utils.getConstantName(level, TessPageIteratorLevel.class));
326-
List<Rectangle> result = instance.getRegions(bi, level);
326+
List<Rectangle> result = instance.getSegmentedRegions(bi, level);
327327
for (int i = 0; i < result.size(); i++) {
328328
Rectangle rect = result.get(i);
329329
logger.info(String.format("Box[%d]: x=%d, y=%d, w=%d, h=%d", i, rect.x, rect.y, rect.width, rect.height));

src/test/java/net/sourceforge/tess4j/Word.java

+26-4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,18 @@
1+
/**
2+
* Copyright @ 2015 Quan Nguyen
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
5+
* use this file except in compliance with the License. You may obtain a copy of
6+
* the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12+
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13+
* License for the specific language governing permissions and limitations under
14+
* the License.
15+
*/
116
package net.sourceforge.tess4j;
217

318
import java.awt.Rectangle;
@@ -11,10 +26,17 @@ class Word {
1126
private final float confidence;
1227
private final Rectangle rect;
1328

14-
public Word(String text, float confidence, Rectangle rect) {
29+
/**
30+
* Constructor.
31+
*
32+
* @param text
33+
* @param confidence
34+
* @param boundingBox
35+
*/
36+
Word(String text, float confidence, Rectangle boundingBox) {
1537
this.text = text;
1638
this.confidence = confidence;
17-
this.rect = rect;
39+
this.rect = boundingBox;
1840
}
1941

2042
/**
@@ -34,12 +56,12 @@ public float getConfidence() {
3456
/**
3557
* @return the bounding box
3658
*/
37-
public Rectangle getRect() {
59+
public Rectangle getBoundingBox() {
3860
return rect;
3961
}
4062

4163
@Override
4264
public String toString() {
43-
return String.format("%s\t[Confidence: %f Bounding box: %d %d %d %d]", text, confidence, rect.x, rect.y, rect.width, rect.height);
65+
return String.format("%s [Confidence: %f Bounding box: %d %d %d %d]", text, confidence, rect.x, rect.y, rect.width, rect.height);
4466
}
4567
}

0 commit comments

Comments
 (0)