Sabtu, 08 November 2014

Tutorial Instalasi OpenCV Pada Microsoft VIsual Studio

Buat yang masih bingung tentang bagaimana cara menggunakan OpenCV dengan Microsoft Visual Studio, ni saya beri tahu caranya. Dalam tutorial ini saya menggunakan Microsoft Visual Studio 2012 dan OpenCV 2.4.9, soalnya VS2013 sepertinya gak full support OpenCV 2.4.9. Tapi kalau mau coba silakan saja. Terus, kalau mau pakai yang OpenCV 3.0.0 cari dulu tutorial cara mem-build-nya. Nah, mari kita mulai.

Berikut langkah-langkahnya:

  1. Install OpenCV 2.4.9 ke drive C: biar gampang nyarinya.
  2. Klik kanan "My Computer" ("This PC" kalau Win 8/8.1) - "Properties" - "Advanced system settings" - "Environment variables".
  3. Pada bagian "System variables", cari "Path", lalu "edit", tambahkan
    ;c:\opencv\build\x86\vc11\bin; (untuk VS2012 32-bit, jangan lupa tanda titik komanya ";")
    ;c:\opencv\build\x64\vc11\bin; (untuk VS2012 64-bit, jangan lupa tanda titik komanya ";")
    ;c:\opencv\build\x86\vc12\bin; (untuk VS2013 32-bit, jangan lupa tanda titik komanya ";")
    ;c:\opencv\build\x64\vc12\bin; (untuk VS2013 64-bit, jangan lupa tanda titik komanya ";")
    lalu klik OK
  4. Jalankan Visual Studio, buat "new project" - "Visual C++" - "CLR" - "CLR Empty Project" - kasih nama projectnya "hdqbasith".
  5. Klik "Project" - "Add New Item" - "UI" - "Windows Form" - OK
  6. Klik "Project" - "hdqbasith Properties" - "Configuration Properties"
    "VC++ Directories" - Pada "Include Directories" tambahkan
    c:\opencv\build\include;c:\opencv\build\include\opencv;
    "Linker" - "General" - Pada "Additional Library Directories" tambahkan
    c:\opencv\build\x86\vc11\lib (sesuaikan dengan versi VS)
    "Linker" - "Input" - Pada "Additional Dependencies" tambahkan nama-nama file yang ada di folder lib:
    opencv_contrib249.lib; opencv_stitching249.lib; opencv_videostab249.lib; opencv_nonfree249.lib; opencv_superres249.lib; opencv_gpu249.lib; opencv_ocl249.lib; opencv_legacy249.lib; opencv_calib3d249.lib; opencv_features2d249.lib; opencv_objdetect249.lib; opencv_highgui249.lib; opencv_video249.lib; opencv_photo249.lib; opencv_imgproc249.lib; opencv_flann249.lib; opencv_ml249.lib; opencv_core249.lib

    "Linker" - "System" - Pada "Subsystem" pilih "Windows (/SUBSYSTEM:WINDOWS)"
    "Linker" - "Advanced" - Pada "Entry Point" masukkan "Main" (tanpa tanda petik)
    OK
  7. Klik "Solution Explorer" - "MyForm.cpp" - Masukkan kode berikut:
    #include "MyForm.h"
    using namespace System;
    using namespace System::Windows::Forms;
    [STAThread]
    void Main(array^ args)
    {
        Application::EnableVisualStyles();
        Application::SetCompatibleTextRenderingDefault(false);
        hdqbasith::MyForm form;
        Application::Run(%form);
    }
  8. Lalu kembali ke "MyForm.h", klik "View" - "Code" - pastikan kodenya seperti berikut:
    #pragma once
    #include
    #include
    namespace hdqbasith{

        using namespace System;
        using namespace System::ComponentModel;
        using namespace System::Collections;
        using namespace System::Windows::Forms;
        using namespace System::Data;
        using namespace System::Drawing;
        using namespace cv;
        using namespace std;
  9. Buat sebuah button pada "MyForm.h[design]" lalu klik dua kali. Letakkan "SEMUA" kodingan Anda di sini.
  10. Selanjutnya tinggal ngoding deh. 
Ingat bahwa OpenCV di VS memiliki 2 bahasa, yaitu C dan C++. Keduanya sangat berbeda. Lebih mudah jika Anda menggunakan bahasa C karena contohnya lebih banyak dan pemahamannya lebih mudah. Selain itu, beberapa output C bisa dikonversi ke C++, tapi tidak sebaliknya. Kelebihan lainnya, kebanyakan contoh kodingan C++ hanya bisa diaplikasikan dalam satu action karena deklarasi variabelnya tidak bisa dilakukan secara umum. Jadi kalau kamu punya 2 button, button yang satu tidak akan bisa mengakses variabel di button yang lain, sehingga kodinganmu harus selesai dalam satu button. Kalau mau pakai lebih dari 2 button, pelajari dulu fungsi memori dengan tanda *.
Nah, selamat mencoba ya... Untuk video tutorial dan contoh kodingan, silakan cari di google.

--oO( UPDATE )Oo--
Beberapa contoh tutorialnya bisa dilihat di blog saya yang lain Tutorial OpenCV.

Ada komentar, kritik, saran, atau request?