Jumat, 06 Desember 2013

Penggabungan Citra menggunakan OpenCV dan Ms. Visual Studio 2008



Aplikasi Pengolahan Citra dengan OpenCV dan Microsoft Visual Studio 2008

  
Kelompok Penggabungan Citra
Hanif Ontorizarwin 53410120
Khairul Fatan 53410881
4IA03


Pendahuluan
            Seiring dengan pesatnya kemajuan teknologi informasi, data atau informasi semakin banyak  bila dilihat dari bentuk dan jenisnya. Mulai dari teks, gambar, audio, dan juga video.
Gambar, atau yang bisa juga disebut sebagai citra, berperan sangat penting sebagai bentuk informasi visual. Ada yang mengatakan bahwa citra (gambar) lebih berarti dari ribuan kata-kata. Saya membenarkan hal tersebut, karena memang benar  dengan melihat suatu gambar kita langsung bisa mendefinisikan sendiri mengenai gambar tersebut. Dan juga bisa memberikan banyak arti lainnya.
            Terkadang citra yang ada itu tidak sepenuhnya baik maksudnya tidak sepenuhnya sempurna, perlu dilakukan suatu proses untuk membuatnya menjadi lebih baik. Proses inilah yang dinamakan pengolahan citra.
Teknik pengolahan citra-pun sudah semakin banyak digunakan. Contohnya saja dalam dunia perdagangan. Kita semua mungkin sudah tahu dengan yang namanya barcode. Penggunaan barcode di supermarket dibuat untuk mempermudah pembacaan harga. Bila tidak menggunakan barcode mungkin petugas  bisa  dibuat sulit, karena  harus mengecek harga barang satu-satu.  Selain itu masih ada lagi, sidik jari untuk kehadiran juga termasuk aplikasi pengolahan citra.
            Pengolahan citra merupakan suatu proses perbaikan kualitas citra agar mudah di interpretasi oleh manusia atau komputer. Proses-proses yang termasuk ke dalam pengolahan citra, yaitu :
1.  Perbaikan kualitas citra (Image Enhancement)
2.  Pemugaran citra (Image Restoration)
3.  Pemampatan citra (Image Compression)
4.  Segmentasi citra (Image Segmentation)
5.  Pengorakan citra (Image Analysis)
6.  Rekonstruksi citra (Image Recontruction)


Instalasi dan Konfigurasi
Dalam pembuatan aplikasi pengolahan citra, penulis menggunakan perangkat lunak berikut :
1.  Microsoft Visual Studio 2008
Microsoft Visual Studio adalah software yang digunakan sebagai compiler. Compiler adalah perangkat lunak yang digunakan untuk mengubah source code dari suatu bahasa pemrograman (dalam kasus ini bahasa pemrogramannya yaitu C++) menjadi native code / bahasa mesin (file executable) agar dapat dieksekusi oleh komputer.  Microsoft Visual Studio  ini  dibuat oleh perusahaan Microsoft.

2.  OpenCV 2.1
OpenCV (Open Computer Vision)  merupakan semacam library  yang digunakan dalam membuat aplikasi yang berkaitan dengan computer vision. OpenCV juga menyediakan banyak fungsionalitas, yang tentunya dapat mempersingkat waktu  dalam pembuatan aplikasi yang lumayan rumit.

Spesifikasi minimum sistem yang harus Anda miliki yaitu :
ü  1,6 GHz or faster processor
ü  1024 MB RAM
ü  3 GB or available hard-disk space
ü  5400 RPM hard-disk drive
ü  Direct X 9 – capable video car running at 1024 x 768 or higher display resolution
ü  DVD – ROM drive

Instalasi
Langkah-langkah Instalasi Microsoft Visual Studio 2008 :
1.   Masukkan DVD software MS Visual Studio Team System 2008 Team Suite kedalam DVD Room PC/laptop Anda, kemudian akan muncul auto run CD. Jika tidak muncul maka klik file Setup.exe sehingga muncul seperti gambar berikut ini :


2.   Kemudian pilih menu yang paling atas yaitu "Install Visual Studio 2008", lalu klik sehingga muncul seperti gambar berikut ini :


3.   Tunggulah hingga progressbar selesai loading sehingga muncul tombol "Next" seperti gambar berikut ini :

4.   Kemudian klik tombol "Next" di atas sehingga muncul seperti gambar berikut ini :


5.   Karena saya menggunakan lisensi yang disediakan oleh kantor saya, maka secara otomatis product key number akan terisi. Jangan lupa pilih "I have read and accept the license terms" lalu klik tombol "Next" lagi sehingga muncul seperti gambar berikut ini :


6.   Pilih saja fitur "Default" sesuai rekomendasi sistem. Jika, tampilan Anda sudah sesuai dengan gambar di atas. Silakan klik tombol "Install" sehingga muncul seperti gambar berikut ini :


7.   Inilah proses instalasi komponen, tunggulah beberapa menit hingga proses benar-benar selaesai. Lalu muncul seperti gambar berikut ini :


8.   Instalasi telah selesai dilakukan maka klik tombol "Finish". Perlu diketahui bahwa sebelumnya saya sudah melakukan instalasi Microsoft .NET 2.0, 3.0, dan 3.5.

Instalasi OpenCV
1.    Download terlebih dahulu software OpenCv 2.4.6
2.    Setelah selesai download kita akan akan muncul jendela instalasi klik saja next maka kita akan masuk ke proses ekstrak.
3.    Tunggu sampai proses ekstraksi selesamaka OpenCV sudah terinstall dan dapat digunakan.

Pembuatan Project
·      Buka Microsoft Visual Studio 2008
·      File à New à Project
·      Pilih Win32 Console Application
·      Beri nama : "Penggabungan" (nama bisa diubah sesuai keinginan anda) à OK à Finish
·      Konfigurasi Project Directories
Klik kanan projectàProperties àLinker àInput à

Untuk release
opencv_featurs2d246.lib
opencv_highgui246.lib
opencv_core246.lib
opencv_imgproc246.lib
opencv_ml246.lib
opencv_objdetect246.lib
opencv_video246.lib
opencv_contrib246.lib
opencv_calib3d246.lib

Untuk debug
opencv_features2d246.lib
opencv_highgui246d.lib
opencv_core246d.lib
opencv_imgproc246d.lib
opencv_ml246d.lib
opencv_objdetect246d.lib
opencv_video246d.lib
opencv_contrib246d.lib
opencv_calib3d246d.lib

Penjelasan Penggabungan Citra
Secara sederhana penggabungan citra secara definisi ada 3, yaitu :
a.    Fusion adalah penggabungan antara dua citra atau lebih yang dijadikan menjadi suatu citra yang baru dengan menggunakan beberapa algoritma tertentu.
b.    Merging adalah penggabungan dengan pemahaman bahwa dua citra atau lebih yang dijadikan satu dengan teknik penajaman dan penormalan citra tertentu.
c.    Combination adalah penggabungan beberapa band dalam suatu citra multi untuk suatu tujuan tertentu.

Penggabungan citra (image blending) dilakukan dengan cara menimpakan (superimpose) sebuah citra pada citra yang lain. Operasi yang sesungguhnya adalah dengan melakukan operasi penjumlahan terhadap citra yang ada dengan bobot masing-masing. Rumus untuk penggabungan 2 buah citra adalah :
 
                                                         
dengan danadalah bobot untuk citra A dan B. Biasanya nilai total dari bobot untuk sebuah lokasi piksel adalah 1, sehingga.


Algoritma
1.    Masukkan bilangan desimal yang diinginkan diantara 0 sampai 1
2.    Jika inputan yang dimasukkan diantara 0 sampai 1 maka nilai alpha akan mengikuti nilai inputan, sebaliknya jika diluar 0 sampai 1 maka nilai alpha menjadi 0.5
3.    Membaca 2 gambar yang ingin digunakan, keduanya harus mempunyai ukuran yang tipe file yang sama
4.    Jika gambar yang ditentukan tidak ada maka akan memunculkan pesan error dan kembali ke penulisan program.
5.    Membuat window baru untuk menampilkan hasil dengan autosize bernilai 1
6.    Menentukan nilai beta dengan menggunakan inputan dari alpha sebelumnya
7.    Mengkalkulasikan dua array (gambar) dengan nilai alpha, beta, dan gamma dan menyimpannya pada variable dst. Gamma bernilai 0.0

Listing Program
#include <cv.h>
#include <highgui.h>
#include <iostream>

using namespace cv;

int main( int argc, char** argv )
{
 double alpha = 0.5; double beta; double input;

 Mat src1, src2, dst;

 /// Ask the user enter alpha
 std::cout<<" Penggabungan Citra "<<std::endl;
 std::cout<<"====================="<<std::endl;
 std::cout<<"* Enter alpha [0-1]: ";
 std::cin>>input;

 /// We use the alpha provided by the user if it is between 0 and 1
 if( input >= 0.0 && input <= 1.0 )
   { alpha = input; }

 /// Read image ( same size, same type )
 src1 = imread("../images/vcc.jpg");
 src2 = imread("../images/arsenal.jpg");

 if( !src1.data ) { printf("Error loading src1 \n"); return -1; }
 if( !src2.data ) { printf("Error loading src2 \n"); return -1; }

 /// Create Windows
 namedWindow("Hasil Penggabungan", 1);

 beta = ( 1.0 - alpha );
 addWeighted( src1, alpha, src2, beta, 0.0, dst);

 imshow( "Hasil Penggabungan", dst );

 waitKey(0);
 return 0;
}

Gambar Awal
      

           Gambar 1                                                        Gambar 2

Output Program

Hasil Penggabungan Citra




Referensi:

2 komentar:

  1. mw tanya mas kalau tutorial menggabungkan beberapa gambar menjadi satu gambar memanjang , dengan cvmerge ada gk mas?

    BalasHapus
  2. mau nanya untuk pengurangan citra gmna ya mas...misalkan ada gambar jalan dengan kendaraan dan gambar jalan kosong..untuk pengurangan gambarnya bagaimana ya mas biar kita dapet objek kendaraannya aja.saya coba pakai opencv2.3 dan visual studio c++ belum bisa...tolong bantu script ya mas...terimakasih

    BalasHapus