A Python wrapper for Google Tesseract

Overview

Python Tesseract

Python versions Github release PyPI release Conda release Pre-commit CI status CI workflow status

Python-tesseract is an optical character recognition (OCR) tool for python. That is, it will recognize and "read" the text embedded in images.

Python-tesseract is a wrapper for Google's Tesseract-OCR Engine. It is also useful as a stand-alone invocation script to tesseract, as it can read all image types supported by the Pillow and Leptonica imaging libraries, including jpeg, png, gif, bmp, tiff, and others. Additionally, if used as a script, Python-tesseract will print the recognized text instead of writing it to a file.

USAGE

Quickstart

Note: Test images are located in the tests/data folder of the Git repo.

Library usage:

try:
    from PIL import Image
except ImportError:
    import Image
import pytesseract

# If you don't have tesseract executable in your PATH, include the following:
pytesseract.pytesseract.tesseract_cmd = r'<full_path_to_your_tesseract_executable>'
# Example tesseract_cmd = r'C:\Program Files (x86)\Tesseract-OCR\tesseract'

# Simple image to string
print(pytesseract.image_to_string(Image.open('test.png')))

# List of available languages
print(pytesseract.get_languages(config=''))

# French text image to string
print(pytesseract.image_to_string(Image.open('test-european.jpg'), lang='fra'))

# In order to bypass the image conversions of pytesseract, just use relative or absolute image path
# NOTE: In this case you should provide tesseract supported images or tesseract will return error
print(pytesseract.image_to_string('test.png'))

# Batch processing with a single file containing the list of multiple image file paths
print(pytesseract.image_to_string('images.txt'))

# Timeout/terminate the tesseract job after a period of time
try:
    print(pytesseract.image_to_string('test.jpg', timeout=2)) # Timeout after 2 seconds
    print(pytesseract.image_to_string('test.jpg', timeout=0.5)) # Timeout after half a second
except RuntimeError as timeout_error:
    # Tesseract processing is terminated
    pass

# Get bounding box estimates
print(pytesseract.image_to_boxes(Image.open('test.png')))

# Get verbose data including boxes, confidences, line and page numbers
print(pytesseract.image_to_data(Image.open('test.png')))

# Get information about orientation and script detection
print(pytesseract.image_to_osd(Image.open('test.png')))

# Get a searchable PDF
pdf = pytesseract.image_to_pdf_or_hocr('test.png', extension='pdf')
with open('test.pdf', 'w+b') as f:
    f.write(pdf) # pdf type is bytes by default

# Get HOCR output
hocr = pytesseract.image_to_pdf_or_hocr('test.png', extension='hocr')

# Get ALTO XML output
xml = pytesseract.image_to_alto_xml('test.png')

Support for OpenCV image/NumPy array objects

import cv2

img_cv = cv2.imread(r'/<path_to_image>/digits.png')

# By default OpenCV stores images in BGR format and since pytesseract assumes RGB format,
# we need to convert from BGR to RGB format/mode:
img_rgb = cv2.cvtColor(img_cv, cv2.COLOR_BGR2RGB)
print(pytesseract.image_to_string(img_rgb))
# OR
img_rgb = Image.frombytes('RGB', img_cv.shape[:2], img_cv, 'raw', 'BGR', 0, 0)
print(pytesseract.image_to_string(img_rgb))

If you need custom configuration like oem/psm, use the config keyword.

# Example of adding any additional options
custom_oem_psm_config = r'--oem 3 --psm 6'
pytesseract.image_to_string(image, config=custom_oem_psm_config)

# Example of using pre-defined tesseract config file with options
cfg_filename = 'words'
pytesseract.run_and_get_output(image, extension='txt', config=cfg_filename)

Add the following config, if you have tessdata error like: "Error opening data file..."

# Example config: r'--tessdata-dir "C:\Program Files (x86)\Tesseract-OCR\tessdata"'
# It's important to add double quotes around the dir path.
tessdata_dir_config = r'--tessdata-dir "<replace_with_your_tessdata_dir_path>"'
pytesseract.image_to_string(image, lang='chi_sim', config=tessdata_dir_config)

Functions

  • get_languages Returns all currently supported languages by Tesseract OCR.
  • get_tesseract_version Returns the Tesseract version installed in the system.
  • image_to_string Returns unmodified output as string from Tesseract OCR processing
  • image_to_boxes Returns result containing recognized characters and their box boundaries
  • image_to_data Returns result containing box boundaries, confidences, and other information. Requires Tesseract 3.05+. For more information, please check the Tesseract TSV documentation
  • image_to_osd Returns result containing information about orientation and script detection.
  • image_to_alto_xml Returns result in the form of Tesseract's ALTO XML format.
  • run_and_get_output Returns the raw output from Tesseract OCR. Gives a bit more control over the parameters that are sent to tesseract.

Parameters

image_to_data(image, lang=None, config='', nice=0, output_type=Output.STRING, timeout=0, pandas_config=None)

  • image Object or String - PIL Image/NumPy array or file path of the image to be processed by Tesseract. If you pass object instead of file path, pytesseract will implicitly convert the image to RGB mode.
  • lang String - Tesseract language code string. Defaults to eng if not specified! Example for multiple languages: lang='eng+fra'
  • config String - Any additional custom configuration flags that are not available via the pytesseract function. For example: config='--psm 6'
  • nice Integer - modifies the processor priority for the Tesseract run. Not supported on Windows. Nice adjusts the niceness of unix-like processes.
  • output_type Class attribute - specifies the type of the output, defaults to string. For the full list of all supported types, please check the definition of pytesseract.Output class.
  • timeout Integer or Float - duration in seconds for the OCR processing, after which, pytesseract will terminate and raise RuntimeError.
  • pandas_config Dict - only for the Output.DATAFRAME type. Dictionary with custom arguments for pandas.read_csv. Allows you to customize the output of image_to_data.

CLI usage:

pytesseract [-l lang] image_file

INSTALLATION

Prerequisites:

  • Python-tesseract requires Python 2.7 or Python 3.6+

  • You will need the Python Imaging Library (PIL) (or the Pillow fork). Under Debian/Ubuntu, this is the package python-imaging or python3-imaging.

  • Install Google Tesseract OCR (additional info how to install the engine on Linux, Mac OSX and Windows). You must be able to invoke the tesseract command as tesseract. If this isn't the case, for example because tesseract isn't in your PATH, you will have to change the "tesseract_cmd" variable pytesseract.pytesseract.tesseract_cmd. Under Debian/Ubuntu you can use the package tesseract-ocr. For Mac OS users. please install homebrew package tesseract.

    Note: Make sure that you also have installed tessconfigs and configs from tesseract-ocr/tessconfigs or via the OS package manager.

Installing via pip:

Check the pytesseract package page for more information.

pip install pytesseract
Or if you have git installed:
pip install -U git+https://github.com/madmaze/pytesseract.git
Installing from source:
git clone https://github.com/madmaze/pytesseract.git
cd pytesseract && pip install -U .
Install with conda (via conda-forge):
conda install -c conda-forge pytesseract

TESTING

To run this project's test suite, install and run tox. Ensure that you have tesseract installed and in your PATH.

pip install tox
tox

LICENSE

Check the LICENSE file included in the Python-tesseract repository/distribution. As of Python-tesseract 0.3.1 the license is Apache License Version 2.0

CONTRIBUTORS

Comments
  • Petition to change license to Apache 2.0 (to match tesseract-ocr)

    Petition to change license to Apache 2.0 (to match tesseract-ocr)

    I want to use tesseract, and in turn pytesseract, but I don't want to include a GPLv3-licensed package before I know what I plant to do with my project.

    Has any consideration been given to using a more permissive license such as MIT? Tesseract uses Apache 2.0, which is a fairly permissive license as well.

    opened by joshmcgrath08 32
  • cannot find tesseract file when using pytesseract

    cannot find tesseract file when using pytesseract

    I've installed tesseract and pytesseract, and I keep getting error messages <redacted_image_to_hide_username> even after I changed the path of "tesseract_cmd" in pytesseract.py, reinstalled tesseract using homebrew, and added the line "pytesseract.pytesseract.tesseract_cmd = '/usr/local/bin/tesseract'" in my python file. I can get the version of my pytesseract using line "print(pytesseract.get_tesseract_version())". Since I can acquire the version of pytesseract, I don't know why the path issue still exists. Thanks in advance for anyone who can help!

    opened by lordpeter003 28
  • image_to_data: Problem in temporary file

    image_to_data: Problem in temporary file

    Hi, I am using pytesseract 0.2.0, the version with the latest commit.

    I am getting the following error when using pytesseract.image_to_data

    Traceback (most recent call last): File "test.py", line 20, in image2text(images) File "test.py", line 9, in image2text data = pytesseract.image_to_data(image, lang=None, config='', nice=0, output_type=pytesseract.Output.DICT) File "/home/mehul/.virtualenvs/cv/local/lib/python2.7/site-packages/pytesseract/pytesseract.py", line 228, in image_to_data run_and_get_output(image, 'tsv', lang, config, nice), '\t', -1) File "/home/mehul/.virtualenvs/cv/local/lib/python2.7/site-packages/pytesseract/pytesseract.py", line 142, in run_and_get_output with open(filename, 'rb') as output_file: IOError: [Errno 2] No such file or directory: '/tmp/tess_OAlhmD_out.tsv'

    Either the temp file is not created or program is searching for wrong temp file.

    opened by MehulBhardwaj91 26
  • image_to_boxes crashing

    image_to_boxes crashing

    When I run image_to_string, it works great, but when I run either image_to_boxes or image_to_data, I get an error message like this:

    IOError: [Errno 2] No such file or directory: 'c:\users\tlcyr\appdata\local\temp\tess_kqx1fs_out.box'

    with some random text in place of 'kqx1fs' each time I run it.

    I have tesseract 3.05.01 installed on Windows.

    opened by tlcyr4 25
  • windows 10 :pytesseract.pytesseract.TesseractError: (1, 'Error opening data file \\Program Files (x86)\\Tesseract-OCR\\tessdata/chi_sim.traineddata')

    windows 10 :pytesseract.pytesseract.TesseractError: (1, 'Error opening data file \\Program Files (x86)\\Tesseract-OCR\\tessdata/chi_sim.traineddata')

    I am using pytesseract on windows 10 x64, and the python is 3.5.2 x64, Tesseract is 4.0 ,the code is as follow:

    # -*- coding: utf-8 -*-
    
    try:
        import Image
    except ImportError:
        from PIL import Image
    import pytesseract
    
    
    print(pytesseract.image_to_string(Image.open('d:/testimages/name.gif'), lang='chi_sim'))
    
    

    error:

    Traceback (most recent call last):
      File "D:/test.py", line 10, in <module>
        print(pytesseract.image_to_string(Image.open('d:/testimages/name.gif'), lang='chi_sim'))
      File "C:\Users\dell\AppData\Local\Programs\Python\Python35\lib\site-packages\pytesseract\pytesseract.py", line 165, in image_to_string
        raise TesseractError(status, errors)
    pytesseract.pytesseract.TesseractError: (1, 'Error opening data file \\Program Files (x86)\\Tesseract-OCR\\tessdata/chi_sim.traineddata')
    

    C:\Program Files (x86)\Tesseract-OCR\tessdata,like this:

    [enter image description here]1

    opened by zwl1619 25
  • image_to_data returns different results than image_to_string

    image_to_data returns different results than image_to_string

    I use image_to_string for single digits but additionally I want to obtain the confidence value. Therefore I replaced it with image_to_data like this:

    ocrResult = pytesseract.image_to_data(digitBinary, config='-psm 10 -c tessedit_char_whitelist=0123456789', output_type="dict")
    digitasNumber = ocrResult["text"][0]
    

    With image_to_string the results are reasonably good. With image_to_data every text dict entry is empty but for one case, where it returns two digits. the empty digits have conf -1 and the digit where text is filled the conf is 6.

    I don't think that this is intended behavior.

    opened by BSVogler 19
  • OSError: Too many files open

    OSError: Too many files open

    I have been using this python wrapper for tesseract on a video feed with opencv in order to extract time series data into csv files. I am trying to track 40 different windows. However, on the 201st frame of the test video I have, I get the following exception:

    Traceback (most recent call last):
      File "/usr/lib/python3.7/site-packages/pytesseract/pytesseract.py", line 219, in run_tesseract
        proc = subprocess.Popen(cmd_args, **subprocess_args())
      File "/usr/lib/python3.7/subprocess.py", line 775, in __init__
        restore_signals, start_new_session)
      File "/usr/lib/python3.7/subprocess.py", line 1412, in _execute_child
        errpipe_read, errpipe_write = os.pipe()
    OSError: [Errno 24] Too many open files
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "bars_and_windows.py", line 54, in <module>
        bar_text = pytesseract.image_to_string(tmp_img, lang='SF_Upper')
      File "/usr/lib/python3.7/site-packages/pytesseract/pytesseract.py", line 341, in image_to_string
        }[output_type]()
      File "/usr/lib/python3.7/site-packages/pytesseract/pytesseract.py", line 340, in <lambda>
        Output.STRING: lambda: run_and_get_output(*args),
      File "/usr/lib/python3.7/site-packages/pytesseract/pytesseract.py", line 249, in run_and_get_output
        run_tesseract(**kwargs)
      File "/usr/lib/python3.7/site-packages/pytesseract/pytesseract.py", line 221, in run_tesseract
        raise TesseractNotFoundError()
    pytesseract.pytesseract.TesseractNotFoundError: tesseract is not installed or it's not in your path
    

    I was originally writing to 40 different csv files simultaneously. After completely removing my file writing/reading code, this error still persisted and triggered on the exact same frame of the video every time. I also tested with a different video and ran into the same exception after only 25 frames. This leads me to believe this is a bug/limitation in pytesseract. Has anyone else run into a similar issue and been able to come up with a solution/work around?

    My setup: Linux Kernel: 5.1.16-arch1-1-ARCH python-pytesseract-git package installed from aur Python 3.7.3-2

    opened by cdyrssen 18
  • Method for adding config settings

    Method for adding config settings

    Look mama, no config files!

    I was wrestling with config files for some of the settings when I ran across this google group discussion about tesseract using java and it made my mouth water. Here's a code snippet from their discussion:

    tesseract = new Tesseract();                      
    tesseract.setOcrEngineMode(TessAPI.TessOcrEngineMode.OEM_TESSERACT_ONLY);
    tesseract.setPageSegMode(7);
    tesseract.setTessVariable("load_system_dawg", "0");
    tesseract.setTessVariable("load_freq_dawg", "0");
    tesseract.setTessVariable("load_punc_dawg", "0");
    tesseract.setTessVariable("load_number_dawg", "0");
    

    At first you may think, well that's cool I guess but you can really do the same thing by just defining a long string of configs and calling it whenever you need it. For example, '--psm 10 --oem 3 -c load_system_dawg=0 load_freq_dawg=0 load_punc_dawg=0 . . .'

    In the tesseract documentation, it mentions that you can't change 'init only' parameters with tesseract executable option -c. And those 'init only' parameters would include some of the ones I've been messing with. I think that most people would say that it would be nice to be able to set your variables for your config file directly in python using a set_config_variable method instead of having to go make a config file. Since some of the variables that are being set in the code above are in fact 'init only', the Java guys must be creating a config file (I did not sniff through their code to verify this, however) from java code.

    I haven't done it yet because I'm not too familiar with the code inside pytesseract, but right now making a temporary config file and letting it be loadable via a set_config_variable method doesn't seem very hard from my perspective. Here's the high level logic I'm thinking about:

    • When pytesseract is imported, check the config folder to see if a temp.txt file exists. If so, wipe it clean. If not, create one.
    • When someone calls the tsr.set_config_variable method, just write the variable, a space, and the value on a new line in the temp.txt file.
    • You could also have a method to delete the variable from the file and thus return tesseract to the default.
    • When any of the OCR functions are called, if the user does not manually supply another config file, use the temp.txt as the config file unless it's empty.

    Why this would be a good feature:

    • For me and others like me who wrote their first line of code 8 months ago, even little trips to the back-end of config files or source code can be confusing and take lot's of time.
    • There's a lot of super ridiculously lazy people out there just like me who would rather not know anything about how the programs and libraries work which they're using, but just want to use them to make other interesting applications.

    But maybe it's actually not very easy to implement. Is this actually possible?

    Feature Request 
    opened by Jeremiah-England 18
  • IOError for OSD (psm 0)

    IOError for OSD (psm 0)

    Running pytesseract on Raspbian, python 2.7, tesseract 4.00 (4.00.00dev-625-g9c2fa0d).

    My code is as follows:

    ret = image_to_string(im,lang='eng',boxes=False, config="-psm 0")
    

    Error:

    Traceback (most recent call last):
      File "/home/pi/Vocable/TESTING.py", line 114, in <module>
        ret = image_to_string(im,lang='eng',boxes=False, config="-psm 0")
      File "/usr/local/lib/python2.7/dist-packages/pytesseract/pytesseract.py", line 126, in image_to_string
        f = open(output_file_name, 'rb')
    IOError: [Errno 2] No such file or directory: '/tmp/tess_lN5JlN.txt'
    

    If I run code with psm 1 [Recognition with OSD], I receive no errors but the upside down text is simply treated as right-side-up text, producing garbage results. (This was tested on an inverted test.png)

    Essentially text recognition works but OSD does not.

    Feature Request 
    opened by movaid7 18
  • ModuleNotFoundError: No module named 'PIL'

    ModuleNotFoundError: No module named 'PIL'

    I am trying to get pytesseract to run on a Windows 10 system but unfortunately always get the following error log:

      File "C:\Users\Marc\PycharmProjects\test\venv\lib\site-packages\pytesseract\pytesseract.py", line 27, in <module>
        from PIL import Image
    ModuleNotFoundError: No module named 'PIL'
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "C:\Users\Marc\PycharmProjects\test\main.py", line 15, in <module>
        import pytesseract
      File "C:\Users\Marc\PycharmProjects\test\venv\lib\site-packages\pytesseract\__init__.py", line 2, in <module>
        from .pytesseract import ALTONotSupported
      File "C:\Users\Marc\PycharmProjects\test\venv\lib\site-packages\pytesseract\pytesseract.py", line 29, in <module>
        import Image
    ModuleNotFoundError: No module named 'Image'
    
    Process finished with exit code 1
    
    opened by liebig 16
  • Use pytesseract on other lang issue - more clue

    Use pytesseract on other lang issue - more clue

    Hello guys,

    Although I update to pytesseract v0.1.8, it cannot do ocr on JPN image still.
    However, if I manually set command to following, it can works.
    

    (but program will crash after that because I change the file path. It doesn't matter for now.)

    def run_tesseract(input_filename, ...):
        ...
        if not sys.platform.startswith('win32') and nice != 0:
            command  += ('nice', '-n', str(nice))
        +input_filename = "<my src img path>\\src.png"
        +output_filename_base = "<my src img path>\\output.log"
        command += (tesseract_cmd, input_filename, output_filename_base)
       ...
    

    I change src_img path to absolute path for my src file and save the log to absolute location.

    In the original code, I cannot get anything from tesseract ocr. If I change src_img to absolute path without modified output.log part, it will get part of result.(some jpn word have lost.)

    If I cange src_img and modified output together, all things work well. (but program will crash after that because I change the file path.)

    Please see my result in following drive:

    https://goo.gl/pej1Nz

    There are three output result, src image and jpn.traindata. The jpn.traindata need to place under tesseract tessdata directory.

    Regards, Moonlove

    opened by moonlovestar 16
  • Subprocess not working on iis server

    Subprocess not working on iis server

    hello,iam using subprocess,when i sent request through postman using local server ,subprocess is working,but when im sending request using iis server ,subprocess is not working

    opened by karthikchowkula 7
  • Improve issue reporting

    Improve issue reporting

    The issue reporting process currently seems to be suboptimal, as basic information is missing and there appear to be mostly reports about stuff which we cannot do anything about due to the failure being in Tesseract itself.

    For this reason I would like to propose to provide a template for reporting (possible) bugs, which at least requests the used Python version, OS, Tesseract version and the reproducing code example, accompanied with the actual and expected results.

    Additionally, it probably makes sense to provide easier access to cmd_args in run_tesseract, as we currently have to either monkey-patch subprocess.Popen or edit the installed module directly. One solution would be to just use debug logging for it, basically allowing the user to just set the log level for the pytesseract logger to test the command with plain Tesseract. This log level setting could be added as a remark inside the bug reporting template as well to avoid additional requests imposing an overhead for us.

    opened by stefan6419846 0
  • raise TesseractError(proc.returncode, get_errors(error_string)) pytesseract.pytesseract.TesseractError: (3221225477, '')

    raise TesseractError(proc.returncode, get_errors(error_string)) pytesseract.pytesseract.TesseractError: (3221225477, '')

    File "C:\Users\Castel\AppData\Roaming\Python\Python310\site-packages\pytesseract\pytesseract.py", line 264, in run_tesseract
        raise TesseractError(proc.returncode, get_errors(error_string))
    pytesseract.pytesseract.TesseractError: (3221225477, '')
    

    Print screen:

    image

    opened by me-suzy 8
  • FileNotFoundError tmp file

    FileNotFoundError tmp file

    Hi, I'm working on a Fedora 32 distro with tesseract 5.0.0-alpha-20201224 and pytesseract Version: 0.3.10.

    when I call this function image_to_string(image, lang="letsgodigital", config="--oem 4 --psm 100 -c tessedit_char_whitelist=.0123456789") I received this error:

    Traceback (most recent call last):
      File "main2.py", line 8, in <module>
        str_Res = digital_display_ocr.ocr_image(image)
      File "/home/fili/workspace/python/digit_recognition/digital_display_ocr.py", line 107, in ocr_image
        return image_to_string(otsu_thresh_image, lang="letsgodigital", config="--oem 4 --psm 100 -c tessedit_char_whitelist=.0123456789")
      File "/home/fili/.local/lib/python3.8/site-packages/pytesseract/pytesseract.py", line 423, in image_to_string
        return {
      File "/home/fili/.local/lib/python3.8/site-packages/pytesseract/pytesseract.py", line 426, in <lambda>
        Output.STRING: lambda: run_and_get_output(*args),
      File "/home/fili/.local/lib/python3.8/site-packages/pytesseract/pytesseract.py", line 290, in run_and_get_output
        with open(filename, 'rb') as output_file:
    FileNotFoundError: [Errno 2] File o directory non esistente: '/tmp/tess_4p1bawg8.txt'
    

    How can I resolve this?

    opened by filirnd 7
  • Error when trying to import pytesseract

    Error when trying to import pytesseract

    I am getting the following error when trying to import pytesseract:

    ModuleNotFoundError: No module named 'pytesseract'

    I am using windows 11 and I made sure to have tesseract in my path and it works when I call it directly from the command prompt. I am using python > 3.6 like it says in the instructions.

    opened by graham-eisele 3
Releases(v0.3.10)
Owner
Matthias A Lee
Principal Performance Engineer, Computer Science PhD. Interest span eHealth, NoSQL, cloud computing, GPUs and Software Performance
Matthias A Lee
Primary QPDF source code and documentation

QPDF QPDF is a command-line tool and C++ library that performs content-preserving transformations on PDF files. It supports linearization, encryption,

QPDF 2.2k Jan 04, 2023
Multi-Oriented Scene Text Detection via Corner Localization and Region Segmentation

This is the official implementation of "Multi-Oriented Scene Text Detection via Corner Localization and Region Segmentation". For more details, please

Pengyuan Lyu 309 Dec 06, 2022
text detection mainly based on ctpn model in tensorflow, id card detect, connectionist text proposal network

text-detection-ctpn Scene text detection based on ctpn (connectionist text proposal network). It is implemented in tensorflow. The origin paper can be

Shaohui Ruan 3.3k Dec 30, 2022
POT : Python Optimal Transport

This open source Python library provide several solvers for optimization problems related to Optimal Transport for signal, image processing and machine learning.

Python Optimal Transport 1.7k Jan 04, 2023
Use Youdao OCR API to covert your clipboard image to text.

Alfred Clipboard OCR 注:本仓库基于 oott123/alfred-clipboard-ocr 的逻辑用 Python 重写,换用了有道 AI 的 API,准确率更高,有效防止百度导致隐私泄露等问题,并且有道 AI 初始提供的 50 元体验金对于其资费而言个人用户基本可以永久使用

Junlin Liu 6 Sep 19, 2022
A simple component to display annotated text in Streamlit apps.

Annotated Text Component for Streamlit A simple component to display annotated text in Streamlit apps. For example: Installation First install Streaml

Thiago Teixeira 312 Dec 30, 2022
A general list of resources to image text localization and recognition 场景文本位置感知与识别的论文资源与实现合集 シーンテキストの位置認識と識別のための論文リソースの要約

Scene Text Localization & Recognition Resources Read this institute-wise: English, 简体中文. Read this year-wise: English, 简体中文. Tags: [STL] (Scene Text L

Karl Lok (Zhaokai Luo) 901 Dec 11, 2022
A Tensorflow model for text recognition (CNN + seq2seq with visual attention) available as a Python package and compatible with Google Cloud ML Engine.

Attention-based OCR Visual attention-based OCR model for image recognition with additional tools for creating TFRecords datasets and exporting the tra

Ed Medvedev 933 Dec 29, 2022
A document scanner application for laptops/desktops developed using python, Tkinter and OpenCV.

DcoumentScanner A document scanner application for laptops/desktops developed using python, Tkinter and OpenCV. Directly install the .exe file to inst

Harsh Vardhan Singh 1 Oct 29, 2021
Scale-aware Automatic Augmentation for Object Detection (CVPR 2021)

SA-AutoAug Scale-aware Automatic Augmentation for Object Detection Yukang Chen, Yanwei Li, Tao Kong, Lu Qi, Ruihang Chu, Lei Li, Jiaya Jia [Paper] [Bi

Jia Research Lab 182 Dec 29, 2022
SemTorch

SemTorch This repository contains different deep learning architectures definitions that can be applied to image segmentation. All the architectures a

David Lacalle Castillo 154 Dec 07, 2022
Handwritten Text Recognition (HTR) using TensorFlow 2.x

Handwritten Text Recognition (HTR) system implemented using TensorFlow 2.x and trained on the Bentham/IAM/Rimes/Saint Gall/Washington offline HTR data

Arthur Flôr 160 Dec 21, 2022
Ready-to-use OCR with 80+ supported languages and all popular writing scripts including Latin, Chinese, Arabic, Devanagari, Cyrillic and etc.

EasyOCR Ready-to-use OCR with 80+ languages supported including Chinese, Japanese, Korean and Thai. What's new 1 February 2021 - Version 1.2.3 Add set

Jaided AI 16.7k Jan 03, 2023
Code for CVPR'2022 paper ✨ "Predict, Prevent, and Evaluate: Disentangled Text-Driven Image Manipulation Empowered by Pre-Trained Vision-Language Model"

PPE ✨ Repository for our CVPR'2022 paper: Predict, Prevent, and Evaluate: Disentangled Text-Driven Image Manipulation Empowered by Pre-Trained Vision-

Zipeng Xu 34 Nov 28, 2022
Virtualdragdrop - Virtual Drag and Drop Using OpenCV and Arduino

Virtualdragdrop - Virtual Drag and Drop Using OpenCV and Arduino

Rizky Dermawan 4 Mar 10, 2022
A webcam-based 3x3x3 rubik's cube solver written in Python 3 and OpenCV.

Qbr Qbr, pronounced as Cuber, is a webcam-based 3x3x3 rubik's cube solver written in Python 3 and OpenCV. 🌈 Accurate color detection 🔍 Accurate 3x3x

Kim 金可明 502 Dec 29, 2022
Official code for :rocket: Unsupervised Change Detection of Extreme Events Using ML On-Board :rocket:

RaVAEn The RaVÆn system We introduce the RaVÆn system, a lightweight, unsupervised approach for change detection in satellite data based on Variationa

SpaceML 35 Jan 05, 2023
https://arxiv.org/abs/1904.01941

Character-Region-Awareness-for-Text-Detection- https://arxiv.org/abs/1904.01941 Train You can train SynthText data use python source/train_SynthText.p

DayDayUp 120 Dec 28, 2022
Shape Detection - It's a shape detection project with OpenCV and Python.

Shape Detection It's a shape detection project with OpenCV and Python. Setup pip install opencv-python for doing AI things. pip install simpleaudio fo

1 Nov 26, 2022
[BMVC'21] Official PyTorch Implementation of Grounded Situation Recognition with Transformers

Grounded Situation Recognition with Transformers Paper | Model Checkpoint This is the official PyTorch implementation of Grounded Situation Recognitio

Junhyeong Cho 18 Jul 19, 2022