SlideShare a Scribd company logo
Image to Text Converter
BY,
DHIRAJ RAJ,
MANVENDRA PRIYADARSHI,
Content :
 AIM
 Technology Used
 Procedure
 Algo I
 Algo II
 Algo III
 Algo IV (Part 1 & 2)
 Algo V (Part 1 & 2)
 Advantage
 Limitations
 Conclusion
Aim :
 To build an application to extract text from image.
Technology Used :
 Language : Java
 IDE : NetBeans
Procedure :
 Step 1 : Firstly, we have change the color of background to be white and
the color of text to be black.
 Step 2 : Now, we separate every sentence from the given segment.
 Step 3 : Then, we split each sentence into words.
 Step 4 : Each word will then split into letters.
 Step 5 : Now, we convert the obtained letter into 100x100 pixels.
 Step 6 : Then, we match the letter with predefined strips of co-ordinate
and validate the letter to be specified one.
 Step 7 : Finally, we display the corresponding letter as an output.
Algo I :
 To change the color of image, we have used predefined class ‘Color’ which
is available in java.awt package.
 Color c1 = new Color(255, 255, 255); // for White
 Color c2 = new Color(0, 0, 0); // for Black
Input : Output :
Algo II :
 Now, we separate each sentence from the given segment.
 We start searching horizontally, all the portion of text (in black) area and
count it separately for every horizontal line and store it into an array.
 Then we look for that line which has white portion and the previous line
should have some text portion and store the co-ordinate of that line into
an array.
 Then we also look for that line which has white portion and the next line
should have some text portion and store the co-ordinate of that line into
the same array.
 Now, we have the co-ordinates of image from which we need to separate
the image.
Algo II continues….
 We have created an array of BufferedImage type to store the separated images.
 BufferedImage imgs[ ] = new BufferedImage[size];
 Then we defined the dimension for the portion of image to that array, which is need to
be separated.
 We used predefined method drawImage() for separating the image.
Output :Input :
Algo III :
 Now, we split each word from the sentence.
 We start searching vertically, all the portion of text (in black) area and count it
separately for every vertical line and store it into an array.
 Then we look for that line which has white portion and the increment the
counter by one until we find a line which has text portion onto it and store
value of counter into an array and the co-ordinate of that line into another
array and use ‘continue’ keyword to skip that iteration and execute next
iteration. Also, assign zero to counter so that it calculate next gap.
 Then we find the maximum value from the counter and store the co-ordinate
of the corresponding line into an array .
 Now, we have the co-ordinates of image from which we need to separate the
image.
Algo III continues….
 Again, we have created an array of BufferedImage type to store the separated images.
 BufferedImage imgs[ ] = new BufferedImage[size];
 Then we defined the dimension for the portion of image to that array, which is need to
be separated.
 We used predefined method drawImage() for separating the image.
Input : Output :
Algo IV (Part 1 : Font Text)
 Now, we split each letter (font text) from the word.
 We start searching vertically, all the portion of text (in black) area and
count it separately for every vertical line and store it into an array.
 Then we look for that line which has white portion and the previous line
should have some text portion and we shift the value to adjust the gap
then store the co-ordinate of that line into an array.
 Now, we have the co-ordinates of image from which we need to separate
the image.
Algo IV (Part 1 : Font Text) continues….
 Again, we have created an array of BufferedImage type to store the separated images.
 BufferedImage imgs[ ] = new BufferedImage[size];
 Then we defined the dimension for the portion of image to that array, which is need to
be separated.
 We used predefined method drawImage() for separating the image.
Input : Output :
Algo IV (Part 2 : Hand written Text)
 Now, we split each letter (hand written text) from the word.
 We start searching vertically, all the portion of text (in black) area and
count it separately for every vertical line and store it into an array.
 Then we look for that line which has minimum portion of text and store
the co-ordinate of that line into an array.
 We find the line which is next to the stored co-ordinate of minimum
portion of text and if it is more than all the minimum portions stored in the
array then we shift the value to adjust the gap then store the co-ordinate
of that line into another array.
 Now, we have the co-ordinates of image from which we need to separate
the image.
Algo IV (Part 2 : Hand written Text)
continues….
 Again, we have created an array of BufferedImage type to store the separated images.
 BufferedImage imgs[ ] = new BufferedImage[size];
 Then we defined the dimension for the portion of image to that array, which is need to
be separated.
 We used predefined method drawImage() for separating the image.
Input : Output :
Algo V (Part 1) :
 We convert the obtained image of letter into 100x100 pixels.
 For this purpose we convert the size of image into 100x100 pixels.
 We used predefined method drawImage() for changing the pixels of the
image.
Input : Output :
Algo V (Part 2) :
 We have defined some strips condition for letters (particularly for A, B, C &
D).
 We match the image with predefined strips of co-ordinate.
 If the image matches every strips condition then it get validated for that
letter.
 And, we display the corresponding letter as an output.
Input : Output :
ABCD
Advantage :
 Image to text converter utility helps in format portability and compatibility
that serves the purpose of using conversion from one format to another. In
the present scenario, interchangeable formats are more in demand and
software developers around the world need utilities that can convert files
from one format to another easily and without too much hassle. This is
where the ‘Image To Text Converter’ utility comes into play and the
benefits of using the same are required. Further, many of the media
houses use the converted files to store and retrieve data whenever they
need. This helps in files restoring of image files at one's convenience
making life easier for everyone in the process.
Limitations :
 The first co-ordinate (0,0) of the image should not be the portion of text.
 The handwritten text extracting process is successful for few letters yet.
 The joining portion of the hand written text should not have more
thickness.
Conclusion :
 By this project we can come to the conclusion that we can convert image’s texts into
editable text.
References :
 http://alvinalexander.com/blog/post/java/getting-rgb-values-for-each-pixel-in-image-
using-java-bufferedi
 http://alvinalexander.com/java/java-image-how-to-crop-image-in-java
 http://kalanir.blogspot.in/2010/02/how-to-split-image-into-chunks-java.html
 http://www.codejava.net/java-se/graphics/how-to-resize-images-in-java
Thank You

More Related Content

What's hot

Computer Networks-1 1st unit (10CS55) VTU
Computer Networks-1 1st unit (10CS55) VTUComputer Networks-1 1st unit (10CS55) VTU
Computer Networks-1 1st unit (10CS55) VTUSiddharaj Junnarkar
 
Equipements d'interconnexion
Equipements d'interconnexionEquipements d'interconnexion
Equipements d'interconnexion
Ines Kechiche
 
Image to text Converter
Image to text ConverterImage to text Converter
Image to text Converter
Dhiraj Raj
 
Projet administration-sécurité-réseaux
Projet administration-sécurité-réseauxProjet administration-sécurité-réseaux
Projet administration-sécurité-réseaux
Rabeb Boumaiza
 
1 - Généralités - Réseaux Informatiques.pdf
1 - Généralités - Réseaux Informatiques.pdf1 - Généralités - Réseaux Informatiques.pdf
1 - Généralités - Réseaux Informatiques.pdf
KanySidibe
 
Biometric Presentation
Biometric PresentationBiometric Presentation
Biometric Presentationrs2003
 
Commutation
CommutationCommutation
Commutation
Ines Kechiche
 
Chatbot solutions for e commerce platform, chatbot platform, build a chatbot,...
Chatbot solutions for e commerce platform, chatbot platform, build a chatbot,...Chatbot solutions for e commerce platform, chatbot platform, build a chatbot,...
Chatbot solutions for e commerce platform, chatbot platform, build a chatbot,...
PriyaNemade
 
1 introduction-to-computer-networking
1 introduction-to-computer-networking1 introduction-to-computer-networking
1 introduction-to-computer-networking
Priya Manik
 
Tuto VP IPSEC Site-to-site
Tuto VP IPSEC Site-to-siteTuto VP IPSEC Site-to-site
Tuto VP IPSEC Site-to-site
Dimitri LEMBOKOLO
 
IP-VPN
IP-VPNIP-VPN
Weight Watchers
Weight WatchersWeight Watchers
Weight Watchersmollicat
 
Chapitre 2 - Réseaux locaux
Chapitre 2 - Réseaux locauxChapitre 2 - Réseaux locaux
Chapitre 2 - Réseaux locaux
Tarik Zakaria Benmerar
 
Computer Networking - A Top-down Approach by James F. Kurose, Keith W. Ross (...
Computer Networking - A Top-down Approach by James F. Kurose, Keith W. Ross (...Computer Networking - A Top-down Approach by James F. Kurose, Keith W. Ross (...
Computer Networking - A Top-down Approach by James F. Kurose, Keith W. Ross (...
SIVAKUMAR301575
 
Mise en place d'un système de messagerie sécurisée pour une PME/PMI
Mise en place d'un système de messagerie sécurisée pour une PME/PMIMise en place d'un système de messagerie sécurisée pour une PME/PMI
Mise en place d'un système de messagerie sécurisée pour une PME/PMI
Papa Cheikh Cisse
 
Multimedia systems
Multimedia systemsMultimedia systems
Multimedia systems
greg robertson
 
Arp Poisoning
Arp PoisoningArp Poisoning
Arp Poisoning
Houda Elmoutaoukil
 
Data Compression (Lossy and Lossless)
Data Compression (Lossy and Lossless)Data Compression (Lossy and Lossless)
Data Compression (Lossy and Lossless)
Project Student
 
Chapitre 1 LES SERVICES RESEAUX.pptx
Chapitre 1 LES SERVICES RESEAUX.pptxChapitre 1 LES SERVICES RESEAUX.pptx
Chapitre 1 LES SERVICES RESEAUX.pptx
AymenAyari10
 
steganography using genetic algorithm along with visual cryptography for wire...
steganography using genetic algorithm along with visual cryptography for wire...steganography using genetic algorithm along with visual cryptography for wire...
steganography using genetic algorithm along with visual cryptography for wire...
Aparna Nk
 

What's hot (20)

Computer Networks-1 1st unit (10CS55) VTU
Computer Networks-1 1st unit (10CS55) VTUComputer Networks-1 1st unit (10CS55) VTU
Computer Networks-1 1st unit (10CS55) VTU
 
Equipements d'interconnexion
Equipements d'interconnexionEquipements d'interconnexion
Equipements d'interconnexion
 
Image to text Converter
Image to text ConverterImage to text Converter
Image to text Converter
 
Projet administration-sécurité-réseaux
Projet administration-sécurité-réseauxProjet administration-sécurité-réseaux
Projet administration-sécurité-réseaux
 
1 - Généralités - Réseaux Informatiques.pdf
1 - Généralités - Réseaux Informatiques.pdf1 - Généralités - Réseaux Informatiques.pdf
1 - Généralités - Réseaux Informatiques.pdf
 
Biometric Presentation
Biometric PresentationBiometric Presentation
Biometric Presentation
 
Commutation
CommutationCommutation
Commutation
 
Chatbot solutions for e commerce platform, chatbot platform, build a chatbot,...
Chatbot solutions for e commerce platform, chatbot platform, build a chatbot,...Chatbot solutions for e commerce platform, chatbot platform, build a chatbot,...
Chatbot solutions for e commerce platform, chatbot platform, build a chatbot,...
 
1 introduction-to-computer-networking
1 introduction-to-computer-networking1 introduction-to-computer-networking
1 introduction-to-computer-networking
 
Tuto VP IPSEC Site-to-site
Tuto VP IPSEC Site-to-siteTuto VP IPSEC Site-to-site
Tuto VP IPSEC Site-to-site
 
IP-VPN
IP-VPNIP-VPN
IP-VPN
 
Weight Watchers
Weight WatchersWeight Watchers
Weight Watchers
 
Chapitre 2 - Réseaux locaux
Chapitre 2 - Réseaux locauxChapitre 2 - Réseaux locaux
Chapitre 2 - Réseaux locaux
 
Computer Networking - A Top-down Approach by James F. Kurose, Keith W. Ross (...
Computer Networking - A Top-down Approach by James F. Kurose, Keith W. Ross (...Computer Networking - A Top-down Approach by James F. Kurose, Keith W. Ross (...
Computer Networking - A Top-down Approach by James F. Kurose, Keith W. Ross (...
 
Mise en place d'un système de messagerie sécurisée pour une PME/PMI
Mise en place d'un système de messagerie sécurisée pour une PME/PMIMise en place d'un système de messagerie sécurisée pour une PME/PMI
Mise en place d'un système de messagerie sécurisée pour une PME/PMI
 
Multimedia systems
Multimedia systemsMultimedia systems
Multimedia systems
 
Arp Poisoning
Arp PoisoningArp Poisoning
Arp Poisoning
 
Data Compression (Lossy and Lossless)
Data Compression (Lossy and Lossless)Data Compression (Lossy and Lossless)
Data Compression (Lossy and Lossless)
 
Chapitre 1 LES SERVICES RESEAUX.pptx
Chapitre 1 LES SERVICES RESEAUX.pptxChapitre 1 LES SERVICES RESEAUX.pptx
Chapitre 1 LES SERVICES RESEAUX.pptx
 
steganography using genetic algorithm along with visual cryptography for wire...
steganography using genetic algorithm along with visual cryptography for wire...steganography using genetic algorithm along with visual cryptography for wire...
steganography using genetic algorithm along with visual cryptography for wire...
 

Viewers also liked

Datos pilotos
Datos pilotosDatos pilotos
Datos pilotos
Javier Santacreu
 
Programme juin affichage
Programme juin affichageProgramme juin affichage
Programme juin affichagehdesert
 
Proyecto pasochoa por Cristian Changoluisa
Proyecto pasochoa por Cristian ChangoluisaProyecto pasochoa por Cristian Changoluisa
Proyecto pasochoa por Cristian Changoluisa
cristianchangoluisa
 
Syve päivien pajat
Syve päivien pajatSyve päivien pajat
Syve päivien pajat
annelaatikainen
 
Debt managemnt
Debt managemntDebt managemnt
Debt managemnt
Sara Rajput
 
Information Extraction with Linked Data
Information Extraction with Linked DataInformation Extraction with Linked Data
Information Extraction with Linked Data
Isabelle Augenstein
 
CV-Template LP Mongale
CV-Template LP MongaleCV-Template LP Mongale
CV-Template LP MongaleLerato Mongale
 

Viewers also liked (10)

Datos pilotos
Datos pilotosDatos pilotos
Datos pilotos
 
Programme juin affichage
Programme juin affichageProgramme juin affichage
Programme juin affichage
 
Proyecto pasochoa por Cristian Changoluisa
Proyecto pasochoa por Cristian ChangoluisaProyecto pasochoa por Cristian Changoluisa
Proyecto pasochoa por Cristian Changoluisa
 
Pôster Escola Biofotônica Valter
Pôster Escola Biofotônica ValterPôster Escola Biofotônica Valter
Pôster Escola Biofotônica Valter
 
TAJ MAHAL
TAJ MAHALTAJ MAHAL
TAJ MAHAL
 
Syve päivien pajat
Syve päivien pajatSyve päivien pajat
Syve päivien pajat
 
Debt managemnt
Debt managemntDebt managemnt
Debt managemnt
 
Omvendt undervisning
Omvendt undervisningOmvendt undervisning
Omvendt undervisning
 
Information Extraction with Linked Data
Information Extraction with Linked DataInformation Extraction with Linked Data
Information Extraction with Linked Data
 
CV-Template LP Mongale
CV-Template LP MongaleCV-Template LP Mongale
CV-Template LP Mongale
 

Similar to Image to Text Converter

Image processing with matlab
Image processing with matlabImage processing with matlab
Image processing with matlab
Aman Gupta
 
19BCS1815_PresentationAutomatic Number Plate Recognition(ANPR)P.pptx
19BCS1815_PresentationAutomatic Number Plate Recognition(ANPR)P.pptx19BCS1815_PresentationAutomatic Number Plate Recognition(ANPR)P.pptx
19BCS1815_PresentationAutomatic Number Plate Recognition(ANPR)P.pptx
SamridhGarg
 
Please make the complete program, distinguishing between each class .pdf
Please make the complete program, distinguishing between each class .pdfPlease make the complete program, distinguishing between each class .pdf
Please make the complete program, distinguishing between each class .pdf
faxteldelhi
 
We are restricted from importing cv2 numpy stats and other.pdf
We are restricted from importing cv2 numpy stats and other.pdfWe are restricted from importing cv2 numpy stats and other.pdf
We are restricted from importing cv2 numpy stats and other.pdf
DARSHANACHARYA13
 
Data Science - Part XVII - Deep Learning & Image Processing
Data Science - Part XVII - Deep Learning & Image ProcessingData Science - Part XVII - Deep Learning & Image Processing
Data Science - Part XVII - Deep Learning & Image Processing
Derek Kane
 
Optical Character Recognition
Optical Character RecognitionOptical Character Recognition
Optical Character Recognition
Nitin Vishwari
 
Using the Ceasar Cipher encryption algorithm, you take each characte.pdf
Using the Ceasar Cipher encryption algorithm, you take each characte.pdfUsing the Ceasar Cipher encryption algorithm, you take each characte.pdf
Using the Ceasar Cipher encryption algorithm, you take each characte.pdf
amirthagiftsmadurai
 
Presen_Segmentation
Presen_SegmentationPresen_Segmentation
Presen_SegmentationVikas Goyal
 
Writeup advanced lane_lines_project
Writeup advanced lane_lines_projectWriteup advanced lane_lines_project
Writeup advanced lane_lines_project
Manish Jauhari
 
OCR for Gujarati Numeral using Neural Network
OCR for Gujarati Numeral using Neural NetworkOCR for Gujarati Numeral using Neural Network
OCR for Gujarati Numeral using Neural Network
ijsrd.com
 
Programming in matlab lesson5
Programming in matlab lesson5Programming in matlab lesson5
Programming in matlab lesson5
najmah17
 
Unitii classnotes
Unitii classnotesUnitii classnotes
Unitii classnotes
Sowri Rajan
 
Image processing using matlab
Image processing using matlabImage processing using matlab
Image processing using matlab
dedik dafiyanto
 
Matlab dip
Matlab dipMatlab dip
Matlab dip
Jeevan Reddy
 
A Mat Lab built software application for similar image retrieval
A Mat Lab built software application for similar image retrievalA Mat Lab built software application for similar image retrieval
A Mat Lab built software application for similar image retrieval
IOSR Journals
 
Applet and graphics programming
Applet and graphics programmingApplet and graphics programming
Applet and graphics programming
srijavel
 
search engine for images
search engine for imagessearch engine for images
search engine for images
Anjani
 
Image processing
Image processingImage processing
Image processingmaheshpene
 
IRJET- 3D Vision System using Calibrated Stereo Camera
IRJET- 3D Vision System using Calibrated Stereo CameraIRJET- 3D Vision System using Calibrated Stereo Camera
IRJET- 3D Vision System using Calibrated Stereo Camera
IRJET Journal
 
Analysing simple pendulum using matlab
Analysing simple pendulum using matlabAnalysing simple pendulum using matlab
Analysing simple pendulum using matlab
Akshay Mistri
 

Similar to Image to Text Converter (20)

Image processing with matlab
Image processing with matlabImage processing with matlab
Image processing with matlab
 
19BCS1815_PresentationAutomatic Number Plate Recognition(ANPR)P.pptx
19BCS1815_PresentationAutomatic Number Plate Recognition(ANPR)P.pptx19BCS1815_PresentationAutomatic Number Plate Recognition(ANPR)P.pptx
19BCS1815_PresentationAutomatic Number Plate Recognition(ANPR)P.pptx
 
Please make the complete program, distinguishing between each class .pdf
Please make the complete program, distinguishing between each class .pdfPlease make the complete program, distinguishing between each class .pdf
Please make the complete program, distinguishing between each class .pdf
 
We are restricted from importing cv2 numpy stats and other.pdf
We are restricted from importing cv2 numpy stats and other.pdfWe are restricted from importing cv2 numpy stats and other.pdf
We are restricted from importing cv2 numpy stats and other.pdf
 
Data Science - Part XVII - Deep Learning & Image Processing
Data Science - Part XVII - Deep Learning & Image ProcessingData Science - Part XVII - Deep Learning & Image Processing
Data Science - Part XVII - Deep Learning & Image Processing
 
Optical Character Recognition
Optical Character RecognitionOptical Character Recognition
Optical Character Recognition
 
Using the Ceasar Cipher encryption algorithm, you take each characte.pdf
Using the Ceasar Cipher encryption algorithm, you take each characte.pdfUsing the Ceasar Cipher encryption algorithm, you take each characte.pdf
Using the Ceasar Cipher encryption algorithm, you take each characte.pdf
 
Presen_Segmentation
Presen_SegmentationPresen_Segmentation
Presen_Segmentation
 
Writeup advanced lane_lines_project
Writeup advanced lane_lines_projectWriteup advanced lane_lines_project
Writeup advanced lane_lines_project
 
OCR for Gujarati Numeral using Neural Network
OCR for Gujarati Numeral using Neural NetworkOCR for Gujarati Numeral using Neural Network
OCR for Gujarati Numeral using Neural Network
 
Programming in matlab lesson5
Programming in matlab lesson5Programming in matlab lesson5
Programming in matlab lesson5
 
Unitii classnotes
Unitii classnotesUnitii classnotes
Unitii classnotes
 
Image processing using matlab
Image processing using matlabImage processing using matlab
Image processing using matlab
 
Matlab dip
Matlab dipMatlab dip
Matlab dip
 
A Mat Lab built software application for similar image retrieval
A Mat Lab built software application for similar image retrievalA Mat Lab built software application for similar image retrieval
A Mat Lab built software application for similar image retrieval
 
Applet and graphics programming
Applet and graphics programmingApplet and graphics programming
Applet and graphics programming
 
search engine for images
search engine for imagessearch engine for images
search engine for images
 
Image processing
Image processingImage processing
Image processing
 
IRJET- 3D Vision System using Calibrated Stereo Camera
IRJET- 3D Vision System using Calibrated Stereo CameraIRJET- 3D Vision System using Calibrated Stereo Camera
IRJET- 3D Vision System using Calibrated Stereo Camera
 
Analysing simple pendulum using matlab
Analysing simple pendulum using matlabAnalysing simple pendulum using matlab
Analysing simple pendulum using matlab
 

Recently uploaded

Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 

Recently uploaded (20)

Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 

Image to Text Converter

  • 1. Image to Text Converter BY, DHIRAJ RAJ, MANVENDRA PRIYADARSHI,
  • 2. Content :  AIM  Technology Used  Procedure  Algo I  Algo II  Algo III  Algo IV (Part 1 & 2)  Algo V (Part 1 & 2)  Advantage  Limitations  Conclusion
  • 3. Aim :  To build an application to extract text from image.
  • 4. Technology Used :  Language : Java  IDE : NetBeans
  • 5. Procedure :  Step 1 : Firstly, we have change the color of background to be white and the color of text to be black.  Step 2 : Now, we separate every sentence from the given segment.  Step 3 : Then, we split each sentence into words.  Step 4 : Each word will then split into letters.  Step 5 : Now, we convert the obtained letter into 100x100 pixels.  Step 6 : Then, we match the letter with predefined strips of co-ordinate and validate the letter to be specified one.  Step 7 : Finally, we display the corresponding letter as an output.
  • 6. Algo I :  To change the color of image, we have used predefined class ‘Color’ which is available in java.awt package.  Color c1 = new Color(255, 255, 255); // for White  Color c2 = new Color(0, 0, 0); // for Black Input : Output :
  • 7. Algo II :  Now, we separate each sentence from the given segment.  We start searching horizontally, all the portion of text (in black) area and count it separately for every horizontal line and store it into an array.  Then we look for that line which has white portion and the previous line should have some text portion and store the co-ordinate of that line into an array.  Then we also look for that line which has white portion and the next line should have some text portion and store the co-ordinate of that line into the same array.  Now, we have the co-ordinates of image from which we need to separate the image.
  • 8. Algo II continues….  We have created an array of BufferedImage type to store the separated images.  BufferedImage imgs[ ] = new BufferedImage[size];  Then we defined the dimension for the portion of image to that array, which is need to be separated.  We used predefined method drawImage() for separating the image. Output :Input :
  • 9. Algo III :  Now, we split each word from the sentence.  We start searching vertically, all the portion of text (in black) area and count it separately for every vertical line and store it into an array.  Then we look for that line which has white portion and the increment the counter by one until we find a line which has text portion onto it and store value of counter into an array and the co-ordinate of that line into another array and use ‘continue’ keyword to skip that iteration and execute next iteration. Also, assign zero to counter so that it calculate next gap.  Then we find the maximum value from the counter and store the co-ordinate of the corresponding line into an array .  Now, we have the co-ordinates of image from which we need to separate the image.
  • 10. Algo III continues….  Again, we have created an array of BufferedImage type to store the separated images.  BufferedImage imgs[ ] = new BufferedImage[size];  Then we defined the dimension for the portion of image to that array, which is need to be separated.  We used predefined method drawImage() for separating the image. Input : Output :
  • 11. Algo IV (Part 1 : Font Text)  Now, we split each letter (font text) from the word.  We start searching vertically, all the portion of text (in black) area and count it separately for every vertical line and store it into an array.  Then we look for that line which has white portion and the previous line should have some text portion and we shift the value to adjust the gap then store the co-ordinate of that line into an array.  Now, we have the co-ordinates of image from which we need to separate the image.
  • 12. Algo IV (Part 1 : Font Text) continues….  Again, we have created an array of BufferedImage type to store the separated images.  BufferedImage imgs[ ] = new BufferedImage[size];  Then we defined the dimension for the portion of image to that array, which is need to be separated.  We used predefined method drawImage() for separating the image. Input : Output :
  • 13. Algo IV (Part 2 : Hand written Text)  Now, we split each letter (hand written text) from the word.  We start searching vertically, all the portion of text (in black) area and count it separately for every vertical line and store it into an array.  Then we look for that line which has minimum portion of text and store the co-ordinate of that line into an array.  We find the line which is next to the stored co-ordinate of minimum portion of text and if it is more than all the minimum portions stored in the array then we shift the value to adjust the gap then store the co-ordinate of that line into another array.  Now, we have the co-ordinates of image from which we need to separate the image.
  • 14. Algo IV (Part 2 : Hand written Text) continues….  Again, we have created an array of BufferedImage type to store the separated images.  BufferedImage imgs[ ] = new BufferedImage[size];  Then we defined the dimension for the portion of image to that array, which is need to be separated.  We used predefined method drawImage() for separating the image. Input : Output :
  • 15. Algo V (Part 1) :  We convert the obtained image of letter into 100x100 pixels.  For this purpose we convert the size of image into 100x100 pixels.  We used predefined method drawImage() for changing the pixels of the image. Input : Output :
  • 16. Algo V (Part 2) :  We have defined some strips condition for letters (particularly for A, B, C & D).  We match the image with predefined strips of co-ordinate.  If the image matches every strips condition then it get validated for that letter.  And, we display the corresponding letter as an output. Input : Output : ABCD
  • 17. Advantage :  Image to text converter utility helps in format portability and compatibility that serves the purpose of using conversion from one format to another. In the present scenario, interchangeable formats are more in demand and software developers around the world need utilities that can convert files from one format to another easily and without too much hassle. This is where the ‘Image To Text Converter’ utility comes into play and the benefits of using the same are required. Further, many of the media houses use the converted files to store and retrieve data whenever they need. This helps in files restoring of image files at one's convenience making life easier for everyone in the process.
  • 18. Limitations :  The first co-ordinate (0,0) of the image should not be the portion of text.  The handwritten text extracting process is successful for few letters yet.  The joining portion of the hand written text should not have more thickness.
  • 19. Conclusion :  By this project we can come to the conclusion that we can convert image’s texts into editable text.
  • 20. References :  http://alvinalexander.com/blog/post/java/getting-rgb-values-for-each-pixel-in-image- using-java-bufferedi  http://alvinalexander.com/java/java-image-how-to-crop-image-in-java  http://kalanir.blogspot.in/2010/02/how-to-split-image-into-chunks-java.html  http://www.codejava.net/java-se/graphics/how-to-resize-images-in-java