Pembuatan Aplikasi Pengolahan Citra dengan
OpenCV dan Microsoft Visual Studio 2008
Kelompok Deteksi Tepi Citra
Arif Rahman Suryaman 51410080
Maulana Sahid Akbar 54410274
4IA03
Universitas Gunadarma
2013
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)
Di dalam laporan ini akan dijelaskan bagaimana
membuat suatu aplikasi yang berkaitan dengan pengolahan citra deteksi tepi. Sebelumnya,
kami akan memberitahukan bagaimana cara
instalasi dan konfigurasi yang diperlukan dalam pembuatan aplikasi tersebut. Di
halaman terakhir, penulis juga melampirkan source code yang digunakan dalam
pembuatan aplikasi tersebut.
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.
Kemudian Instal OpenCV 2.1 sampai finish, lalu
adapun langkah-langkah konfigurasinya
Ø Buka Microsoft Visual Studio 2008
Ø File -> New -> Project
Ø Pilih Win32 Console Application
Ø Beri nama :" Hello" -> OK -> Finish
Ø Configure Project Directories
Pilih Project -> Properties
-> Configuration Properties -> VC++ Directories
Ø Include Direcrories -------->tambahkan :
C:\OpenCV2.1\include\opencv;
Ø Library Directories--------->tambahkan :
C:\OpenCV2.1\lib;
Ø Source Directories--------->tambahkan : C:\OpenCV2.1\src\cv;
C:\OpenCV2.1\src\cvaux; C:\OpenCV2.1\src\cxcore; C:\OpenCV2.1\src\highgui;
C:\OpenCV2.1\src\ml;
Ø Linker -> Input -> Additional Dependencies
Ø Untuk Debug------>tambahkan : cv210d.lib; cxcore210d.lib; highgui210d.lib;
Ø Untuk Release---->tambahkan: cv210.lib; cxcore210.lib; highgui210.lib;
ALGORITMA
PEMROGRAMAN
Deteksi Tepi Citra (Edge Detection)
Deteksi tepi pada suatu citra adalah suatu
proses yang menghasilkan garis-garis tepi dari obyek citra, tujuannya yaitu
untuk :
- Meningkatkan
penampakan garis batas suatu daerah atau objek di dalam citra
- Mmenandai bagian
yang menjadi detail citra
- Mencirikan batas
objek dan berguna untuk proses segmentasi dan identifikasi objek
- Memperbaiki detail
citra yang kabur
Garis tepi tersebut ditandai dengan jauhnya
perbedaan selisih antar tiap pixel, sehingga kita dapat menentukan bahwa titik
tersebut merupakan tepi.
Terdapat 3 macam tepi dalam citra, yaitu :
a) Tepi
Curam
Tepi curam adalah tepi dengan perubahan
intensitas yang tajam. Arah tepi berkisar 90 derajat.
b) Tepi
Landai
Tepi landai yaitu tepi dengan sudut arah yang
kecil. Tepi landai dapat dianggap terdiri
dari sejumlah tepi-tepi lokal yang lokasinya berdekatan.
c) Tepi
yang mengandung derau
Umumnya tepi yang terdapat pada aplikasi visi
komputer mengandung derau. Operasi peningkatan kualitas citra dapat dilakukan
terlebih dahulu sebelum pendektesian tepi.
ALGORITMA
1.
Siapkan gambar.
2.
Terapkan Gaussianblur pada gambar, yang berguna untuk mengurangi noise.
3.
Konversi gambar yang sudah terfilter, menjadi grayscale.
4.
Menggunakan fungsi sobel.
Listing Program
// Deteksi
Tepi.cpp : Definisi file-file import yang akan digunakan.
//
#include "stdafx.h"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
#include <stdlib.h>
#include <stdio.h>
using namespace cv;
using namespace std;
/** membuat function
main */
int main( int argc, char** argv
)
{
/// buat variable yang akan kita gunakan
Mat src, src_gray, src1;
Mat grad;
char*
window_name = "Hasil Edge Detector";
const char* before = "
Image Before ";
int scale =
1;
int delta =
0;
int ddepth =
CV_16S;
int c;
/// meload gambar
yang akan kita proses ke deteksi tepi
src1 = imread( "source.jpg",1
);
src = imread( "source.jpg",1
);
if( !src.data
)
{ return -1;
}
GaussianBlur( src, src, Size(3,3), 0, 0,
BORDER_DEFAULT );
/// rubah warna
gambar ke abu-abu
cvtColor( src, src_gray, CV_RGB2GRAY );
/// buat interface
window untuk outputnya nanti
namedWindow( before, WINDOW_AUTOSIZE );
namedWindow( window_name, CV_WINDOW_AUTOSIZE
);
/// untuk
menghasilkan gradien_x dan gradien_y
Mat grad_x, grad_y;
Mat abs_grad_x, abs_grad_y;
/// Gradient X
//Scharr( src_gray,
grad_x, ddepth, 1, 0, scale, delta, BORDER_DEFAULT );
Sobel( src_gray, grad_x, ddepth, 1, 0, 3,
scale, delta, BORDER_DEFAULT );
convertScaleAbs( grad_x, abs_grad_x );
/// Gradient Y
//Scharr( src_gray,
grad_y, ddepth, 0, 1, scale, delta, BORDER_DEFAULT );
Sobel( src_gray, grad_y, ddepth, 0, 1, 3,
scale, delta, BORDER_DEFAULT );
convertScaleAbs( grad_y, abs_grad_y );
/// Total Gradient
(approximate)
addWeighted( abs_grad_x, 0.5, abs_grad_y,
0.5, 0, grad );
imshow( before, src1 );
imshow( window_name, grad );
waitKey(0);
return 0;
}
PROGRAM
OUTPUT
Sekian dari kami ( Arif dan Maul ) J
Referensi
ü http://eebit-its.blogspot.com/2012/05/install-opencv-dengan-visual-studio-di.html
source modified file
download here
source modified file
download here
Tidak ada komentar:
Posting Komentar