Jumat, 06 Desember 2013

MEMBUAT APLIKASI SMOOTHING DENGAN OPENCV PADA PENGOLAHAN CITRA

Untuk memenuhi tugas kelompok mengenai pelembutan citra (Smotthing) dengan Opencv pada mata kulliah pengolahan citra, maka kelompok kami akan menjelaskan tentang pembuatan aplikasi smoothing menggunakan Opencv. untuk lebih jelasnya download makalah kelompok kami disini 

Sebelumnya penjelasa smoothing adalah Penyamaan pixel (guna penghalusan) dengan sebelah-sebelahnya, untuk mengurangi kontras dan mensimulasikan citra yang tidak fokus.sedangkan opencv adalah Opencv adalah library Image Processing berbasis bahasa C++. OpenCV digunakan oleh banyak developer, scientist, dan programmer untuk mengembangkan sebuah program pattern recognition

Dan untuk membuat sebuah aplikasi dengan menggunakan opencv disini diperlukan software Microsoft Visual Studio . diabawah ini terdapat codingan untuk membuat aplikasi smoothing



// SMOOTH.cpp : Defines the entry point for the console application.
//

#include"stdafx.h"


#include"opencv2/imgproc/imgproc.hpp"
#include"opencv2/highgui/highgui.hpp"

usingnamespace std;
usingnamespace cv;

/// Global Variables
int DELAY_CAPTION = 1500;
int DELAY_BLUR = 100;
int MAX_KERNEL_LENGTH = 31;

Mat src; Mat dst;
char window_name[] = "KONVERSI GAMBAR";

/// Function headers
int display_caption( char* caption );
int display_dst( int delay );

/**
 * function main
 */
int main( int argc, char** argv )
 {
   namedWindow( window_name, CV_WINDOW_AUTOSIZE );

/// Load the source image
   src = imread( "bugati.jpg", 1 );

if( display_caption( "Original Image" ) != 0 ) { return 0; }

   dst = src.clone();
if( display_dst( DELAY_CAPTION ) != 0 ) { return 0; }

/// Applying Homogeneous blur
if( display_caption( "Homogeneous Blur" ) != 0 ) { return 0; }

for ( int i = 1; i < MAX_KERNEL_LENGTH; i = i + 2 )
       { blur( src, dst, Size( i, i ), Point(-1,-1) );
if( display_dst( DELAY_BLUR ) != 0 ) { return 0; } }

/// Applying Gaussian blur
if( display_caption( "Gaussian Blur" ) != 0 ) { return 0; }

for ( int i = 1; i < MAX_KERNEL_LENGTH; i = i + 2 )
        { GaussianBlur( src, dst, Size( i, i ), 0, 0 );
if( display_dst( DELAY_BLUR ) != 0 ) { return 0; } }

/// Applying Median blur
if( display_caption( "Median Blur" ) != 0 ) { return 0; }

for ( int i = 1; i < MAX_KERNEL_LENGTH; i = i + 2 )
         { medianBlur ( src, dst, i );
if( display_dst( DELAY_BLUR ) != 0 ) { return 0; } }

/// Applying Bilateral Filter
if( display_caption( "Bilateral Blur" ) != 0 ) { return 0; }

for ( int i = 1; i < MAX_KERNEL_LENGTH; i = i + 2 )
         { bilateralFilter ( src, dst, i, i*2, i/2 );
if( display_dst( DELAY_BLUR ) != 0 ) { return 0; } }

/// Wait until user press a key
     display_caption( "End: Press a key!" );

     waitKey(0);
return 0;
 }

int display_caption( char* caption )
 {
   dst = Mat::zeros( src.size(), src.type() );
   putText( dst, caption,
            Point( src.cols/4, src.rows/2),
            CV_FONT_HERSHEY_COMPLEX, 1, Scalar(255, 255, 255) );

   imshow( window_name, dst );
int c = waitKey( DELAY_CAPTION );
if( c >= 0 ) { return -1; }
return 0;
  }

int display_dst( int delay )
  {
    imshow( window_name, dst );
int c = waitKey ( delay );
if( c >= 0 ) { return -1; }
return 0;}
 
setelah memasukan kodingannnya selanjutnya 

 
a.       Kemudian kita setting relese dan debug. Untuk mengaturnya kita masuk ke Project >> Coba Properties

b.     Ketika sudah tampil coba property page nya kemudian klik Linker >>  Input. Pertama kita atur relese. Untuk mengatur relese kita ubah pada bagian Configuration >> Relese >> Additional Include Directories. Kita kita input kodingan. Kodingan yang kita input adalah:
opencv_features2d246.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

    Setelah itu klik OK

c.   Setelah itu kita atur Debug. Caranya sama hanya saja pada Configuration kita ubah menjadi Debug. Yang berbeda hanya kodingannya. Kodingan yang digunakan pada debug adalah:   
                                          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

Setelah itu klik OK
Jika Relese dan Debug sudah kita atur kemudian pilih Apply >> OK

d.    Langkah selanjutnya adalah mengatur alamat folder pada Tools. Kita pilih Tools >> Properties Project >> Project and Solution >> VC++ Directories. Pertama kita atur Library File. Maka yang kita atur pada show directories >> Library files. Selanjutnya kita pilih new line (kita masukan alamat folder penyimpanan) >> OK. kita coppy paste C:\opencv\build\x86\vc9\lib pada library files

e.    Setelah itu kita atur library pada Include files. Kita ubah Show directories foe menjadi Include files.ada 2 alamat yag akan kita input yaitu:
C:\opencv\build\includeselanjutnyaC:\opencv\include\opencv
Kemudian pilih OK

f.    Setelah itu kita copy paste image yang ada pada folder opencv ke dalam folder visual studio. Pertama kita buka folder opencv >> samples >> cpp >> pilih gambar(kita gunakan gambar dengan namafile adalah lena). Image yang ada pada opencv lalu kita copy paste ke dalam folder visual studio.

g.    Setelah itu kita paste image tersebut ke dalam folder Visual Studio 2008 >> Projects >> coba >> coba. Tampilan folder saat image berhasil kita paste pada folder visual studio.

h.   Setelah semua settingan selesai kita atur lalu pilih save project. Kemudian kita jalankan program dengan menngunakan tombol F5 pada keyboard atau kita pilih Debug >> start Debugging.


Tim Penyusun:

SyaifurRohman            (56410779)

Zulfikar Anwar Aziiz    (58410839)