I'm getting error while converting tiff image to text. here is my code

import Image
import subprocess
import util
import errors
tesseract_exe_name = 'tesseract' # Name of executable to be called at command line
scratch_image_name = "temp.bmp" # This file must be .bmp or other Tesseract-compatible format
scratch_text_name_root = "temp" # Leave out the .txt extension
cleanup_scratch_flag = True  # Temporary files cleaned up after OCR operation
def call_tesseract(input_filename, output_filename):
    """Calls external tesseract.exe on input file (restrictions on types),
    outputting output_filename+'txt'"""
    args = [tesseract_exe_name, input_filename, output_filename]
    proc = subprocess.Popen(args)
    retcode = proc.wait()
    if retcode!=0:
def image_to_string(im, cleanup = cleanup_scratch_flag):
    """Converts im to file, applies tesseract, and fetches resulting text.
    If cleanup=True, delete scratch files after operation."""
        util.image_to_scratch(im, scratch_image_name)
        call_tesseract(scratch_image_name, scratch_text_name_root)
        text = util.retrieve_text(scratch_text_name_root)
        if cleanup:
            util.perform_cleanup(scratch_image_name, scratch_text_name_root)
    return text

def image_file_to_string(filename, cleanup = cleanup_scratch_flag, graceful_errors=True):
    """Applies tesseract to filename; or, if image is incompatible and graceful_errors=True,
    converts to compatible format and then applies tesseract.  Fetches resulting text.
    If cleanup=True, delete scratch files after operation."""
            call_tesseract(filename, scratch_text_name_root)
            text = util.retrieve_text(scratch_text_name_root)
        except errors.Tesser_General_Exception:
            if graceful_errors:
                im = Image.open(filename)
                text = image_to_string(im, cleanup)
        if cleanup:
            util.perform_cleanup(scratch_image_name, scratch_text_name_root)
    return text
if __name__=='__main__':
    im = Image.open("/home/oomsys/phototest.tif")
    text = image_to_string(im)
    print text
        text = image_file_to_string('fnord.tif', graceful_errors=False)
    except errors.Tesser_General_Exception, value:
        print "fnord.tif is incompatible filetype.  Try graceful_errors=True"
        print value
    text = image_file_to_string('fnord.tif', graceful_errors=True)
    print "fnord.tif contents:", text
    text = image_file_to_string('fonts_test.png', graceful_errors=True)
    print text

here is my error

Traceback (most recent call last):
  File "pytesser.py", line 60, in <module>
    text = image_to_string(im)
  File "pytesser.py", line 31, in image_to_string
    call_tesseract(scratch_image_name, scratch_text_name_root)
  File "pytesser.py", line 21, in call_tesseract
    proc = subprocess.Popen(args)
  File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1239, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

You need to have tesseract installed. Please follow the steps provided here https://help.ubuntu.com/community/Tesseract3

| improve this answer | |
  • i m getting this error while installing the Leptonica image processing library: E: Unable to locate package libeptonica-dev – PYTHON TEAM May 18 '13 at 9:15
  • my above code works fine for usual fonts which is in that tiff image.. but i have a tif image file which contains text (in "french script" font).. i want to convert french script to a text document.. – PYTHON TEAM May 18 '13 at 9:23
  • Can you please explain your problem more clearly in the question? – thefourtheye May 18 '13 at 11:31
  • i want to convert a tiff image file to text document.. the tiff image contains text .. the font name of text is french script. the font is a decorative font so i cant able to convert it.. is there any way to do it.. – PYTHON TEAM May 18 '13 at 11:37
  • Arent you getting OSError: [Errno 2] No such file or directory? – thefourtheye May 18 '13 at 12:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.