Rabu, 08 Januari 2014

Edge Detection

 Pada posting kali ini kita akan membuat sebuah aplikasi edge detection dengan open cv dan editornya visual studio langkah-langkahnya adalah :



Persiapan OpenCV


pertama-pertama, anda harus mendownload OpenCV 2.2.0, silahkan klik disini untuk menuju link download. kemudian pilih OpenCV-2.2.0-win32-vs2010.exe. 

setelah selesai didownload, silahkan buka link downloadnya. install seperti biasa, tapi yang harus diperhatikan adalah saat di install options, pilih add OpenCV to System Path for All Users, seperti gambar dibawah:.. ini wajib..jib..jib.. dilakukan, biar gak repot install library-nya di windows kita nanti. 

jika sudah selesai di install, sekarang kita cek di komputer, apakah OpenCV sudah terinstall dengan baik, caranya buka command prompt, kemudian ketikkan path. jika OpenCV berhasil di-install maka akan tampak seperti ditunjukkan gambar 1. 


Gambar 1



Selesai, sekarang OpenCV sudah berhasil di Install di Komputer. selanjutnya tinggal kita konfigurasi Visual Studio sebelum ngeCoding program pertama dengan OpenCV. 



Persiapan Visual Studio 2010

OpenCV sudah terinstall, sekarang kita persiapan dulu Visual Studio 2010. jika anda mau yang gratisan, anda bisa mendownload Visual Studio 2010 Express, VS tersebut berlisensi tanpa berbayar dari Microsoft, tapi karena gratisan, jelas banyak kekurangannya dibandingkan versi yang lebih tinggi, misal versi Visual Studio Ultimate. untuk mendownload Vistual Studio 2010 Express silahkan kunjungi Situs ini. jangan lupa ucapin terimakasih untuk uploader-nya yah.

setelah didownload, JANGAN MOUNT FILE IMAGE (ISO) VS 2010 EXPRESS DENGAN DAEMON atau VIRTUAL DVD APAPUN. karena saat instalasi VC Express 2010, dia akan merestart program, dan saat komputer di restart, setup tidak bisa berjalan. jadi setelah selesai didownload, langsung burn ISO file kedalam CD

 


next, selanjutnya,, jika sudah selesai di-install jalankan openCV dengan metode Run as Administrator. setelah dibuka, Visual Studio 2010 anda masih dalam keadaan basic Setting, untuk merubahnya menjadi Expert Setting, pilih menu Tools > Setting > Expert Setting .. hal ini dilakukan supaya, kita mendapatkan tools lengkap OpenCV.


New project pada visual studio dan copy listing dibawah ini lalu jalankan.
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;
  }

Output Program 

 
 
 
 

Tidak ada komentar:

Posting Komentar