Sabtu, 06 Oktober 2012

OpenCV (intermeso)

Seminggu yang lalu mau membantu teman untuk menyelesaikan tugas akhir kuliahnya, dia mw buat sejenis pembaca plat, mungkin lebih tepatnya OCR (Optical character recognition), keinginan membantu tidak didukung dengan kemampuan yang dimiliki. BTW aplikasi yang mau dibuat berbasis opencv. nah oleh karena itu ni saya mau membuat artikel-artikel tentang opencv yang samapai saat ini saya sudah ketahui. mungkin semuanya masih dasar tapi ga apa apa, namanya juga belajar...

mulai dari definisi, apa sih opencv. 

katanya ni opencv di rilis dibawan lisensi BSD, opencv itu gratis baik buat akademik dan penggunaan komersial. opencv memiliki C++, C, python dan interface java dengan segera yang bisa jalan di windows, linux, android dan Mac. Punya library lebih dari 2500 algoritma optimasi (wow keren). Saat ini opencv sudah didownload lebih dari 2.5 juta kali dan lebih dari 40 ribu pengguna untuk grupnya. Dan juga penggunaan opencv saat ini seni interaktif, sampai dengan inspeksi pertambangan dan kebanyakan di dunia robot. tapi saat ini mau digunain buat image processing dan analisis (waduh mulai berat).

nah udah tau kan apa itu opencv sekarang gimana ni cara installnya. setelah baca-baca ya dapet deh caranya kalo saya si make cara ini :
(silahkan dicoba)

Setting project untuk visual studio
1.     Install opencv.exe setelah download pada web opencv
2.     Buka configuration manager, akan tampil seperti berikut :

3.     Buka properties project
4.     Tambah path seperti ini (rubah sesuai kebutuhan) :
C:\Program Files\OpenCV2.3\build\bin\;
C:\Program Files\OpenCV2.3\build\x64\vc10\bin\;
C:\Program Files (x86)\opencv\build\x64\vc10\bin;
Pada system variable seperti gambar di bawah ini :


5.    Buat project pada visual studio 2010 ultimate
6.    Masuk ke properties project, masuk ke Configuration Properties seperti gambar berikut :
7.    Pilih C/C++ -> General

8.    Perhatikan Additional include Directories, pada project contoh ini dilakukan setting berikut :
C:\Program Files\OpenCV2.3\build\include;
C:\Program Files\OpenCV2.3\build\include\opencv;
%(AdditionalIncludeDirectories);
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\;
C:\Program Files (x86)\opencv\build\include;
C:\Program Files (x86)\opencv\build\include\opencv
Pada konfigurasi ini yang penting adalah mengkonfigurasi path folder include
9.    Pada Debug Information Format pilih Program Database for Edit And Continue(/ZI)
10.                       Warning level pilih level 3
11.                       Semua setting pada langkah di atas akan tampil seperti gambar sebelumnya
12.                       Pilih Linker -> Input setting linker seperti berikut :

13.                       Isi dari  teks box tersebut adalah sebagai berikut :
kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)"C:\Program Files\OpenCV2.3\build\x64\vc10\lib\opencv_core230d.lib";"C:\Program Files\OpenCV2.3\build\x64\vc10\lib\opencv_highgui230d.lib";"C:\Program Files\OpenCV2.3\build\x64\vc10\lib\opencv_video230d.lib";"C:\Program Files\OpenCV2.3\build\x64\vc10\lib\opencv_ml230d.lib";"C:\Program Files\OpenCV2.3\build\x64\vc10\lib\opencv_legacy230d.lib";"C:\Program Files\OpenCV2.3\build\x64\vc10\lib\opencv_imgproc230d.lib";%(AdditionalDependencies)
14.                       Project siap dibangun

nah dengan cara itu bisa deh mulai membangun.... kodingnya menyusul ya...



4ia09news sistem informasi pertamaku

Dalam perkuliahan semester 6 mahasiswa jurusan Teknik Informatika dituntut untuk membuat sebuah web informasi dari Lab Informatika tempat mahasiswa mengikuti praktikum. Pada awalnya praktikum dimulai dengan mempelajari cara membuat web karena mata praktikum yang dipraktikan adalah pemrograman web, kemudian dalam waktu 4 minggu terakhir setiap praktikan diharuskan membuat sebuah web yang memiliki sistem admin dan listed user.

Untuk tugas tersebut saya pribadi membuat sebuah sistem informasi kelas dengan menggunakan frame codeigniter versi 2.1. Pembuatan tidak berjalan mudah karena dalam 4 praktikum sebelumnya hanya di ajarkan bagaimana membuat form-form html atau perintah dasar pada php dan mysql. Sedangkan untuk framework sendiri belum diajarkan. Namun, dengan kesungguhan hati dan niat yang kuat maka dapat di buatlah sistem informasi tersebut.

Adapun kendala-kendala yang ditemui oleh saya dapat diuraikan menjadi point-point berikut :

  1. Penguasaan menggunakan developer tools (framework codeigniter)
  2. Pengumpulan data 
  3. Pembatasan Informasi yang diberikan
  4. Design arsitektur web (admin /user)
  5. Design fitur
  6. Design database
  7. Design output
  8. Upload
Mungkin masalah -masalah di atas belum merangkum semua masalah yang dulu saya temui namun secara garis besar memang masalah tersbutlah yang menjadi titik berat dalam pembuatan web tersebut. Untuk menangani masalah tersebut saya melakukan langkah-langkah berikut :
  1. Untuk mengusai materi CI (codeigniter) dalam waktu singkat, saya meminta bantuan teman yang sudah memiliki project CI yang dia kerjakan dengan bantuan buku yang ada di perpustakaan kampus dan melalui forum-forum codeigniter dan web development sangat membantu saya untuk menyelesaikan tugas tersbut.
  2. Karena saya adalah ketua kelas dan setelah saya ingat-ingat saya memiliki data teman-teman di kelas sehingga dengan mudah saya dapat mendapatkan data profil teman-teman yang dapat digunakan sebagai data uji coba.
  3. Setelah menimbang-nimbang maka saya putuskan bahwa informasi yang disampaikan adalah informasi  tentang kelas seperti kuis dan tugas serta berita-berita yang ingin disebarkan oleh listed user( mahasiswa 4ia09)
  4. Arsitektur ini saya kembangkan dari projek teman, karena dalam projek teman itu data admin dan data user masih dipisah maka data tersebut saya satukan dan kemudian ditambahkan hak sehingga setiap user memiliki tampilannya sendiri, secara garis besar akhirnya tercipta 3 user yaitu : user guest, listed user, dan admin
  5. design fitur diputuskan berdasarkan arsitektur web dan informasi yang telah dibuat.
  6. database tidak saya design, semuanya berjalan begitu saja dan akhirnya jadilah database yang kacau... hhe (maklum baru pertama)
  7. design output, saya mengambil dari penyedia template web gratisan sehingga tidak melakuka proses design ini.
  8. upload, setelah membaca artikel tentang upload maka saya dapat melakukan upload, pada dasarnya untuk meng onlinekan web dibutuhkan doamin dan hosting, itu yang saya ingat sampai sekarang
dengan begitu web yang saya buat sudah tercipta dan berikut tampilan webnya :