Skip to content
dsarch edited this page Jun 6, 2011 · 14 revisions

thumbor uses the Tornado web server (http://www.tornadoweb.org/), which is automatically installed.

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 - which is installed during thumbor's install.

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, which is installed during thumbor's install.

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 (http://www.pythonware.com/products/pil/) engine, there are no aditional steps as it is installed during thumbor's install. 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