0

I am using Python to do some processing, and I need to OCR with Tesseract. Is there a way I can, from python, type this:

"tesseract --tessdata-dir /usr/share imagename outputbase -l eng -psm 3"

into the command line somehow or its equivalent?

thanks!

Michael C
  • 135
  • 1
  • 1
  • 11
  • Possible duplicate of [Calling an external command in Python](http://stackoverflow.com/questions/89228/calling-an-external-command-in-python) – sashoalm Mar 24 '17 at 10:30

1 Answers1

0

See the example below.

import subprocess

p = subprocess.Popen(["ping", "localhost"], stdout=subprocess.PIPE)
output, err = p.communicate()
print  output

Output:

Pinging w10-PC [::1] with 32 bytes of data:
Reply from ::1: time<1ms 
Reply from ::1: time<1ms 
Reply from ::1: time<1ms 
Reply from ::1: time<1ms 

Ping statistics for ::1:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms

Replace ["ping", "localhost"] in the example with

["tesseract", "--tessdata-dir", "/usr/share", "imagename", "outputbase", "-l", "eng", "-psm", "3"].

You may further check examples here, this execute-shell-commands-in-python question and Python 2.7 doc for more information.

Community
  • 1
  • 1
thewaywewere
  • 6,704
  • 11
  • 37
  • 42