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
governance proposal to make fei redeemable for eth

Feil Proposal 🌲 Abstract Migrate all ETH from Fei protocol-controlled value into Yearn ETH Vault. Allow redemptions of outstanding FEI for yvETH. At

13 Mar 31, 2022
An advanced 2D image manipulation with features such as edge detection and image segmentation built using OpenCV

OpenCV-ToothPaint3-Advanced-Digital-Image-Editor This application named ‘Tooth Paint’ version TP_2020.3 (64-bit) or version 3 was developed within a w

JunHong 1 Nov 05, 2021
This is a GUI for scrapping PDFs with the help of optical character recognition making easier than ever to scrape PDFs.

pdf-scraper-with-ocr With this tool I am aiming to facilitate the work of those who need to scrape PDFs either by hand or using tools that doesn't imp

Jacobo José Guijarro Villalba 75 Oct 21, 2022
Detect text blocks and OCR poorly scanned PDFs in bulk. Python module available via pip.

doc2text doc2text extracts higher quality text by fixing common scan errors Developing text corpora can be a massive pain in the butt. Much of the tex

Joe Sutherland 1.3k Jan 04, 2023
CNN+Attention+Seq2Seq

Attention_OCR CNN+Attention+Seq2Seq The model and its tensor transformation are shown in the figure below It is necessary ch_ train and ch_ test the p

Tsukinousag1 2 Jul 14, 2022
Maze generator and solver with python

Procedural-Maze-Generator-Algorithms Check out my youtube channel : Auctux Ressources Thanks to Jamis Buck Book : Mazes for programmers Requirements P

Joseph 19 Dec 07, 2022
~1000 book pages + OpenCV + python = page regions identified as paragraphs, lines, images, captions, etc.

cosc428-structor I had an open-ended Computer Vision assignment to complete, and an out-of-copyright book that I wanted to turn into an ebook. Convent

Chad Oliver 45 Dec 06, 2022
This is a pytorch re-implementation of EAST: An Efficient and Accurate Scene Text Detector.

EAST: An Efficient and Accurate Scene Text Detector Description: This version will be updated soon, please pay attention to this work. The motivation

Dejia Song 544 Dec 20, 2022
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
Create single line SVG illustrations from your pictures

Create single line SVG illustrations from your pictures

Javier Bórquez 686 Dec 26, 2022
OpenCV-Erlang/Elixir bindings

evision [WIP] : OS : arch Build Status Ubuntu 20.04 arm64 Ubuntu 20.04 armv7 Ubuntu 20.04 s390x Ubuntu 20.04 ppc64le Ubuntu 20.04 x86_64 macOS 11 Big

Cocoa 194 Jan 05, 2023
Textboxes_plusplus implementation with Tensorflow (python)

TextBoxes++-TensorFlow TextBoxes++ re-implementation using tensorflow. This project is greatly inspired by slim project And many functions are modifie

81 Dec 07, 2022
Handwritten Text Recognition (HTR) system implemented with TensorFlow.

Handwritten Text Recognition with TensorFlow Update 2021: more robust model, faster dataloader, word beam search decoder also available for Windows Up

Harald Scheidl 1.5k Jan 07, 2023
Multi-choice answer sheet correction system using computer vision with opencv & python.

Multi choice answer correction 🔴 5 answer sheet samples with a specific solution for detecting answers and sheet correction. 🔴 By running the soluti

Reza Firouzi 7 Mar 07, 2022
Face Recognizer using Opencv Python

Face Recognizer using Opencv Python The first step create your own dataset with file open-cv-create_dataset second step You can put the photo accordin

Han Izza 2 Nov 16, 2021
Driver Drowsiness Detection with OpenCV & Dlib

In this project, we have built a driver drowsiness detection system that will detect if the eyes of the driver are close for too long and infer if the driver is sleepy or inactive.

Mansi Mishra 4 Oct 26, 2022
Some Boring Research About Products Recognition 、Duplicate Img Detection、Img Stitch、OCR

Products Recognition 介绍 商品识别,围绕在复杂的商场零售场景中,识别出货架图像中的商品信息。主要组成部分: 重复图像检测。【更新进度 4/10】 图像拼接。【更新进度 0/10】 目标检测。【更新进度 0/10】 商品识别。【更新进度 1/10】 OCR。【更新进度 1/10】

zhenjieWang 18 Jan 27, 2022
基于图像识别的开源RPA工具,理论上可以支持所有windows软件和网页的自动化

SimpleRPA 基于图像识别的开源RPA工具,理论上可以支持所有windows软件和网页的自动化 简介 SimpleRPA是一款python语言编写的开源RPA工具(桌面自动控制工具),用户可以通过配置yaml格式的文件,来实现桌面软件的自动化控制,简化繁杂重复的工作,比如运营人员给用户发消息,

Song Hui 7 Jun 26, 2022
Play the Namibian game of Owela against a terrible AI. Built using Django and htmx.

Owela Club A Django project for playing the Namibian game of Owela against a dumb AI. Built following the rules described on the Mancala World wiki pa

Adam Johnson 18 Jun 01, 2022
Python rubik's cube solver

This program makes a 3D representation of a rubiks cube and solves it step by step.

Pablo QB 4 May 29, 2022