Solution to extract the text from image and get wordlevel output as dataframe and also to extract text from given boundingBox
This class contains two main funtions:
- tess2dict: Input an image and get the extracted text as a dataframe which gives the content, coordinates (x,y,w,h) and confidence of each word. Essentially, it is a wrapper on pytesseract to output a dataframe.
- word2text: Once you obtain the dataframe, you can pass it through this function along with a bounding box to get the text inside the given box with proper formatting.
(currently solution works on Tesseract 5.0.0 only)
adding path to path variable (for Tesseract)
sudo apt install tesseract-ocr
sudo apt install libtesseract-dev
pip install tesseract2dict
A sample usage of our solution is shown below. Input an image as numpy.ndarray and the extracted dataframe at word level is returned. You can also get the text as plain of a given bounding box with proper formatting using the second function eg:
import cv2 from tesseract2dict import TessToDict td=TessToDict() inputImage=cv2.imread('path/to/image.jpg') ### function 1 word_dict=td.tess2dict(inputImage,'out','outfolder') ### function 2 text_plain=td.word2text(word_dict,(0,0,inputImage.shape,inputImage.shape))
Anil Prasad M N - Project Manager, AI Labs, Bridgei2i Analytics Solutions - Github
This project is licensed under the MIT License - see the LICENSE.md file for details
NOTE: This software depends on other packages that may be licensed under different open source licenses.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.