tess4j: NullPointerException while reading text in rectangle of image.

1,242 views
Skip to first unread message

Dattatraya Tembare

unread,
Jun 9, 2018, 3:07:02 PM6/9/18
to tesseract-ocr
I'm trying to read the text from an image at some particular location in an image. I have image dimensions and desired rectangle dometions.
Here is the code implementation:

public static void main(String[] args) {
 
String fileStr = "C:/EA/mp-out/im/1/3/1-0.png";
 
File file = new File(fileStr);
 
//380x45+220+170
 
int xsize = 0;
 
int ysize = 0;
 
BufferedImage bufImage;
 
ByteBuffer buf = null;
 
try {
 bufImage
= ImageIO.read(file);
 
IIOImage image=new IIOImage(bufImage,null,null);
 buf
= ImageIOHelper.getImageByteBuffer(image);
 
} catch (IOException e2) {
 e2
.printStackTrace();
 
}
 
Rectangle rect = new Rectangle(0, 0, 600, 265); // define an equal or smaller region of interest on the image
 
int bpp = 8; //Gray=8, RGB=24
 
 
Tesseract in = new ReadImageText().getTesseractInstance("C:/Program Files (x86)/Tesseract-OCR/tessdata/", "hin");
 
try {
 
String resultText = in.doOCR(xsize, ysize, buf, rect, bpp);
 log
.info("resultText: {}", resultText);
 
} catch (TesseractException e) {
 e
.printStackTrace();
 
}
 
}

When I have executed the code, go below error: 

java.lang.NullPointerException: null
 at net
.sourceforge.tess4j.Tesseract.getOCRText(Tesseract.java:434)
 at net
.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:351)
 at net
.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:323)
 at com
.ea.ocr.tesseract.ReadImageText.main(ReadImageText.java:74)

Please look into it and let me know if anyone has any idea.

Dattatraya Tembare

unread,
Jun 9, 2018, 3:21:39 PM6/9/18
to tesseract-ocr
I have used another method, and it worked perfectly.

public static void main(String[] args) {
 
String fileStr = "C:/EA/mp-out/im/1/3/1-0.png";
 
File file = new File(fileStr);
 
//380x45+220+170
 
int xsize = 0;
 
int ysize = 0;

 
BufferedImage bufImage=null;

 
ByteBuffer buf = null;
 
try {
 bufImage
= ImageIO.read(file);
 
IIOImage image=new IIOImage(bufImage,null,null);
 buf
= ImageIOHelper.getImageByteBuffer(image);
 
} catch (IOException e2) {
 e2
.printStackTrace();
 
}

 
Rectangle rect = new Rectangle(220, 170, 380, 45); // define an equal or smaller region of interest on the image

 
int bpp = 8; //Gray=8, RGB=24
 
 
Tesseract in = new ReadImageText().getTesseractInstance("C:/Program Files (x86)/Tesseract-OCR/tessdata/", "hin");
 
try {

 
String resultText = in.doOCR(bufImage, rect);
 
//in.doOCR(xsize, ysize, buf, rect, bpp);

ShreeDevi Kumar

unread,
Jun 9, 2018, 3:24:05 PM6/9/18
to tesser...@googlegroups.com

--
You received this message because you are subscribed to the Google Groups "tesseract-ocr" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tesseract-oc...@googlegroups.com.
To post to this group, send email to tesser...@googlegroups.com.
Visit this group at https://groups.google.com/group/tesseract-ocr.
To view this discussion on the web visit https://groups.google.com/d/msgid/tesseract-ocr/243234f1-405a-45bb-a249-dd8eebd0e9f9%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Dattatraya Tembare

unread,
Jun 10, 2018, 11:26:22 PM6/10/18
to tesser...@googlegroups.com
Thank you!

To unsubscribe from this group and stop receiving emails from it, send an email to tesseract-ocr+unsubscribe@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "tesseract-ocr" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tesseract-ocr+unsubscribe@googlegroups.com.

To post to this group, send email to tesser...@googlegroups.com.
Visit this group at https://groups.google.com/group/tesseract-ocr.

For more options, visit https://groups.google.com/d/optout.



--
Best Regards,
Dattatraya Tembare
Reply all
Reply to author
Forward
0 new messages