Something More for Research

Explorer of Research #HEMBAD

OpenCV installation for Ubuntu 12.04

Posted by Hemprasad Y. Badgujar on May 11, 2014


Introduction

OpenCV (open source computer vision) is released under a BSD license and hence it’s free for both academic and commercial use. It has C++, C, Python and Java interfaces and supports Ubuntu Linux. OpenCV was designed for computational efficiency and with a strong focus on real-time applications.

OpenCV is the most popular and advanced code library for Computer Vision related applications today, spanning from many very basic tasks (capture and pre-processing of image data) to high-level algorithms (feature extraction, motion tracking, machine learning). It is free software and provides a rich API in C, C++, Java and Python. Other wrappers are available. The library itself is platform-independent and often used for real-time image processing and computer vision.

Installation

Many people are having problem with installing OpenCV even from Ubuntu Software Centre. Here a simple .sh script file get all dependancy files from internet and compile the source finally install opencv on your system. So that users can easily write their CV files from C,C++, and Python

Step 1

Download the latest opencv.sh from https://github.com/jayrambhia/Install-OpenCV/blob/master/Ubuntu/ or Copy the following script to gedit and save as opencv.sh

version="$(wget -q -O - http://sourceforge.net/projects/opencvlibrary/files/opencv-unix | egrep -m1 -o '\"[0-9](\.[0-9])+' | cut -c2-)"
 echo "Installing OpenCV" $version
 mkdir OpenCV
cd OpenCV
echo "Removing any pre-installed ffmpeg and x264"
sudo apt-get -qq remove ffmpeg x264 libx264-dev
echo "Installing Dependenices"

sudo apt-get -qq install libopencv-dev build-essential checkinstall cmake pkg-config yasm libjpeg-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev python-dev python-numpy libtbb-dev libqt4-dev libgtk2.0-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils ffmpeg

sudo apt-get install libgstreamer0.10-0 libgstreamer0.10-dev 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


sudo apt-get install vlc vlc-dbg vlc-data libvlccore5 libvlc5 libvlccore-dev libvlc-dev tbb-examples libtbb-doc libtbb2 libtbb-dev libxine1-bin libxine1-ffmpeg libxine-dev 

sudo apt-get install libmysqlcppconn-dev
echo "Downloading OpenCV" $version wget -O OpenCV-$version.zip http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/$version/opencv-"$version".zip/download echo "Installing OpenCV" $version unzip OpenCV-$version.zip cd opencv-$version mkdir build cd build cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON .. make -j 4 sudo checkinstall sudo sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf' sudo ldconfig echo "OpenCV" $version "ready to be used"

Step 2

Open terminal.

   1 $ chmod +x opencv.sh
   2 $ ./opencv.sh
   3 

This will complete opencv installation

Running OpenCV

Python

 

Loading an image in Python

Toggle line numbers

   1 from cv2.cv import *
   2 
   3 img = LoadImage("/home/USER/Pictures/python.jpg")
   4 NamedWindow("opencv")
   5 ShowImage("opencv",img)
   6 WaitKey(0)
   7 

 

   1 $ python filename.py
   2 

 

in C

Loading an image file in C

Toggle line numbers

   1 #include
   2 #include<opencv2/highgui/highgui.hpp>
   3 
   4 int main()
   5 {
   6     IplImage* img = cvLoadImage("/home/USER/Pictures/python.jpg",CV_LOAD_IMAGE_COLOR);
   7     cvNamedWindow("opencvtest",CV_WINDOW_AUTOSIZE);
   8     cvShowImage("opencvtest",img);
   9     cvWaitKey(0);
  10     cvReleaseImage(&img);
  11     return 0;
  12 }
  13 

 

To compile C program, Let’s assume the file is opencvtest.c

   1 $ gcc -ggdb `pkg-config --cflags opencv` -o `basename opencvtest.c .c` opencvtest.c `pkg-config --libs opencv`
   2 $ ./opencvtest
   3 

 

In C++

 

Loading an image file in C++

Toggle line numbers

   1 #include<opencv2/highgui/highgui.hpp>
   2 using namespace cv;
   3 
   4 int main()
   5 {
   6 
   7     Mat img = imread("/home/USER/Pictures/python.jpg",CV_LOAD_IMAGE_COLOR);
   8     imshow("opencvtest",img);
   9     waitKey(0);
  10 
  11     return 0;
  12 }
  13 

 

to compile in C++

   1 $ g++ -ggdb `pkg-config --cflags opencv` -o `basename opencvtest.cpp .cpp` opencvtest.cpp `pkg-config --libs opencv`
   2 $ ./opencvtest
   3 

 

Note: Always include OpenCV header files in C and C++ as

   1 #include "opencv2/core/core_c.h"
   2 #include "opencv2/core/core.hpp"
   3 #include "opencv2/flann/miniflann.hpp"
   4 #include "opencv2/imgproc/imgproc_c.h"
   5 #include "opencv2/imgproc/imgproc.hpp"
   6 #include "opencv2/video/video.hpp"
   7 #include "opencv2/features2d/features2d.hpp"
   8 #include "opencv2/objdetect/objdetect.hpp"
   9 #include "opencv2/calib3d/calib3d.hpp"
  10 #include "opencv2/ml/ml.hpp"
  11 #include "opencv2/highgui/highgui_c.h"
  12 #include "opencv2/highgui/highgui.hpp"
  13 #include "opencv2/contrib/contrib.hpp"
  14 

 

A bash script to compile opencv programs.Making a Bash Script to Compile OpenCV:

It’s kind of boring typing all this stuff. So, A bash file to compile OpenCV programs. Name it .compile_opencv.sh and keep it in your home directory.

   1 #!/bin/bash
   2 echo "compiling $1"
   3 if [[ $1 == *.c ]]
   4 then
   5 gcc -ggdb `pkg-config --cflags opencv` -o `basename $1 .c` $1 `pkg-config --libs opencv`;
   6 elif [[ $1 == *.cpp ]]
   7 then
   8 g++ -ggdb `pkg-config --cflags opencv` -o `basename $1 .cpp` $1 `pkg-config --libs opencv`;
   9 else
  10 echo "Please compile only .c or .cpp files"
  11 fi
  12 echo "Output file => ${1%.*}"
  13 

 

Add an alias in .bashrc or .bash_aliases

   1 $ alias opencv="~/.compile_opencv.sh"
   2 $ opencv opencvtest.c
   3 $ ./opencvtest
   4 

 

Advertisements

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

 
Extracts from a Personal Diary

dedicated to the life of a silent girl who eventually learnt to open up

Num3ri v 2.0

I miei numeri - seconda versione

ThuyDX

Just another WordPress.com site

Algunos Intereses de Abraham Zamudio Chauca

Matematica, Linux , Programacion Serial , Programacion Paralela (CPU - GPU) , Cluster de Computadores , Software Cientifico

josephdung

thoughts...

Tech_Raj

A great WordPress.com site

Travel tips

Travel tips

Experience the real life.....!!!

Shurwaat achi honi chahiye ...

Ronzii's Blog

Just your average geek's blog

Karan Jitendra Thakkar

Everything I think. Everything I do. Right here.

VentureBeat

News About Tech, Money and Innovation

Chetan Solanki

Helpful to u, if u need it.....

ScreenCrush

Explorer of Research #HEMBAD

managedCUDA

Explorer of Research #HEMBAD

siddheshsathe

A great WordPress.com site

Ari's

This is My Space so Dont Mess With IT !!

%d bloggers like this: