Useful for python server side deployments that need computer vision.
I did this for a ubuntu 13.04 server. This should work for 12.10 without much of a problem.
Activate the virtualenv
source bin/activate
# or
workon <environment_name>
For numpy and scipy it’s fairly simple
pip install numpy scipy
You can go by two approaches. One is to install opencv globally in your system and then moving those libraries to your virtualenv. This approach has some shortcomings. The globally installed opencv might have been compiled for a different version of python. It gets difficult during deployment to point to the right environment.
Copy globally installed opencv into your virtualenv
Use this incase you want to copy your system installed opencv over to your virtualenv. In the virtualenv you make for your project, do the following.
Copy cv.* (from OpenCV-2.2.0/lib directory) to the virtualenv site-packages
cp /usr/lib/pymodules/python2.7/cv*
$VIRTUAL_ENV/lib/python2.7/site-packages/
Again, I have seen this approach used only by an intern. I can’t vouch for it’s reliability.
The second approach mitigates some of those problems. Thanks to some helpful people on the web, I could figure out how to install OpenCV inside a virtualenv without touching the global python
Dependencies
For opencv, there are system dependencies which can be installed like so,
sudo apt-get install cmake libgtk2.0-dev pkg-config libavcodec-
dev libavformat-devlibswscale-dev libamd2.2.0 libblas3gf libc6
libgcc1 libgfortran3 liblapack3gf libumfpack5.4.0 libstdc++6
build-essential gfortran libatlas-dev libatlas3-base libblas-dev
liblapack-dev libjpeg-dev libpng-dev libtiff-devlibjasper-dev
Download opencv, build it and install it
Downloading
Navigate to a folder to download opencv and download it
cd opencv-2.4.5/
mkdir release
cd release
# notice that in the command below,
# -D INSTALL_PYTHON_EXAMPLES=ON
# is optional.
cmake -D MAKE_BUILD_TYPE=RELEASE -D
CMAKE_INSTALL_PREFIX=$VIRTUAL_ENV/local/ -D
PYTHON_EXECUTABLE=$VIRTUAL_ENV/bin/python -D
PYTHON_PACKAGES_PATH=$VIRTUAL_ENV/lib/python2.7/site-packages -D
INSTALL_PYTHON_EXAMPLES=ON ..
Installation
make -j8
make install
Testing if everything went right
Get into python shell and try the following commands
# enter python shell
# make sure your environment is activated
python
now inside the shell, try the following imports
import cv
import cv2
import numpy
import scipy
these imports shouldn’t throw any error
Later, you might run into a decoder error. As a precaution, reinstall Pillow
pip freeze | grep Pil # to find the Pillow version we're using
pip -I install Pillow==2.0.0 # or whichever version you find from the step above