diff --git a/image-processing/pom.xml b/image-processing/pom.xml
index 09dd29556e..0fada1373f 100644
--- a/image-processing/pom.xml
+++ b/image-processing/pom.xml
@@ -50,12 +50,26 @@
imageio-bmp
${imageio.version}
+
+ net.sourceforge.tess4j
+ tess4j
+ ${tess4j.version}
+
+
+ org.bytedeco.javacpp-presets
+ tesseract-platform
+ ${tesseract-platform.version}
+
+
+
1.3.5
1.51h
3.3.2
+ 4.5.1
+ 4.0.0-1.4.4
\ No newline at end of file
diff --git a/image-processing/src/main/java/com/baeldung/tesseract/OAlquimista.png b/image-processing/src/main/java/com/baeldung/tesseract/OAlquimista.png
new file mode 100644
index 0000000000..5c9084058e
Binary files /dev/null and b/image-processing/src/main/java/com/baeldung/tesseract/OAlquimista.png differ
diff --git a/image-processing/src/main/java/com/baeldung/tesseract/TesseractJavaCPPExample.java b/image-processing/src/main/java/com/baeldung/tesseract/TesseractJavaCPPExample.java
new file mode 100644
index 0000000000..4afe9fe92e
--- /dev/null
+++ b/image-processing/src/main/java/com/baeldung/tesseract/TesseractJavaCPPExample.java
@@ -0,0 +1,36 @@
+package com.baeldung.tesseract;
+
+import org.bytedeco.javacpp.BytePointer;
+import org.bytedeco.javacpp.lept.PIX;
+import org.bytedeco.javacpp.tesseract.TessBaseAPI;
+import static org.bytedeco.javacpp.lept.*;
+
+public class TesseractJavaCPPExample {
+
+ public static void main(String[] args) {
+ BytePointer outText;
+
+ TessBaseAPI api = new TessBaseAPI();
+ if (api.Init("tessdata", "eng") != 0) {
+ System.err.println("Could not initialize tesseract.");
+ System.exit(1);
+ }
+
+ // Open input image with leptonica library
+ //PIX image = pixRead("src/main/java/com/baeldung/tesseract/OAlquimista.png");
+ PIX image = pixRead("src/main/java/com/baeldung/tesseract/baeldung.png");
+ api.SetImage(image);
+
+
+
+ // Get OCR result
+ outText = api.GetUTF8Text();
+ System.out.println("OCR output:\n" + outText.getString());
+
+ // Destroy used object and release memory
+ api.End();
+ outText.deallocate();
+ pixDestroy(image);
+ }
+
+}
diff --git a/image-processing/src/main/java/com/baeldung/tesseract/TesseractTess4JExample.java b/image-processing/src/main/java/com/baeldung/tesseract/TesseractTess4JExample.java
new file mode 100644
index 0000000000..127cfb018e
--- /dev/null
+++ b/image-processing/src/main/java/com/baeldung/tesseract/TesseractTess4JExample.java
@@ -0,0 +1,28 @@
+package com.baeldung.tesseract;
+
+import java.io.File;
+
+import net.sourceforge.tess4j.ITesseract;
+import net.sourceforge.tess4j.Tesseract;
+import net.sourceforge.tess4j.Tesseract1;
+import net.sourceforge.tess4j.TesseractException;
+
+public class TesseractTess4JExample {
+
+ public static void main(String[] args) {
+ File imageFile = new File("src/main/java/com/baeldung/tesseract/baeldung.png");
+ //File imageFile = new File("src/main/java/com/baeldung/tesseract/OAlquimista.png");
+ Tesseract tesseract = new Tesseract();
+ tesseract.setLanguage("spa");
+ tesseract.setPageSegMode(1);
+ tesseract.setDatapath("tessdata");
+ String result = null;
+ try {
+ result = tesseract.doOCR(imageFile);
+ } catch (TesseractException e) {
+ e.printStackTrace();
+ }
+ System.out.println(result);
+ }
+
+}
diff --git a/image-processing/src/main/java/com/baeldung/tesseract/baeldung.png b/image-processing/src/main/java/com/baeldung/tesseract/baeldung.png
new file mode 100644
index 0000000000..86155fa3ec
Binary files /dev/null and b/image-processing/src/main/java/com/baeldung/tesseract/baeldung.png differ
diff --git a/image-processing/src/main/java/com/baeldung/tesseract/outputbase.txt b/image-processing/src/main/java/com/baeldung/tesseract/outputbase.txt
new file mode 100644
index 0000000000..09e3f981e3
--- /dev/null
+++ b/image-processing/src/main/java/com/baeldung/tesseract/outputbase.txt
@@ -0,0 +1,11 @@
+“Quando vocé quer alguma coisa, todo o Universo conspira para que vocé realize seu desejo.” De
+tempos em tempos, surge um livro que muda para sempre a vida de seus leitores. O Alquimista 6 um
+deles. Com mais de 65 milhédes de exemplares vendidos no mundo inteiro, o mais famoso titulo de
+Paulo Coelho ja se estabeleceu como um classico moderno, atemporal e universal. Quase 25 anos apds
+seu langamento, segue fascinando publicos cada vez maiores, de diferentes geragdes. Simples, sabia e
+inspiradora, esta historia refaz os passos de um pastor da Andaluzia que viaja para o deserto egipcio
+em busca de um tesouro enterrado nas Piramides. O que comega como uma jornada para encontrar
+bens mate7riais torna-se uma descoberta das riquezas que escondemos dentro de nds mesmos. As
+belas ligdes que Santiago aprende pelo caminho nos falam da sabedoria de ouvir o que diz nosso
+coracgao, ler os sinais com que deparamos ao longo da vida e, acima de tudo, seguir os nossos sonhos.
+
\ No newline at end of file