Saturday, September 7, 2013

Beginning OpenCV

OpenCV adalah library untuk memanipulasi citra visual. Dengan OpenCV kita bisa memanipulasi gambar tanpa harus coding di low-level (misalnya load gambar kemudian ekstraksi decode dari file gambar, dsb).

Kenapa ingin menggunakan OpenCV?

I've ever try to manipulate image directly from its binary file. Cuma pengen bikin gambar 2x2 pixel yang isinya titik doang. Iye, pengen ngedecode hex file nya si jpg. Bump! Ternyata nggak gampang (nggak ngerti), mwahaha! Kemudian dari hasil searching di internet OpenCV lah jawabannya untuk mempermudah manipulasi gambar.

Kemudian bidang citra visual sangat menarik untuk diteliti. Mata manusia yang bekerjasama dengan otak manusia menghasilkan informasi baru sangat misterius! Bagaimana manusia bisa mengetahui sebuah benda walaupun sebagian benda saja yang tampak? Bagaimana manusia bisa memprediksi pergerakan balon? Darimana manusia mengetahui ada benda-benda di atas meja? Seperti apa manusia mengenali gerakan-gerakan tangan seperti menunjuk dan melambai? Kok bisa manusia mengetahui wajah yang murung, sedih, ceria? Itu semua misteri! Dari pandangan ilmiah hal ini bisa dipelajari di sub bidang Computer Science yakni Computer Vision.

Dan.. eum... Saya ingin memulai penelitian saya mengenai pengenalan objek dari citra visual (uwow, skripsi uwow).

Persiapan OpenCV


Tutorial installasi saya dapat di https://sites.google.com/site/learningopencv1/ yang tampaknya web mata kuliah tentang Computer Vision dari Harvey Mudd College (HMC). Kebetulan juga OS yang dipakai OSX. Makasih banyak ya yang udah bikin. Disini saya tambahkan beberapa hal dari pengalaman saya
Saya pernah mencoba menginstall di OSX Snow Leopard, tapi ternyata gagal. Setelah saya upgrade jadi Mountain Lion sekarang bisa, kurang tahu kenapa.

Pertama-tama download dulu OpenCV. Versi yang saya download setelah menulis post ini adalah Opencv 2.4.5. Kamu bisa mendownloadnya di http://opencv.org/

Pastikan juga kamu sudah memiliki Macports. Macports adalah package management system untuk Mac untuk aplikasi-aplikasi open source. Downloadnya bisa di http://www.macports.org

Sudah oke? Mari kita lanjutkan

Build OpenCV


  1. Ekstrak OpenCV, taruh di /Users/userkamu, dan rename foldernya menjadi opencv
  2. Buka Terminal
    1. Pertama-tama update dulu port kamu:
      sudo port -v selfupdate
    2. Kemudian instal subversion:
      sudo port install subversion
    3. Kemudian install cmake. Saya sendiri skip yang bagian cmake soalnya setelah memasukkan command cmake di terminal ternyata sudah ada. :
      sudo port install cmake
  3. cd ke folder opencv.
  4. Buat folder build:
    mkdir build
  5. kemudian ketik ini:
    cmake -G "Unix Makefiles" ..
    make -j8
    sudo make install

Project XCode

  1. Buka XCode, pilih New Project > Command Line Tool
  2. Pilih Type C++, beri nama proyeknya dan simpan
  3. Klik project, pada tab Build Settings, cari header "Search Path".
    1. Pada Header search path isi: /usr/local/include
    2. Pada Library search path isi: /usr/local/lib
  4. Klik kanan project di sisi kiri (tab project navigator), klik New Group, beri nama OpenCV Frameworks
  5. Klik File > Add Files
  6. Ketik /usr/local/lib
  7. Pilih libopencv_core.dylib dan libopencv_highgui (Pilih banyak sambil tekan CMD). Kedepannya bila kamu memerlukan library tertentu bisa memilh lagi
Sekarang kamu bisa mencoba memulai coding. Ini contoh kode dari HMC yang bisa dipakai

#include <"iostream">
#include <"opencv2/opencv.hpp">

int main(int argc, char *argv[])
{
    // Open the file.
    
    IplImage *img = cvCreateImage( cvSize(100,200), IPL_DEPTH_8U, 3); //if (!img) {
    
    //    printf("Error: Couldn't open the image file.\n");
    //    return 1;
    //}
    
    // Display the image.
    cvNamedWindow("Image:", CV_WINDOW_AUTOSIZE);
    cvShowImage("Image:", img);
    
    // Wait for the user to press a key in the GUI window.
    cvWaitKey(0);
    // Free the resources.
    cvDestroyWindow("Image:");
    cvReleaseImage(&img);
    
    return 0;
}


Command+B untuk Build, Command+R untuk Run. Hasilnya seperti ini:

Next Step

Yeeey! Jalan! Sampai sejauh ini saya bisa memasukkan input kamera dan mencoba efek blur pada gambar. Waktu menggunakan efek blur sempat tidak ditemukan methodnya, ternyata lupa untuk memasukkan library (ingat kan saat memasukkan library ke dalan group "OpenCV Frameworks"?).

Sekarang tinggal nyari tutorial buat belajar fitur dasar library ini terus belajar metode-metode Computer Vision deh. Ganbare!
nyoba pakai kamera


Sumber:
https://sites.google.com/site/learningopencv1/installing-opencv
http://tilomitra.com/opencv-on-mac-osx/#comment-1138

No comments:

Post a Comment

Comment is caring :)