Opencv is an awesome library for Real-Time Computer Vision. You can read my article on the same blog for details about Opencv. I found this atricle in the internet which is the best article for installing Opencv on Ubuntu. You can visit the following link or you can read it on my own blog.
http://thebitbangtheory.wordpress.com/2011/10/23/how-to-install-opencv-2-3-1-in-ubuntu-11-10-oneiric-ocelot-with-python-support/#comment-224
I will be commenting in between, on how I installed it and what problems I faced
1. Remove any installed versions of ffmpeg and x264
1 | sudo apt-get remove ffmpeg x264 libx264-dev |
2. Get all the dependencies
This will take lots of time seriously. The problem I faced here was that some of the packages are not there or are missing so It was not executing the command.Here is the trick that I used while Installing for the following steps
You can use the very first command as it is i.e. sudo apt-get install update
You can break the second apt-get command like this
sudo apt-get install build-essential
sudo apt-get install checkinstall
sudo apt-get install git
See and compare.
.... and so on
Copy all these commands in a file named try and save it. Now run the following command in the terminal
sudo bash try
This execute each command serially and so even if some packages are missing it will install the other packages. And don't worry about the missing packages..You will be doing fine without them.
2 | sudo apt-get install build-essential checkinstall git pkg-config cmake libpng12-0 libpng12-dev libpng++-dev libpng3 libpnglite-dev libpngwriter0-dev libpngwriter0c2 libfaac-dev libjack-jackd2-dev libjasper-dev libjasper-runtime libjasper1 libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev libva-dev libvdpau-dev libvorbis-dev libx11-dev libxfixes-dev libxvidcore-dev texi2html yasm zlib1g-dev zlib1g-dbg zlib1g libgstreamer0.10-0 libgstreamer0.10-dev libgstreamer0.10-0-dbg gstreamer0.10-tools gstreamer0.10-plugins-base libgstreamer-plugins-base0.10-dev gstreamer0.10-plugins-good gstreamer0.10-plugins-ugly gstreamer0.10-plugins-bad gstreamer0.10-ffmpeg pngtools libtiff4-dev libtiff4 libtiffxx0c2 libtiff-tools libjpeg8 libjpeg8-dev libjpeg8-dbg libjpeg-prog libavcodec-dev libavcodec52 libavformat52 libavformat-dev libxine1-ffmpeg libxine-dev libxine1-bin libunicap2 libunicap2-dev libdc1394-22-dev libdc1394-22 libdc1394-utils swig python-numpy libpython2.7 python-dev python2.7-dev libjpeg-progs libjpeg-dev libgtk2.0-0 libgtk2.0-dev gtk2-engines-pixbuf |
This step will not take much time
1 | ./configure -- enable -static |
NOTE: In my computers (64-bit) I had to add the flags “–enable-pic –enable-shared” to the configuration. Otherwise I would get compilation errors when building OpenCV. If you get them too, run
and reconfigure and rebuild using
1 | ./configure -- enable -static -- enable -pic -- enable -shared |
4. Download and install ffmpeg – download any recent stable snapshot from
http://ffmpeg.org/download.html (I used ffmpeg-0.8.5.tar.gz) and extract it to a folder. Then enter the folder and configure and build it:
This may take some time.
1 | ./configure -- enable -gpl -- enable -libfaac -- enable -libmp3lame -- enable -libopencore-amrnb -- enable -libopencore-amrwb -- enable -libtheora -- enable -libvorbis -- enable -libx264 -- enable -libxvid -- enable -nonfree -- enable -postproc -- enable -version3 -- enable -x11grab |
NOTE: Once again, in my computers (64-bit) I had to add the flags “–enable-pic –enable-shared” to the configuration. Otherwise I would get compilation errors when building OpenCV. If you get them too, run
and reconfigure and rebuild using
1 | ./configure -- enable -gpl -- enable -libfaac -- enable -libmp3lame -- enable -libopencore-amrnb -- enable -libopencore-amrwb -- enable -libtheora -- enable -libvorbis -- enable -libx264 -- enable -libxvid -- enable -nonfree -- enable -postproc -- enable -version3 -- enable -x11grab -- enable -pic -- enable -shared |
This step can also take some time. Just sit behind and watch.
3 | cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/ local -D BUILD_PYTHON_SUPPORT=ON -D BUILD_EXAMPLES=ON .. |
7. Configure Linux – add the following line to your .bashrc in order to tell linux where the shared libraries for OpenCV are located without having to enter it everytime you start a new terminal:
1 | export LD_LIBRARY_PATH=/usr/ local /lib |
using any text editor add the following lines to the end of your /etc/bash.bashrc file
root permission should be given to gedit. You cannot edit the bash.bashrc file without it.
The following command will work for you
sudo gedit /etc/bash.bashrc
1 | PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/ local /lib/pkgconfig |
8. Reboot.
That’s it! If you perform all the steps indicated you should have OpenCV installed in your system. You can check the samples in <your opencv folder>/samples/ . To compile all the C/C++ samples at once you can enter the <your opencv folder>/samples/c folder and give the build_all.sh script permissions to be executed
Then just run
and all the samples will be compiled.
To make python work run
If no error occurs, then the python wrappers are successfully installed.
To compile code that uses OpenCV libraries use
1 | g++ `pkg-config --cflags opencv` my_code.cpp -o my_code `pkg-config --libs opencv` |
If you find any problems in this tutorial post them in the comments. I can’t promise that I’ll find the solution, since I’m not an expert, but I’ll try.
Update (24/10/11): I placed an entry on this blog on
How to use CMake with OpenCV to build projects that use the OpenCV libraries.Check it out if you want
Update (29/01/12): As suggested by blog reader Cactus (thanks for your contribution
), I’ve added the packages “libopencore-amrnb-dev” and “gtk2-engines-pixbuf” to step 2.
Later I’ll post some basic projects using OpenCV.
I successfully installed opencv on my system. Hoping same from your side. Gud Luck . Happy Coding.
No comments:
Post a Comment