Installing OpenCV on Linux


Here is brief description on how to build the latest version of OpenCV. See INSTALL file shipped with OpenCV for more detail. The required packages are listed below:

  • GCC 4.x or later. In Ubuntu/Debian it can be installed with
sudo apt-get install build-essential
  • CMake 2.6 or higher
  • Subversion (SVN) client
  • GTK+ 2.x or higher, including headers (e.g. libgtk2.0-dev)
  • pkgconfig
  • libpng, zlib, libjpeg, libtiff, libjasper with development files (e.g. libjpeg-dev)
  • Python 2.3 or later with developer packages (e.g. python-dev)
  • SWIG 1.3.30 or later
  • libavcodec etc. from ffmpeg 0.4.9-pre1 or later + headers. (Video support with FFMPEG)
  • libdc1394 2.x + headers for video capturing from IEEE1394 cameras

Getting OpenCV source code from the repository

Enter your working directory (denoted as ~/<your_working_dir> below) and type:

cd ~/<your_working_dir>
svn co https://opencvlibrary.svn.sourceforge.net/svnroot/opencvlibrary/trunk

to get the current OpenCV snapshot, or

cd ~/<your_working_dir>
svn co https://opencvlibrary.svn.sourceforge.net/svnroot/opencvlibrary/tags/latest_tested_snapshot

to get the latest tested OpenCV snapshot.

Compilation

To build OpenCV using cmake, type the following:

cd ~/<your_working_dir>/opencv  # the directory should contain CMakeLists.txt, INSTALL etc.
mkdir release # create the output directory
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON ..

You will see the configuration results. Various build options can be adjusted interactively using CMake GUI. Then you build the library and install it to the target directory:

make
sudo make install

Path Configuration

In order to use the libraries in Linux, thier path should be specified. Library path can be specified in /etc/ld.so.conf.d/ by creating a file called ‘opencv.conf’ which contains the opencv library path (Default configuration is /usr/local/lib). Once the file is created, execute

sudo ldconfig -v

to make new set library pathes effective. Or you can also add the path to LD_LIBRARY_PATH:

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

Test OpenCV

You can run the correctness tests cxcoretest and cvtest for a quick sanity check:

cd ~/<your_working_dir>/opencv/release/bin
./cxcoretest
./cvtest -d ~/<your_working_dir>/opencv/tests/cv/testdata/cv

You can also build and run OpenCV samples:

cd ~/<your_working_dir>/opencv/samples/c
. build_all.sh
./delaunay
# try other samples (some of them require a camera) ...

=================================================================================


Though there are some problems related to ‘ffmpeg’, i needed opencv for image processing only. So i have not mentioned here what to do about ‘ffmpeg’. 
Things to know before starting installation:
 i. This installation needs a C++ compiler like “g++”(which is most commonly used). So install g++ first using Synaptic or by following command at the terminal–

$ sudo apt-get install g++
ii. OpenCV requires GTK+ 2.0 or higher for displaying images. GTK is graphical user interface library. Type out the following code to know the version of GTK+ installed on ur pc.
$ dpkg -l | grep libgtk
This command should give o/p something like: libgtk-directfb-2.0-0 2.16.1-0ubuntu2 If not, then u need to install the libraries for GTK+ 2.0 first, then start with this opencv installation. To install GTK+ 2.0 libraries, type out the following command:
$ sudo apt-get install libgtk2.0-dev
If both g++ & GTK+ 2.0 are there then proceed as follows: I am using Ubuntu 9.04 (Jaunty Jackalope) and i did the following steps to install & configure OpenCV(ver 1.0.0.6) successfully: 1. Go to Synaptic Package Manager (System> Administration> Synaptic Package Manager) 2. Search for “opencv” and install the main “opencv” package and the following lib files: libcv libcv-dev libcvaux libcvaux-dev libhighgui libhighgui-dev opencv-doc (‘python-opencv’ not required). (you can also install opencv directly from the terminal by “sudo apt-get install” the above lib files 3. After installing all the packages, open a terminal & type this code:
export LD_LIBRARY_PATH=/home/opencv/lib export PKG_CONFIG_PATH=/home/opencv/lib/pkgconfig
The above ones are default paths for the opencv libraries. 4. For testing: Create a new folder & a file “hello.cpp” in it using any text editor & type this code in it:
#include cv.h /* required to use OpenCV */ #include highgui.h /* required to use OpenCV's highgui */ #include stdio.h int main(int argc, char *argv[]) { IplImage* img=0; /* pointer to an image */ printf("Hello\n"); if(argv[1] != 0) img = cvLoadImage(argv[1], 0); // 1 for color else printf("Enter filename\n"); if(img != 0) { cvNamedWindow("Display", CV_WINDOW_AUTOSIZE); // create a window cvShowImage("Display", img); // show image in window cvWaitKey(0); // wait until user hits a key cvDestroyWindow("Display"); } else printf("File not found\n"); return 0; }
5. To check the path where opencv & other lib files are stored, do:
$ pkg-config --cflags opencv
(output will come as) -I/usr/include/opencv
$ pkg-config --libs opencv
(output will come as) -lcxcore -lcv -lhighgui -lcvaux -lml These paths are needed to compile your opencv programs, as given in the next step. 6. To compile & run:
$ g++ -I/usr/include/opencv -lcxcore -lhighgui -lm hello.cpp ./a.out img
where “img” is the name of any image within the same folder with extension. You should be able to see “Hello” and the image in a different window. -> If this runs, Congrats! now you can run any C/C++ program with opencv lib. Else, try
$export PATH=$HOME/usr/bin/:$PATH
and go to step3 again. 7. Now lets simplify the above big command by making a shortcut for it: go to your local home directory(cd /home/) and open the .bashrc file using gedit(the file will be hidden). Append the following to the file:
alias gcv="g++ -I/usr/include/opencv -lcv -lcxcore -lcvaux -lhighgui -lm"
and save. Close the terminal and open it again.(as this process requires relogin of the terminal) 8.Now, go to directory containing a sample program & do
$ gcv filename.c && ./a.out or $ gcv filename.c $ ./a.out input_img.jpg
As you can see the commands now become similar to $cc filename.c, $./a.out which are used normally for compiling and executing C programs. **************************** Some ways to check whether all lib files are installed- 1. $ apt-cache search opencv returns: libcv-dev - development files for libcv libcv0.9-0c2 - computer vision library libcvaux-dev - development files for libcvaux libcvaux0.9-0c2a - computer vision extension library libhighgui-dev - development files for libhighgui libhighgui0.9-0c2 - computer vision GUI library opencv-doc - OpenCV documentation and examples
=================================================================================


Installing opencv in linux(Ubuntu) from .tar.gz file

September 10, 2009 Leave a comment Go to comments
2 Votes
Quantcast
I installed opencv for g++ in Ubuntu 9.04 (jaunty) through the following procedure. Things to know before starting installation: i. This installation needs a C++ compiler like “g++”(which is most commonly used). So install g++ first using Synaptic. ii. Type out the following code to know the version of GTK+ installed on ur pc. $ dpkg -l | grep libgtk GTK is graphical user interface library. OpenCV requires GTK+ 2.0 or higher for displaying images. This command should give o/p something like: libgtk-directfb-2.0-0 2.16.1-0ubuntu2 If not, then u need to install the libraries for GTK+ 2.0 first, then start with this opencv installation. If both g++ & GTK+ 2.0 are there then proceed as follows: 1. extract the opencv.tar.gz(right click> extract) into a folder, say “opencv” 2. copy that folder to /home 3. open terminal & cd to that folder $ cd /home/opencv 4. type out: ./configure –prefix=/home/opencv –enable-apps –with-gnu-ld –with-x If g++ is not installed, error may come as: checking for C++ compiler default output file name… configure: error: C++ compiler cannot create executables See `config.log’ for more details. If you check this config.log, it says that g++ compiler not found. So you need to install it first. 5. Assuming all goes well, the configuration program will end with a prompt to ‘make’. Do that and then register the libraries (make install). 6. sudo make Wait patiently, it’ll take time. 7. sudo make install 8. go to /home/ using $ cd ~ 9. Open .bashrc file using your favourite editor, eg: $ gedit .bashrc 10. Append the following 2 lines to it:(before adding check whether these 2 paths respectively contain “lcxcore” & “opencv.pc”. If no, findout the path where these two files are & then modify the path accordingly) export LD_LIBRARY_PATH=/home/opencv/lib export PKG_CONFIG_PATH=/home/opencv/ and save & close .bashrc 11. Close the terminal & reopen(as this process requires relogin of the terminal) 12. Type the following command to check the location of opencv pkg-config –cflags opencv o/p: -I/home/opencv/include/opencv 13. Type the following command to check the location of opencv lib files pkg-config –libs opencv o/p: -L/home/opencv/lib -lcxcore -lcv -lhighgui -lcvaux -lml 14. To compile & build your code, cd into the folder where u have your program(*.cpp) & do: $ g++ -I/home/opencv/include/opencv -L/home/opencv/lib -lcv -lcxcore -lcvaux -lhighgui -lm” 15. To run: $./a.out or $./a.out If things like the following appear- recompile libraries using Windows,GTK+ or Carbon Terminating blah blah.. Then goto synaptic Package Manager & install the library files for GTK+. Then restart from step#3 16.Now lets simplify the above big command by making a shortcut for it: go to your local home directory(cd /home/) and open the .bashrc file using gedit(the file will be hidden). Append the following to the file: alias gcv=”g++ -I/home/opencv/include/opencv -L/home/opencv/lib -lcv -lcxcore -lcvaux -lhighgui -lm” and save. Close the terminal and open it again. 17. Now onwards, to compile, build & run a program, u can simply do: $ gcv filename.cpp $ ./a.out img_name.extension Source: http://abhitak.wordpress.com/2009/08/29/installing-opencv-on-linux-ubuntu-9-04/ http://opencv.willowgarage.com/wiki/InstallGuide_Linux http://abhitak.wordpress.com/2009/09/10/installing-opencv-in-linux-from-tar-gz-file/

2 Responses

  1. maseh bingung om..!!

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

%d bloggers like this: