Monday, November 23, 2009

اللَّهُمَّ إِنِّيْ أَسْتَخِيْرُكَ بِعِلْمِكَ ، وَأَسْتَقْدِرُكَ بِقُدْرَتِكَ ، وَأَسْأَلُكَ مِنْ فَضْلِكَ الْعَظِيْمِ فَإِنَّكَ تَقْدِرُ وَلاَ أَقْدِرُ، وَتَعْلَمُ وَلاَ أَعْلَمُ ، وَأَنْتَ عَلاَّمُ الْغُيُوبُ ، اللَّهُمَّ إِنْ كُنْتَ تَعْلَمُ أَنْ هَذَا الأَمْرَ ( ) خَيْرٌ لِيْ فِي دِيْنِي وَمَعَاشِي وَعَاقِبَةِ أَمْرِي عَاجِلَهُ وَآجِلَهُ فَاقْدِرْهُ لِي وَيَسِّرْهُ لِي ، ثُمَّ بَارِكْ لِي فِيْهِ ، وَإِنْ كُنْتَ تَعْلَمُ أَنَّ هَذَا الأَمْر( ) شَرٌّ لِي فِي دِيْنِي وَمَعَاشِي وَعَاقِبَةِ أَمْرِي عَاجِلَهُ وآجِلَهُ فَاصْرِفْهُ عَنِّي وَاصْرِفْنِيْ عَنْهُ ، وَاقْدُرهُ لِيْ الخَيْرَ حَيْثُ كَانَ ، ثُمَّ ارْضِِى بِهِ

Wednesday, November 11, 2009

Pepero Day


      11 November hari apa? Di Korea, setiap 11 November (11/11) disebut sebagai hari Pepero Day. Pepero day ini sebagai bentuk promosi salah satu produk Lotte. Pepero ini biskuit seperti biskuit Jepang, Pocky yang di produksi oleh Glico. Karena bentuknya panjang-panjang seperti angka satu pada tanggal 11 bulan 11.


      Di hari yang mirip seperti hari Valentine ini, dimana muda-mudi saling memberikan Pepero kepada orang-orang yang dekat dengan mereka dan mereka sayangi. Mulainya sejak kapan juga tidak pasti. Aku tanya ke teman dan kakak kelas juga mereka tidak tahu. Tapi dari wikipedia ditulis bahwa Pepero Day ini dimulai tahun 1994 oleh murid SMP di Busan sebagai pengganti hadiah yang berarti "tinggi dan langsing seperti Pepero".
      Ternyata pada saat Pepero Day, bukan hanya produk Pepero dari Lotte saja yang laris, produk-produk biskuit imitasi yang berbentuk mirip pun ikut laris manis.
      Ada-ada aja ya di Korea. Ndak ikut-ikutan ah~ hihi~

Filter Retinex


       Filter ini biasanya dipakai untuk meningkatkan kualitas gambar (image enhancement). Emang kualitas gambar yang baik yang bagaimana sih?
      1. Detailnya jelas, sehingga kita bisa mengambil banyak informasi dari gambar tersebut
      2. Terlihat natural (ketika dilihat dengan mata)
      3. Jelas iluminasi(penerangan)nya
      4. Ada gambar cowo cakep dan cewe cantiknya, halah,,

       Cukup banyak peneliti yang meneliti filter ini. Setiap orang memodifikasi teori retinex untuk diaplikasikan di filter retinex mereka sehingga sekarang banyak sekali variasi dari filter ini. Antara lain seperti yang diteleti oleh Akang D. J. Jobson dan teman-temannya. (sok kenal mode on lagi)

       Menurut model pembentukan gambar (image formation model), sebuah gambar adalah gabungan dari komponen iluminasi dan komponen refleksi(reflectance).

       Tujuan dari metode Retinex ini untuk memisahkan dua komponen tersebut. Memperbaiki warna-warna pada gambar dengan membuang iluminasi yang membuat warna berubah.


____________ to be continued __________________

Retinex


Kekonstanan warna (color constancy)

       Kekonstanan warna adalah salah satu sifat yang ada pada pengelihatan manusia yang membuat manusia melihat sebuah objek dengan warna yang sama dalam kondisi iluminasi(penerangan/pencahayaan) yang berbeda. Misalnya sebuah apel yang berwarna hijau akan terlihat berwarna hijau di bawah sinar matahari siang, tetap bewarna hijau di bawah sinar matahari senja atau di dalam kamar yang agak redup. Hal ini memudahkan manusia untuk mengidentifikasi sebuah objek.
       Contohnya bisa kita lihat pada gambar berikut


       Kotak selang-seling hitam dan putih terlihat begitu jelas. Coba, coba,, kotak A warnanya apa? Hitam? Ok,,, Kotak B warnanya apa? Putih? Ok,, Terlihat jelas kan bedanya? Coba kita hapus gambar lain kecuali gambar 2 kotak itu!


Kaget kan? Ternyata 2 kotak itu memiliki warna yang sama!
       Itu yang dimaksud dengan sifat kekonstanan warna, dimana pengelihatan manusia beradaptasi dengan gambar disekelilingnya sehingga dapat mempertahankan kekonstanan warna hitam pada setiap kotak hitam dan warna putih pada setiap kotak putih. Hal ini membuktikan bahwa manusia tidak melihat hanya dengan mata, namun juga dengan otak(terutama bagian korteks otak tengah).


Teori Retinex

       Retinex berasal dari kata retina dan cortex yang berarti bahwa dua organ ini berperan dalam proses melihat. Yang dibuktikan dengan contoh kekonstanan warna yang dijelaskan di atas. Teori ini disampaikan oleh Bang Edwin H. Land (Bang? ahaha,, sok kenal mode on) pada tahun 1986.


Beda pengelihatan manusia dan kamera

       Seperti pada teori retinex, pengelihatan manusia dilakukan dengan mata dan otak, sehingga ketika iluminasinya rendah kita masih bisa melihat benda dengan cukup jelas. Sedangkan kamera tidak bisa mengontrol, sehingga tidak jarang apa yang kita lihat melalui mata berbeda dengan yang kita coba abadikan di sebuah foto. Iya kan?


Filter Retinex

       Kenapa namanya 'filter'? Sesuai artinya yaitu saringan, ketika kita menyaring kita memisahkan sesuatu sehingga tinggal hal-hal yang kita inginkan saja yang tersisa. (Yang lainnya, hal-hal yang tidak diinginkan, atau yang kita istilahkan dengan 'sampah'/'noise', kita buang)
       Filter ini terinspirasi oleh cara kerja pengelihatan manusia yang bisa beradaptasi sendiri dalam berbagai kondisi iluminasi, seperti pada teori Retinex, sehingga filter ini disebut filter Retinex. :)
       Tentang filter Retinex akan dijelaskan di postingan berikutnya~ Dadah~

Sumber :
[1] http://en.wikipedia.org/wiki/Color_constancy

Friday, November 6, 2009

Sudah siap?


      Kebanyakan hal yang datang dalam hidup ini tidak pernah perduli apakah kita sudah siap menerimanya atau belum. Misalnya ...

Ujian
      Maksud contoh 'ujian' disini ujian di sekolahan. Kalau sudah jadwalnya ujian, ya, mau ga mau harus dijalanin. Jarang sekali ada guru/dosen/pengajar yang bertanya dulu 'Kamu sudah siap ujian? Kalau sudah siap, baru kita ujian.' Mungkin kalau ditanya begitu sebagian besar murid akan terus menunda ujian karena merasa belum siap, mungkin ujiannya malah tidak akan pernah terlaksana.

Cobaan
      Begitu juga dengan cobaan yang bisa berupa kecelakaan, bangkrut, bencana alam, sakit dan lain-lain. Kalau ujian mungkin masih mending, karena ada jadwalnya, sedangkan cobaan datangnya begitu tiba-tiba. Tentu saja kita mengatakan 'tiba-tiba' karena hampir tidak ada orang yang mempersiapkan datangnya cobaan. Mungkin lucu bagi kita mendengar istilah 'siap-siap diri untuk bangkrut', 'siap-siap diri untuk terkena bencana alam', atau 'siap-siap diri untuk sakit'.

Kematian
      'Kamu sudah siap untuk mati?' Kalau ada yang bertanya seperti itu, apa yang akan kamu jawab? Mungkin kalau saya sendiri cuma terdiam dan merinding jika ditanya seperti itu. Apa yang akan terjadi di akhirat nanti mengingat amalan di dunia sekarang yang cuman segini.
      Tapi itu dia justru yang penting, banyak mengingat dan mempersiapkan kematian akan membuat hidup kita jadi lebih lurus -karena takut berbuat buruk yang berakibat dibalas di akhirat- dan lebih berharga dan ingin membuat hidup jadi lebih bermanfaat-karena ada akhirnya, yaitu mati-.
      Kematian yang datangnya tidak pernah menunggu kita siap atau belum ini bisa datang kepada kita atau orang-orang disekitar kita. Sayangi orang disekitar kita karena entah waktu kapan maut bisa saja merenggut mereka.

Jodoh
      Jodoh,, ah~ Ada yang sudah siap jiwa, umur, materi, namun jodohnya belum kunjung datang,, Ada yang orang yang kelabakan sendiri ketika akan dipinang karena berbagai alasan belum siap seperti merasa belum siap jiwanya, belum cukup materinya, belum siap mengurus orang lain yang akan menjadi suami/istrinya, belum siap mengurus anak, belum membahagiakan orang tua, atau dengan alasan belum bisa masak!
      Memang bersatu dengan jodoh, menikah, bisa direncanakan dan dipersiapkan, tapi dari cerita beberapa teman, jodoh mereka datang -permintaan menikah- bukan ketika mereka 100% siap.
      Ada cerita lucu dari obrolan kakak-kakak kelasku.
      kakak kelas itu : Ah,, pengen menikah. Kapan ya aku menikah?
      kakak kelas lain : Ya, menikahlah,, Kamu kan sudah dapat pekerjaan.
      kakak kelas itu : Iya,, tapi masalahnya menikah dengan siapa?
      kakak kelas lain : Lha? Kamu kan punya pacar.
                           Ya, menikahlah dengan pacarmu!
      senior itu : Yah,, itu kan pacar. Bukan berarti harus menikah.
      Waduh,, kalau bukan kakak kelas, rasanya pengen aku jitak!

      Tentu saja selain dari 4 hal ini banyak sekali yang harus kita persiapkan. Dan banyak hal itu tidak akan bertanya dan 'berpermisi' dulu sebelum datang. Cuma kita yang harus selalu bertanya pada diri sendiri 'Apakah aku sudah siap?'

Thursday, October 29, 2009

Menyeting OpenCV 2.0 dan Visual Studio 2005


      Untuk yang baru berkenalan dengan OpenCV mungkin sedikit bingung bagaimana cara menggunakannya di Visual Studio 2005, karena paket OpenCV 2.0 tidak termasuk file .lib untuk VS dan harus dibuild sendiri oleh user.
      Berikut step by step untuk menyeting OpenCV 2.0 library di Visual Studio 2005.

0. Pastikan anda sudah punya program Visual Studio 2005
1. Pertama download dan install OpenCV 2.0
Setingan default letak direktori OpenCV adalah 'C://OpenCV2.0'
2. Download dan install CMake
3. Kemudian jalankan program CMake

4. Pada bagian 'Where is the source code' masukan folder dimana file OpenCV2.0 berada

5. Pada bagian 'Where to build the binaries' masukan path direktori tujuan.
Misalnya saya membuat folder baru di C: dengan nama 'cmake_binary_dir' dan ingin saya masukkan ke folder tersebut. Jadi saya masukkan 'C://cmake_binary_dir'
6. Setelah itu klik 'configure' dan akan muncul seperti tampilan berikut.
Ganti pilihan pada 'Specify the generator for this project' menjadi 'Visual Studio 8 2005' dan klik 'Finish'

7. Akan muncul tampilan seperti ini.

Warna merah bukan berarti error ya, hihi,, Bisa coba klik 'configure' sekali lagi kalau mau menghilangkan warna merah tersebut.
8. Kemudian klik 'generate' maka CMake akan bekerja. Kemudian kalau kita lihat di direktori tujuan maka akan terlihat seperti gambar berikut.

9. Buka OpenCV solution (project di visual studio 2005). Ganti setingan 'Debug' menjadi 'Release'seperti pada gambar berikut.

10. Kemudian klik 'build' -> 'build solution'

11. Setelah di build. Klik 'tool' -> 'option'

12. Klik bagian 'VC++ directory'

13. Ganti bagian yang ditunjuk menjadi 'Include file'

14. Tambahkan direktori dimana header-header file OpenCV berada. Klik gambar yang ditunjuk untuk menambah direktori. Kemudian klik 'Ok'
Untuk setingan default, direktori header file berada di 'C://OpenCV2.0\include\opencv'

15. Kemudian ganti bagian yang ditunjuk menjadi 'library file'

16. Kemudian tambah direktori dimana library file berada. Untuk menambah direktori klik gambar yang ditunjuk. Setelah itu klik 'Ok'.
Seperti yang disebutkan di poin no 5, saya menaruh hasil CMake di 'C://cmake_binary_dir', jadi path direktori yang saya masukkan adalah 'C://cmake_binary_dir\lib\release'.


Langkah berikut menyeting library di project yang akan dibuat.
17. Jalankan program Visual Studio 2005. Buat project baru dengan mengklik 'file' -> 'make new(N)'-> 'project'

18. Pilih 'Win32 Console Application Program'. Kemudian masukkan nama file dan klik 'ok'.

19. Ikuti seperti tampilan berikut.


20. Tambahkan file .cpp dengan mengklik kanan pada 'source file' ->'add'->'add(D)'->'new item'

21. Pilih 'C++ file', masukan nama file, dan klik 'add'.

22. Klik kanan pada project dan masuk ke 'property'.

23. Pada jendela property, pilih bagian 'linker'->'input'->kemudian tambahkan file library yang diperlukan pada bagian yang ditandai.

24. Copy dll file yang diperlukan ke direktori project.


25. Yuhu~ sekarang sudah selesai setingannya!! Anda bisa mulai mencodingcoding. Misalnya menampilkan gambar dengan kode seperti dibawah ini. Selamat ber happy OpenCV~


Fiuh,, akhirnya selesai juga ngepos postingan ini,, karena saya pakai Visual Studio 2005 yang berbahasa Korea, jadi versi bahasa inggrisnya saya tulis yang seingat saya saja, kalau sedikit berbeda harap dimaklumi,, Semoga bermanfaat