How to Use OpenCV with Ubuntu and Eclipse

Assalammu’alaikum.. 😀

Kali ini saya akan share bagaimana menginstall opencv di ubuntu dan bagaimana menggunakan eclipse sebagai IDE yang digunakan untuk mengimplementasikan computer vision dengan menggunakan openCV. Pertama saya akan menjelaskan apa itu Computer Vision atau kita singkat dengan CV, cv merupakan suatu disiplin ilmu tersendiri (setidaknya menurut saya sendiri) yang basic-nya adalah menggunakan teknik-teknik image processing hingga penggunaan machine learning, tujuannya sebenarnya sederhana, yaitun memberikan kemampuan pengelihatan membedakan antara satu objek dengan objek lain dari apa yang dilihat oleh komputer. Biasa yang digunakan sebagai indra pengelihatan adalah camera seperti web-cam, atau mungkin yang komputer lihat adalah suatu gambar atau video lalu di process sehingga komputer dapat membedakan suatu objek tertentu yang diperintahkan oleh programmer.

Jika kita membuat program atau perangkat lunak CV dari awal (from scratch) mungkin akan sangat sulit, dikarenakan kita diharuskan mengolah matriks yang sangat kompleks dan mungkin ukurannya bukan ukuran yang kecil, misalkan image yang kita hadapi berukuran 640 x 430, artinya jumlah pixel yang akan ada dalam matriks atau ordo matriks yang kita hadapai adalah 640 x 430 dan artinya ada 275200 elemen nilai yang harus diakses dan dikenakan proses komputasi, dan itu baru satu gambar. Pada dasarnya suatu video adalah kumpulan dari image yang berisi citra yang berbeda, sehingga ketika kumpulan images itu berubah atau saling bergantian tampil dengan cepat maka gambar akan terlihat bergerak. Efeknya adalah akan ada proses komputasi yang sangat banyak terjadi, dan dibutuhkan struktur data yang tepat agar proses komputasi berjalan lebih efisien namun tetap efektif. Struktur data tersebut nantinya harus dapat digunakan dalam implementasi algoritma tertentu yang akan digunakan dalam pembuatan program yang meng-implementasikan computer vision.

OpenCV merupakan framework atau library yang dapat kita manfaatkan dalam pembangunan program computer vision yang berbasis opensource sehingga kita akan lebih mudah dalam mencari dokumentasi mengenai opencv.

Teknologi yang saya gunakan saat artikel ini dibuat adalah :

  1. Ubutnu 12.04
  2. OpenCV 2.4.3
  3. C/C++ (C)
  4. GCC 4.6
  5. Eclipse Juno

Dalam melakukan instalasi opencv pada suatu operating system terdapat beberapa konfigurasi yang harus dipenuhi. Saya telah membuat suatu shell script sederhana untuk mempermudah dalam instalasi dan konfigurasi opencv dalam ubuntu, sehingga bagi siapa saja yang ingin melakukan instalasi opencv dengan menggunakan file setupopencv.sh dapat melakukan dengan langkah berikut :

  1. Copy paket opencv versi 2.4.3 (versi opencv terbaru saat blog ini direlease) ke dalam directory home (/home/user/)
  2. copy setupopencv.sh ke dalam directory home (/home/user/)
  3. buka terminal, lalu masuk ke directory home atau ketik $cd ~ atau directory home
  4. eksekusi perintah : $./setupopencv.sh

(file setupopencv.sh ini hanya berlaku untuk opencv 2.4.3, jika ingin diganti tinggal buka scriptnya lalu cari file kompresi opencv dan rubah setiap baris yang bertuliskan file kompresi opencv-nya, rubah versinya menjadi versi yang anda miliki)

referensi sumber opencv : http://opencv.willowgarage.com/wiki/

Source file setupopencv.sh saya dan OpenCV 2.4.3 juga dapat di download disini : https://github.com/situkangsayur/Paket-OpenCV-2.4.3

maka shell script tersebut akan melakukan proses instalasi dan konfigurasi ke dalam ubuntu anda.

Proses yang terjadi adalah:

  1. Buat folder ~/project/opencv
  2. mengekstrak paket kompresi opencv 2.4.3 tar.bz atau tar.gz ke directory ~/project/opencv
  3. melakukan proses instalasi untuk library yang dibutuhkan ubuntu untuk melakukan instalasi dan konfigurasi opencv di ubuntu dengan menggunakan apt-get
  4. Melakukan pembuatan folder release
  5. Membuild library opencv didalam folder release dan melakukan instalasi dan konfigurasi opencv

Screenshot from 2012-12-03 01:16:41

 

Kondisi ketika proses instalasi

 

Setelah itu jika tidak terjadi error apapun maka opencv telah terpasang pada ubuntu anda. Selanjutnya adalah bagaimana kita mencoba opencv apakah opencv sudah terpasang dengan benar atau belum. Dalam artikel ini saya menggunakan bahasa pemrograman C/C++ atau lebih tepatnya bahasa C.

Screenshot from 2012-12-03 02:11:51

 

Kondisi ketika selesai installasi dan konfigurasi

Untuk mencoba kita dapat menggunakan terminal, masuk k ke directory “/home/user/projects/opencv/samples/c” , dengan : $cd /home/user/projects/opencv/samples/c

Screenshot from 2012-12-03 02:19:12

 

perintah menuju direktori tempat sample code opencv 

didalam tersebut terdapat sample-sample code dari opencv yang memang sudah ada ketika kita melakukan ektraksi library opencv. Untuk melakukan build secara bersama-sama seluruh script dengan memanfaatkan shell script build_all.sh yang sudah disediakan didalam direktori tersebut.

Screenshot from 2012-12-03 02:13:19

 

Ketika build_all.sh di eksekusi, untuk melakukan compile secara bersamaan

Setelah selesai dibuild maka anda bisa coba melakukan running pada salah satu filenya, misalkan program pada script “contours.c”, anda dapat langsung mencoba menjalankan program tersbut dalam terminal, di dalam direktori sebelumnya dengan mengetikan perintah $./countur

Screenshot from 2012-12-03 02:21:35

hasil running :

Screenshot from 2012-12-03 02:22:11

Setelah berhasil, maka tahap selanjutnya adalah melakukan konfigurasi pada eclipse ( yang saya gunakan saat artikel ini dibuat adalah versi juno) dan gunakan eclipse yang memang untuk C/C++ Development Toolkit, atau menggunakan eclipse java atau yang lain tetapi sudah terpasang fitur CDT. Langkah-langkah untuk membuat project opencv dengan bahasa C/C++ dengan menggunakan eclipse adalah sebagai berikut:

Screenshot from 2012-12-03 01:46:34

1. Buat project C/C++ baru.

Screenshot from 2012-12-03 01:48:11

2. Misalkan Project bernama “SampleOpenCV

Screenshot from 2012-12-03 01:49:20
3. click Finish

4. Lalu atur konfigurasi dari project tersebut. Click kanan pada project

Screenshot from 2012-12-03 01:52:55

5. Lalu atur konfigurasi pada properties, pada C/C++ build -> setting – > GCC C++ linker -> includes , seperti pada gambar di bawah ini :

(header yang di-include-kan adalah “opencv/highgui” dan “opencv/cv.h”)

Screenshot from 2012-12-03 01:54:27

6. Dan juga tambahkan lokasi header opencv pada konfigurasi GCC C++ Compiler – > includes

Screenshot from 2012-12-03 01:55:18

7. Click “Ok”

Lalu konfigurasi selesai, kita tinggal membuat script program yang kita inginkan dalam project tersebut :D/

misalkan script program tersebut adalah seperti dibawah ini :


#include "opencv/highgui.h"
#include "opencv/cv.h"

int main(int argc, char** argv) {
        //Pada bagian url dan filename pada code dibawah ini diganti dengan url file video yang ada dalam komputer kita
        //dalam bentuk string
	IplImage* img = cvLoadImage("/home/hendri/Pictures/spring.png", 3);
	IplImage* img2 = cvCreateImage(cvSize(img->width, img->height), img->depth,
			3);
	IplImage* img3 = cvCreateImage(cvSize(img->width, img->height), img->depth,
			1);

	cvCvtColor(img, img2, CV_RGB2YCrCb);
	cvCvtColor(img, img3, CV_RGB2GRAY);

	cvNamedWindow("Nama windows1", CV_WINDOW_AUTOSIZE); //init windows
	cvNamedWindow("Nama windows2 YCRCB", CV_WINDOW_AUTOSIZE); //init windows
	cvNamedWindow("Nama windows3 HSV", CV_WINDOW_AUTOSIZE); //init windows

	cvShowImage("Nama windows1", img);
	cvShowImage("Nama windows2 YCRCB", img2);
	cvShowImage("Nama windows3 HSV", img3);

	cvWaitKey(0);

	cvReleaseImage(&img);
	cvReleaseImage(&img2);
	cvReleaseImage(&img3);

	cvDestroyWindow("Nama windows1");
	cvDestroyWindow("Nama windows2 YCRCB");
	cvDestroyWindow("Nama windows3 HSV");
}

Setelah itu klik kanan pada project lalu lalu pilih Build :

Screenshot from 2012-12-03 01:58:20

Dan hasilnya adalah sebagai berikut :

Screenshot from 2012-12-03 02:02:23

Dan Script Codes lainnya adalah untuk menjalankan file video :

#include
#include

using namespace cv;

int main(int argc, char** argv) {
	cvNamedWindow("video", CV_WINDOW_AUTOSIZE);
        //Pada bagian url dan filename pada code dibawah ini diganti dengan url file video yang ada dalam komputer kita
        //dalam bentuk string
        CvCapture* capture = cvCreateFileCapture("/home/hendri/Videos/Hitler and P = NP(480p_H.264-AAC).
	IplImage* frame;
	while (1) {

		frame = cvQueryFrame(capture);
		if (!frame)
			break;
		cvShowImage("video", frame);

		char c = cvWaitKey(33);
		if (c == 27)
			break;
	}
	cvReleaseCapture(&capture);
	cvDestroyWindow("video");
}

Dan hasil dari running video tersebut seperti pada gambar diberikut:

Screenshot from 2012-12-03 02:10:23

Dan begitulah sedikit langkah tutorial untuk menginstal opencv pada sistem operasi ubuntu, semoga sedikit banyak dapat membantu bagi yang tertarik dengan computer vision. 😀

referensi :

  1. http://opencv.willowgarage.com/wiki/
  2. Bradski Gary,Kaehler Adrian (2008). Learning OpenCV Computer Vision with the OpenCV Library. O’Reilly Media inc. New York
  3. Intel (2000). Open Source Computer Vision Library. Intel Corporation. USA

Wassalam… :D/

Advertisements

One thought on “How to Use OpenCV with Ubuntu and Eclipse

  1. Belajar Online April 22, 2014 / 3:14 pm

    Wuisssh keren gan OpenCVnya, baru ngeh guenya :3

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