Skip to content
heynemann edited this page Jun 5, 2011 · 14 revisions

thumbor depends on the Tornado web server (http://www.tornadoweb.org/). It can easily be installed, thus we won't cover it here.

The other requirements for using thumbor depend on your choice of features, which is why we'll outline here the requirements per feature used, instead of overall requirements.

Loader

The loader is the class responsible for loading the images before transformations. The requirements depend on each loader.

The filesystem loader does not have any dependencies, while the Http loader requires the PyCurl library. It is easily installed using pip install pycurl.

Storage

The storage class is responsible for keeping the original images in a local cache. Currently supported options are redis and filesystem.

The filesystem storage does not have any dependencies (other than setting the proper configurations in the configuration file).

The Redis storage requires the "redis" python package, easily installed using pip install redis.

Imaging Engine

Choosing at least one imaging engine is required. The imaging engine is responsible for loading, resizing, cropping, etc. thumbor comes pre-packaged with PIL, ImageMagick, GraphicsMagick and OpenCV image engines.

We recommend the GraphicsMagick image engine as it produce better results, faster.

If you choose the PIL engine, you have to install PIL (http://www.pythonware.com/products/pil/). There are many tutorials on the web on how to install it depending on your operating system. The team behind thumbor uses the pip installation version of PIL.

If you decide on the ImageMagick (http://www.imagemagick.org/) one, you have to install it yourself. There are also several tutorials on installing it depending on your operating system.

thumbor comes pre-packaged with the necessary bindings to talk to your installation of imagemagick in python, so you just need to install the ImageMagick library itself.

If you go with the graphicsmagick engine, you have to install it. More info on their website at http://www.graphicsmagick.org/. thumbor also requires pgmagick (python bindings for GraphicsMagick) to be installed. More info on https://bitbucket.org/hhatto/pgmagick/src.

If you decide on the OpenCV engine, you'll need to have it installed. Below we explain how to install OpenCV in the Facial and Feature Detection section.

Facial and Feature Detection

For facial or feature detection (more on that at Detection Algorithms) thumbor relies on OpenCV's (http://opencv.willowgarage.com/wiki/Welcome) detection algorithms. In order to use the detectors that come pre-packaged with thumbor you'll need to have both OpenCV 2.2 (or greater) and it's bindings for python working.

thumbor also requires PIL to be installed if you are using the OpenCV library, since thumbor uses PIL internally to load images from buffers.

Installing OpenCV with python support can be a little tricky, so here are some resources that might help you get started:

Clone this wiki locally