Invoking Shell commands from Python – SyedTips – 6

While building an ALPR (Automatic License Plate Recognition) System on a Raspberry Pi in 2013, I came across tesseract  which is a very powerful OCR (Optical Character Recognition) tool.

Tesseract is a command line tool which means it has to be invoked as a command from the shell/terminal (and it works on both Windows and *nix):

tesseract imagename outputbase [-l lang] [-psm pagesegmode] [configfiles...]

Since my main image capture and trim script was based on Python (triggered from a WebPage), I had to find a way to invoke tesseract from within Python. At first, I looked out for python libraries and wrappers of tesseract and had a hard time getting them to run on the Raspberry Pi.

Eventually, I wondered if there was a way to invoke shell commands from Python; and yeah!

Using subprocess, you can do just that:

import subprocess
subprocess.call(["tesseract", "/home/pi/syed/Image.png", "/home/pi/OpenCV/OCR_Data"])

Pass each argument to the invoked command separated with , in “”

Thanks.

Advertisements

Author: Anwaarullah

Designer, Developer, Maker, Speaker, Educator and Dreamer. ♥ Tinkering with Embedded, Android, Open Soft/Hard/Firm ware, Robotics and 3D Printer. Talk to me at syed {Shift+2} anwaarullah dash com

1 thought on “Invoking Shell commands from Python – SyedTips – 6”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s