Sunday, July 27, 2008

Load & Display Image using OpenCV

Let's start to create our first project!

1. Open OpenCV workspace: Click Start-->All Programs-->OpenCV-->OpenCV Workspace MSVC6
2. Create new C++ source file: Click File-->New-->C++ Source File. Put the file name & the folder. Now you have a blank editor to write the code.
3. Write the following code:

#include "cv.h" //main OpenCV header
#include "highgui.h" //GUI header

int main() {
// declare a new IplImage pointer

IplImage* myimage;


// load an image

myimage = cvLoadImage("sayyidsmile.jpg",1); //change the file name with your own image

//create a new window & display the image

cvNamedWindow("Smile", 1);

cvMoveWindow("Smile", 100, 100);

cvShowImage("Smile", myimage);


//wait for key to close the window

cvWaitKey(0);

cvDestroyWindow( "Smile" );

cvReleaseImage( &myimage );

return 0;


}

4. Add library in the project setting: Click Project-->Setting-->Link-->Object/Library Modules then write cv.lib cvaux.lib cxcore.lib highgui.lib. Make sure that you do this step anytime you create a new project.
5. Save and click "Execute Program" icon, then your window named "Smile" will appear.

Easy right ...? Explore other functions in OpenCV and enjoy it !

About me ++

SLAMET RIYADI. Lahir di Sukoharjo-Solo, 9 Agustus 1978. Menyelesaikan pendidikan dasar di SDN 1 Pandeyan, SMPN 1 Sukoharjo dan SMAN 1 Surakarta (lulus 1996). Meraih gelar Sarjana Teknik (ST) dari Jurusan Teknik Elektro (Kontrol) Universitas Gadjah Mada dan kemudian menjadi dosen di Universitas Muhammadiyah Yogyakarta sampai sekarang. Studi lanjut Master of Science (MSc) diselesaikan pada tahun 2008 di Department of Electrical, Electronic and System, National Universty of Malaysia. Saat ini sedang menempuh S-3 sekaligus sebagai research assistant di Vision & Robotics Research Group, universitas yang sama, dalam bidang pengolahan citra medik.

Pernah menjuarai beberapa lomba cerdas tangkas tingkat sekolah menengah se-Jawa Tengah, seperti Juara 1 LCT Kesiswaan dan Juara II LCT P4 pada tahun 1992. Prestasi semasa kuliah ditunjukkan dengan meraih berbagai beasiswa seperti ASTRA International, EXXON Mobil Oil dan Yayasan Perguruan Teknik Indonesia (YPTI) Scholarship. Beberapa kali mendapatkan travel grant untuk training dan presentasi di konferensi international dari UNOCAL, UMY, DIKTI dan UKM. Pada tahun 2006, menjadi anggota tim penemu yang memperoleh penghargaan Silver Medal dari Ministry of Science, Technology and Innovation Malaysia (MOSTI) atas produk penelitian dalam penerapan pengolah citra untuk pemrosesan makanan. Salah satu produk penelitian yang lain berupa portable instrument untuk memperkirakan ketebalan beton telah didaftarkan paten.

Selain pengolahan citra medik, juga mempunyai keminatan dalam features extraction techniques, motion detection, artificial intelligent, instrumentasi dan computer-controlled-system. Telah menulis belasan karya ilmiah yang diterbitkan dalam prosiding dan jurnal nasional/internasional. Selain menjadi kontributor paper, juga menjadi reviewer beberapa international conference dan jurnal. Bergabung dengan organisasi ilmiah seperti the Institute of Electrical and Electronics Engineering (IEEE), Masyarakat Kendali Indonesia, the International Association of Engineers (IAENG Society of AI, Bioinformatics, Computer Science, Electrical and Imaging Engineering) dan the International Association of Computer Science and Information Technology (IACSIT). Bahasa pemrograman yang ditekui adalah Visual C++, OpenCV dan MATLAB.

Terlibat dalam beberapa penelitian, diantaranya:
  1. Development of Portable Instrument for Non-destructive Testing of Concrete, Department of Public Works – Malaysia, 2004 – 2006. (Research Officer)
  2. Calculation of Settlement for Long Period of Time from Seismic Measurements, Department of Public Works – Malaysia, 2005. (Software and testing engineer).
  3. Geotechnical Characteristics Assessment of INSPEN Site – Putrajaya, Department of Public Works – Malaysia, 2006. (Software and testing engineer)
  4. An Automated Machine Vision Based for Fruit Size Grading System, Universiti Kebangsaan Malaysia – MOSTI, 2007 – 2008. (Research Assistant & Technical Coordinator).
  5. Vision Based Computer Aided Cardiac Diagnosis, UKM-MOSTI, 2007-2010. (Research Assistant & Technical Coordinator)
Bisa dihubungi melalui email: masimet-at-gmail-dot-com



Saturday, July 26, 2008

cxcore100.dll or highgui100.dll not found error

Several days ago, my friend ask me about DLL file linking error. This is the problem:

PROBLEM: When I run my project, OpenCV gave an error like this:
"This application has failed to start because cxcore100.dll was
not found. Re-installing the application may fix this problem
"

SOLUTION: Add OpenCV DLL (...OpenCV/bin) directory to system PATH.
For detail of how to add to the system PATH, please refer to my previous posting: How to setup OpenCV ?

The same solution is also solved the error caused by missing others DLL files, such as highgui100.dll not found.

Some friends suggested to copy cxcore100.dll to the directory of the .exe file. But ofcourse it's tedious since we should copy every time we create a project.

Good luck! If you still got problems, please write in comment area.

Thursday, July 24, 2008

How to setup OpenCV ?

As I mentioned before, OpenCV is an open source library of computer vision in C/C++. Before you can use it, of course you must have Visual C/C++ or Visual.Net installed in your PC. Me, I'm using Visual C++ 6.0 for my project.

The following are the procedures to setup OpenCV:

  1. Download the OpenCV installation file from here. Find the latest version.
  2. Run (double click) the installation file. After completed, you will get OPENCV icon menu in your PROGRAM.
  3. Make a linking in the system PATH to OpenCV DLLs files, using the below steps:
  • Click My Computer --> Properties --> Advanced --> Environment Variables --> Systems variable --> highlight PATH --> Edit.
  • Add "C:\Program Files\OpenCV\bin" to PATH. The location of OpenCV DLL files might be differentEach different path file is separated by semicolon (;)
  • If your OpenCV is already opened, you should close it then open again to take effect of the new path.
4. Customize the GLOBAL OPTIONS- In your OpenCV window, click Tools --> Options and select Directories tab
  • Select directories for Include files, then add four OpenCV directories as show in the figure.
  • Also add OpenCV directories for Library & Search files (see the figure)


Now your OpenCV is ready for creating your own project. How to develop a project using OpenCV? Be patient for the next tutorial.

If you have problems or suggestion related to this article, please feel free to give comments. TQ.

Wednesday, July 23, 2008

Bowling, First time & Strike !

Hari Minggu yang lalu, Engineering Postgraduate Students Committee (EPSC), ngadain Postgraduate Bowling Tournament di Warta, Bangi. Awalnya aku bilang ke Widdy, koordinator turnamen, "Males ah main...Aku yg nyatetin score aja deh". Alesan aja, padahal karena aku ga pedhe main bowling. Lha gimana mau main, pegang bolanya aja baru pertama kali itu.

Oleh si Widdy, ternyata tetep dipasang juga namaku di monitor line 11. Ya udah, berbekal kemahiranku main kelereng ketika dulu masih kecil, aku lempar bola berat warna biru tu. Sekali...masuk longkang (baca:saluran di kanan kiri line), kedua...lumayan. Dahsyat... setelah panas, entah pada kali yg keberapa, aku buat lemparan strike 3x berturut-turut. Gile ga...? Subhanallah...

Ni beberapa gayaku...



Tuesday, July 22, 2008

Sekolah Alam : Sumber Kegembiraan

Sebuah alternative baru sekolah untuk anak-anak kita, dalam tulisan cerdas & bermakna karya Anis Matta untuk Anda semua. Agak panjang, tapi saya yakin Anda tidak akan bosan. Selamat menikmati.

----------

Mereka benar-benar hidup. Mereka masih terus berbincang dan bersenda gurau dalam perjalanan pulang ke rumah. Sehari penuh di sekolah seakan tidak melelahkan mereka. Atau mungkin - tepatnya – lelah tidak menghilangkan gairah mereka. Itu pemandangan sehari-hari dari keempat anak-anak saya dan ketiga temannya yang sama-sama bersekolah di Sekolah Alam. Padahal, karena jarak rumah dan sekolah yang jauh -sekitar 40 km - mereka harus menghabiskan 10 sampai 12 jam setiap harinya untuk belajar dan perjalanan.

Sekolah telah menjadi pusat kehidupan mereka saat ini. Mereka benar-benar menikmati pusat kehidupan itu. Bahkan waktu-waktu mereka di rumah pun digunakan untuk membicarakan kehidupan mereka di sekolah. Sekolah bukan lagi beban. Sekolah adalah realitas kehidupan yang mereka jalani dengan penghayatan penuh. Sekolah adalah sumber kegembiraan. Bukan sumber stress yang biasanya membuat mereka kehilangan gairah.

Disini kehidupan dihadirkan dalam sebuah tata ruang dengan lansekap yang ditata sedemikian rupa agar tetap natural dan tampak riil. Dengan menggunakan konsep fun learning, Sekolah Alam telah mengubah sekolah menjadi sebuah miniatur kehidupan yang bukan saja natural dan riil, tapi juga indah dan nyaman. Proses belajar mengajar berubah menjadi aktivitas kehidupan riil yang dihayati dengan penuh kegembiraan. Itu membantu anak-anak menikmati masa-masa awal pertumbuhan, dan membangun imaji-imaji positif tentang kehidupan dan bumi yang mereka huni.

Itu pesona pertama yang mengantar saya ke Sekolah Alam!!!

Persepsi kita tentang kehidupan, tentang dunia, tentang bumi yang kita huni, yang kelak melandasi sikap-sikap kita dalam menjalani hidup, sesungguhnya terbentuk di masa awal pertumbuhan itu. Seperti apa kita mempersepsi kehidupan, dunia dan bumi yang kita huni pada awal kehidupan kita, seperti itulah kita akan menjalaninya. Imaji-imaji positif akan melahirkan energi, semangat dan gairah kehidupan. Begitu juga sebaliknya. Maka setiap "luka persepsi" pada masa itu, kelak akan mewariskan "luka emosi" dalam kehidupan kita. Dan setiap luka emosi, kelak akan mewariskan "gangguan pensikapan" dalam keseluruhan kepribadian kita. Itu sebabnya anak-anak yang bahagia di masa kecil jauh lebih berpeluang untuk berbahagia di masa dewasa dan tuanya kelak.

Saya hanya ingin anak-anak saya menikmati masa-masa awal "perkenalan" mereka dengan kehidupan, dunia dan bumi yang mereka huni. Mereka tidak dilahirkan untuk memikul obsesi-obsesi saya sebagai orang tua. Mereka dilahirkan untuk kehidupan mereka sendiri. Tugas saya adalah memfasilitasi mereka untuk mengenal dunia dan kehidupan dimana mereka ditakdirkan menjalaninya. Walaupun mungkin saja mereka mendahului saya menemui ajal, tapi pada galibnya sayalah yang akan mendahului mereka. Jadi rasanya saya tidak akan menyertai mereka dalam keseluruhan waktu yang akan mereka lalui di dunia. Maka biarlah kuantar mereka sampai ke gerbang kehidupan, dan kukatakan pada mereka: "Inilah kehidupan yang dikaruniakan Allah kepadamu, wahai anak-anakku. Kalian hanya harus mensyukurinya. Dan itulah alasan mengapa kalian harus gembira menjalaninya".

Belajar Untuk Menjadi

Dalam miniatur kehidupan yang natural dan riil seperti itu, anak-anak benar-benar dipandang sebagai manusia seutuhnya. Bukan sekedar robot cerdas - yang harus dijejali dengan ilmu pengetahuan dan keterampilan - dimana jam-jam belajar merupakan saat-saat "pengisian" yang mengerikan.
Ledakan informasi di abad ini barangkali membuat banyak orang panik. Sementara kehidupan yang telah berubah menjadi medan kompetisi yang kejam mendorong mereka berpikir, bahwa untuk bisa bertahan hidup anda harus mengetahui segalanya.


Begitulah sekolah-sekolah kita didirikan sebagai tempat menjajakan "barang-barang" yang bernama ilmu pengetahuan, yang harus "dimiliki" setiap orang agar bisa bertahan hidup. Maka kita mengagumi "kecerdasan". Karena itulah mata uang paling bergengsi yang digunakan membeli "barang-barang" tersebut. Dan belajar adalah proses transaksinya.

Di sekolah seperti itu anak-anak belajar "menguasai" pelajaran. Bukan menjadi sesuatu dengan pelajaran tersebut. Makin banyak pelajaran yang dapat mereka kuasai, makin baik transaksi mereka. Maka kita sekolah-sekolah berburu anak-anak cerdas, yang dapat melakukan banyak transaksi.

Tapi yang kemudian kita saksikan justru sebuah ironi. Anak-anak itu tidak mengalami transformasi pembelajaran. Pelajaran matematika, misalnya, tidak serta merta membuat mereka dapat berpikir logis. Pelajaran sejarah tidak memberi mereka kesadaran dan emosi akan identitas kolektif. Pelajaran bahasa bahkan tidak membantu mereka berbahasa dengan baik dalam kehidupan sehari-hari.

Belajar adalah proses berubah secara konstan!!!

Pengetahuan bukan barang yang harus kita miliki. Pengetahuan adalah sebuah fungsi. Ia adalah cahaya yang menerangi ruang kesadaran batin kita. Seperti umumnya cahaya yang berpendar-pendar di tengah ruang gelap, kita hanya bisa bergerak secara baik dalam jengkal-jengkal ruang yang dibingkai cahaya. Sebagai sebuah fungsi kita harus mempelajari semua pengetahuan yang membantu kita berubah menjadi lebih baik. Belajar adalah proses menggunakan pengetahuan sebagai penuntun perjalanan mendekati kesempurnaan secara konstan. Belajar adalah proses menjadi secara konstan. Karena menjadi merupakan proses yang tidak pernah berakhir, maka belajar adalah satu-satunya proses kehidupan yang tidak pernah selesai.

Manusia adalah gabungan yang rumit antara ruh, emosi, akal dan fisik. Setiap aspek itu, kata Muhammad Quthub, seperti senar gitar yang harus dipetik bersama untuk melahirkan simfoni kepribadian yang utuh dan indah. Anak-anak bukan tabung besar yang harus diisi dengan pengetahuan. Mereka adalah senyawa kehidupan yang rumit dan kompleks. Mereka berubah, berbentuk dan bermetamorfosis melalui proses-proses yang juga kompleks, dimana pengetahuan hanyalah salah satu aspeknya.

Dalam konteks itu, maka semua pengetahuan yang mereka butuhkan untuk membangun kehidupan yang lebih baik harus mereka pelajari. Sebaliknya, semua pengetahuan yang tidak mempunyai fungsi spesifik dalam kehidupan riil mereka tidak perlu mereka pelajari. Jenis pengetahuan terakhir ini, kata Umar Bin Khattab, bukan aib untuk tidak diketahui. Itu sebabnya Rasulullah saw mengajarkan kita sebuah doa: "Ya Allah ajari kami apa yang bermanfaat bagi kami, dan beri kami manfaat dari ilmu yang telah Engkau ajarkan pada kami". Dengan begitu, pengetahuan bekerja dalam kehidupan mereka, sebagai sumber pencerahan hidup.

Begitulah saya menyaksikan anak-anak saya tumbuh dan berkembang, terus menerus berubah dan menjadi sesuatu yang lain, bersamaan dengan pertambahan usia sekolah mereka. Gabungan antara pelajaran kelas, latihan outbound, penelitian lapangan (outing), market day, dan lainnya, telah memberikan pemahaman dan kesadaran yang relatif lebih utuh tentang kehidupan, membentuk struktur emosi dan mentalitas yang lebih stabil, serta membangun sikap-sikap keseharian yang lebih tercerahkan dari waktu ke waktu.

Apa yang mereka pelajari di kelas terasa begitu dekat kehidupan sehari-hari mereka. Mereka, misalnya, belajar makna uang dan bagaimana menciptakannya melalui kegiatan market day. Suatu saat anak sulung saya, Hisan, yang kini duduk di kelas enam (note: sekarang Hisan sudah duduk di kelas 9 di Sekolah Lanjutan SA), mendapatkan untung sebesar 9000 rupiah dari hasil menjual juice dalam acara market day. Dia benar-benar merasa menang. "Sekarang", katanya, "Ican mulai tahu bagaimana caranya bikin uang".

Pembelajaran seperti itu tentu saja menghadirkan pengetahuan dalam kehidupan nyata mereka. Pengetahuan bekerja pada fungsinya: membimbing mereka menjalani hidup. Itu sebabnya setiap pertambahan pengetahuan melahirkan perubahan-perubahan baru dalam kehidupan mereka. Mereka menjadi lebih baik. Mereka menjadi lebih tercerahkan.


Tradisi Ilmiah, Bukan Prestasi Belajar

Sekolah bukanlah lapangan pacuan kuda!!! Tapi ada sekolah yang dirancang sebagai lapangan pacuan kuda. Disana anak-anak dipacu untuk mengetahui lebih banyak. Bukan untuk menjadi sesuatu yang lebih baik. Tapi untuk mengalahkan orang lain. Kemajuan belajar diukur dengan capaian angka-angka. Bukan dengan perubahan-perubahan mendasar pada cara berpikir, struktur emosi dan pola sikap.

Di sekolah seperti itu kasta-kasta baru dibangun berdasarkan kecerdasan!!!

Barangkali tidak sepenuhnya salah untuk membagi murid-murid kedalam kelas-kelas berbeda berdasarkan tingkat kecerdasan. Yang salah adalah tren pembelajaran yang kita kembangkan. Secara tidak sadar sebenarnya sekolah semacam itu mengembangkan tren pembelajaran transaksional: anak-anak membayar mahal untuk mendapatkan guru terbaik, agar bisa menguasai semua pelajaran dan lulus dengan angka terbaik.

Sekolah semacam itu biasanya melahirkan anak-anak pintar, bukan pembelajar apalagi ilmuwan. Mereka mempunyai prestasi belajar yang baik. Tapi tidak memiliki tradisi ilmiah yang kokoh. Kalau kelak mereka mendapatkan gelar doctor, prestasinya pasti summa cum laude. Tapi disertasi doktornya mungkin merupakan karya ilmiahnya yang pertama dan terakhir. Secara intelektual mereka mengalami diskontinyu. Mereka mungkin menduduki banyak jabatan akademik yang terhormat. Tapi tidak akan pernah punya waktu dan perhatian untuk menggarap karya ilmiah yang monumental.

Ada beda yang teramat jauh antara tradisi ilmiah dan prestasi belajar. Prestasi belajar yang biasanya diukur secara kuantitatif melalui ujian, bukanlah indikator terbentuknya tradisi ilmiah. Tradisi ilmiah diukur melalui sikap seseorang terhadap pembelajaran,
pengembangan intelektual berkesinambungan, penggunaan cara berpikir ilmiah dalam penyelesaian masalah, pembentukan keterampilan intelektual seperti bahasa oral dan tulisan, aktualisasi intelektual berkesinambungan, dorongan berkarya yang konstan.

Tren inilah yang hendak dibangun di Sekolah Alam. Sekolah ini menghapus sistem rangking, yang bukan saja memicu pembentukan kasta baru berdasarkan kecerdasan, tapi juga memandang potensi setiap siswa secara sama dan mengabaikan keunikan dan diferensiasi individual pada bakat, minat dan intelejensi. Disini siswa dipacu untuk tumbuh maksimal pada pusat keunggulan intelejensinya, yang menyatu bersama bakat dan minatnya. Tidak ada persaingan antar siswa yang dilakukan dengan standar yang sama. Sebab tujuan pembelajarannya membangun tradisi ilmiahnya, bukan sekedar memicu prestasi belajar. Siswa-siswa itu bukan peserta lomba pacuan kuda. Mereka dididik untuk menjadi pembelajar yang optimal dalam pembelajarannya.

Pendidikan Untuk Zaman Yang Berubah

Waktu adalah variabel lain. Persepsi kita tentang waktu mempengaruhi pola didik kita. Kita tidak mendidik anak-anak kita untuk hidup pada zaman yang telah kita lalui atau yang telah dilalui orang lain atau peradaban lain. Mereka memiliki zamannya sendiri. Pendidikan bertujuan menyiapkan mereka untuk menghadapi zaman mereka sendiri.

Anak-anak kita hidup pada sebuah zaman dimana pengetahuan berkembang pesat dan merubah sendi-sendi kehidupan kita secara fundamental dan sangat cepat. Durasi perubahan-perubahan besar dalam kehidupan kita berlangsung kilat, karena faktor-faktor perubahnya bekerja simultan dan cepat. Ini menimbulkan kegamangan dan disorientasi dalam dunia pendidikan.


Faktanya adalah kita tidak punya kendali atas zaman yang kelak akan dilalui anak-anak kita kelak. Kita tidak punya kendali atas perubahan-perubahan itu. Mungkin sekali kita bahkan sudah tidak ada ketika mereka mengalami perubahan-perubahan besar itu. Tapi adalah juga fakta bahwa semakin cepat dan sering suatu perubahan terjadi, semakin kita membutuhkan pegangan hidup yang bersifat permanen, yang tidak ikut berubah dalam perubahan-perubahan itu.

Jadi yang dibutuhkan anak-anak kita adalah pegangan permanen itu. Yaitu keyakinan-keyakinan dan nilai-nilai agama. Agama mengajarkan mereka hakikat-hakikat besar dalam kehidupan mereka: tentang asal usul mereka, tentang tujuan hidup mereka, tentang nilai-nilai yang harus membimbing hidup mereka, tentang faktor-faktor permanen yang membentuk kualitas hidup mereka, yaitu penerimaan Allah, manfaat sosial dan pertumbuhan berkesinambungan.

Apabila mereka belajar tentang itu semua dengan benar, mereka tumbuh pada pusat kehidupan yang benar dan pasti. Tapi itu saja tidak cukup. Mereka juga membutuhkan beberapa keterampilan dasar yang diperlukan untuk bertahan dan bertumbuh pada semua situasi. Sebagiannya merupakan keterampilan intelektual, sebagiannya lagi merupakan keterampilan emosional, sebagiannya lagi merupakan keterampilan fisik.

Sisanya biarlah mereka yang memperlajarinya sendiri!!

Itu yang dikembangkan Sekolah Alam. Membangun kemampuan-kemampuan dasar pada anak yang membuatnya proaktif dan adaptif terhadap perubahan-perubahan lingkungan. Kemampuan berpikir logis misalnya. Jika seorang anak mampu berpikir logis, itu mungkin lebih penting ketimbang sekedar mendapatkan angka tinggi dalam pelajaran matematika. Sebab kemampuan itu yang memberika kekuatan "mencerna" masalah-masalah hidupnya. Begitu juga latihan outbound. Disini mereka melatih keberanian, kesabaran, keuletan, kerjasama tim, kepemimpinan. Latihan ini membangun struktur mentalitas mereka secara kuat yang membuat mereka tahan terhadap goncangan-goncangan hidup.

Eskperimen Yang Belum Selesai

Namun tetap saja perlu dicatat: Sekolah Alam adalah eksperimen yang belum selesai. Usia sekolah ini masih terlalu muda. Selain itu, jangan mengharap anak-anak kita jadi sempurna di usia 12 tahun ketika ia menamatkan sekolah dasarnya. Tapi itu memang tabiat dunia pendidikan: dunia eksperimentasi tanpa henti. Disanalah proses kreatifnya berlangsung. Karena lingkungan strategis terus berubah, maka eksperimen-eksperimennya perlu dikembangkan terus menerus.

Yang penting adalah apresiasi yang kita berikan terhadap setiap eksperimen baru. Dan buku (Sekolah Impian) yang sekarang hadir di hadapan pembaca ini adalah sebentuk apresiasi terhadap eksperimen yang belum selesai itu. Buku ini merupakan catatan kesan dari semua orang yang terlibat dalam eksperimen tersebut. Ada penginisiatif awal, pimpinan lembaga, guru dan orang tua murid. Dengan mengangkat berbagai aspek dari proses pembelajaran di Sekolah Alam, buku ini bertujuan mengangkat eksperimen-eksperimen pendidikan Sekolah Alam sebagai sebuah diskursus pendidikan.

Eksperimen-eksperimen itu tidak harus benar. Tapi pahala memulainya telah diraih, sekarang tinggal merebut pahala perbaikan dan penyempurnaannya. Apa yang penting dalam sebuah eksperimen bukanlah hasilnya. Tapi bibit yang ditanam dalam eksperimen itulah yang kelak akan berbuah: niat baik, kerja keras, obsesi kesempurnaan, kelapangan dada menerima kritik dan kerendahan hati merima pujian, tidak cepat puas dengan keberhasilan-keberhasilan kecil, serta anggapan yang tidak pernah hilang bahwa semua sukses dalam eksperimen ini semata-mata merupakan rahmat Allah, bukan karena kehebatan kita.

Semoga Allah menerima amal-amal kita, memaafkan kelalaian-kelalaian kita, dan menyempurnakan kekurangan-kekurangan kita. Semoga keterlibatan kita dalam dunia pendidikan ini, dalam posisi sebagai apapun, menjadi amal unggulan yang akan mengantar kita meraih ridha Allah dan surga-Nya kelak. Amin.

Jakarta, 22 September 2003 - Anis Matta

Monday, July 21, 2008

OpenCV: An Easy Way of Computer Vision Programming

OpenCV is an open source of computer vision library which is developed by INTEL in the C/C++ platform. It is a very powerful library which provides various library for many application in computer vision system, such as matrix manipulation, basic image processing, structural analysis, motion analysis, object recognition & real time interfacing.

Web resources:
Official webpage: http://www.intel.com/technology/computing/opencv/
Software download: http://sourceforge.net/projects/opencvlibrary/
Others will be listed later.

Saturday, July 19, 2008

Add your RECENT COMMENTS widget for BLOGGER

If you are WORDPRESS-er, it's an easy way to know the recent comments feed in your blog. Because Wordpress has provided this widget but no for BLOGGER. This morning, I found in Nirmaltv that Ramani has developed a really nice 'Recent Comment Widget' for Blogger. He made it after Blogger announced that they support blog feeds in JSON format also.

I have tried and it makes my blog more live, see on the right hand side :-). If you are interested to, Hackosphere posted step-by-step tutorial to make it in Customizable recent comments widget (using JSON feed).

Enjoy your practice...!

Friday, July 18, 2008

Hari Tanpa TV 2008

Tadi sore blogging sebentar, ketemu ama ini. Dukung MATIKAN TV SELAMA SEHARI - MINGGU 20 JULI!!!

Ajakan Koalisi Nasional HTT:
Ikuti "HARI TANPA TV 2008"
"Sebagian besar anak Indonesia menonton TV sekitar 1.600 jam setahun, padahal hanya 740 jam mereka belajar di bangku sekolah"

TV memiliki peran yang sangat penting dalam kehidupan masyarakat dewasa ini. TV dapat menjadi sumber informasi dan edukasi yang sangat handal. Namun TV juga dapat menjadi sumber hiburan yang tiada henti. Aktivitas menonton telah TV memangkas waktu interaksi dalam keluarga, menimbulkan dampak negatif berupa peniruan dan penanaman nilai pada anak-anak dan remaja, berkontribusi pada gaya hidup yang tidak sehat, konsumtif, dsb.

Fungsi siaran TV sebagai hiburan jauh lebih menonjol dibanding dengan fungsi yang seharusnya bisa diperankan berupa informasi dan edukasi. Keluarga yang mengalokasikan waktu yang lebih sedikit untuk menonton TV, akan mempunyai lebih banyak waktu untuk aktivitas-aktivitas yang lebih posistif, interaktif dan mempererat hubungan kekeluargaan.

Penelitian Yayasan Pengembangan Media Anak (YPMA) tahun 2006 menunjukkan bahwa jumlah jam menonton TV pada anak-anak usia sekolah dasar berkisar antara 30-35 jam seminggu, ditambah dengan sekitar 10 jam untuk bermain video game. Ini adalah jumlah waktu yang terlalu besar untuk hiburan yang kurang sehat bagi anak dan remaja. Dalam setahun, jumlah jam menonton TV ini mencapai lebih dari 1.600 jam. Bandingkan dengan jumlah jam belajar di sekolah dasar negeri selama setahun yang hanya sekitar 740 jam untuk kelas rendah.

Secara umum dapat dikatakan bahwa ketergantungan anak pada tayangan TV sudah sangat tinggi dan mencapai titik yang mengkhawatirkan. Ada beberapa fakta yang dapat menggambarkan betapa mengkhawatirkannya ketergantungan itu:

Pertama, belum terbentuk pola kebiasaan menonton TV yang sehat. TV masih menjadi hiburan utama keluarga yang dikonsumsi setiap hari dalam waktu yang panjang tanpa seleksi yang ketat terhadap pilihan acara yang mereka tonton.

Kedua, kebanyakan isi acara TV kita tidak aman dan tidak sehat untuk anak. Banyak acara TV dengan kandungan materi untuk orang dewasa yang ditayangkan pada jam-jam anak biasa menonton dan kemudian disukai dan ditiru oleh anak-anak. Contoh yang ekstrim, peniruan adegan laga dalam tayangan TV oleh anak telah menimbulkan beberapa korban jiwa.

Ketiga, lemahnya peraturan bidang penyiaran dan penegakannya. Sejak indutri televisi berkembang pesat, permasalahan yang terkait dengan isi tayangan makin membesar. Hingga kini masalah tersebut belum dapat diatasi dengan efektif.

Oleh karena itu, Koalisi Nasional HARI TANPA TV 2008 menyerukan kepada seluruh masyarakat untuk mematikan pesawat televisi selama sehari penuh pada hari MINGGU 20 JULI 2008.

Dengan mematikan TV selama sehari penuh dan mengajak anak-anak untuk memiliki kegiatan lain selain menonon TV, dapat menjadi langkah awal kita untuk mengurangi ketergantungan anak pada televisi. Dengan bersedia mematikan TV seharian, maka hal itu menjadi bukti bahwa kita sadar mengenai perlunya pengaturan dalam menonton TV bagi anak-anak kita.

Selain itu, perlu dilakukan upaya bersama seluruh komponen masyarakat untuk mendesak dan mempengaruhi industri penyiaran agar lebih memperhatikan isi tayangan dan pola penyiaran yang memperhatikan perlindungan terhadap anak. Tekanan yang paling efektif bagi industri televisi adalah apabila masyarakat secara bersama-sama tidak menonton TV sama sekali, atau secara selektif tidak menonton acara tertentu dalam waktu yang panjang.

Dukungan masyarakat akan disampaikan kepada industri penyiaran, Komisi Penyiaran Indonesia, Departemen Komunikasi dan Informatika, Komisi I DPR-RI, dan berbagai pihak terkait.
Sampaikan dukungan anda melalui e-mail ke haritanpatv@kidia.org;
SMS ke nomor 0812-1002.4009;
dan fax: 021-8690.5680; website http://www.kidia.org

Jakarta, 11 Juli 2008

Guntarto,
Ketua SC Koalisi Nasional HTT 2008

Interfacing with Parallel Port using MATLAB

Some applications in MATLAB environment need to communicate with external device either to send or receive signals. MATLAB provides a simple way to handle this task with PC parallel port.



Parallel port IDs and pin number:

Port ID

Pins

Description

0

2 – 9

Eight I/O lines, MSB = pin 9

1

10 – 13 and 15

Five input lines used for status (output pins)

2

1, 14, 16 and 17

Five I/O lines used for control (input pins)

MATLAB has digital I/O (DIO) subsystems which are designed to transfer digital values to and from hardware. To send out data, follow the below procedures:

  1. To check the support of your system, type

daq=daqhwinfo(‘parallel’)

  1. Create a Digital I/O Object with the digitalio function

dio=digitalio(‘parallel’,’lpt1’);

  1. Add lines to a Digital I/O Object

addline(dio,0:7,0,'out'); % add the hardware lines 0 until 7 from port 0 to the

% digital object dio

  1. Send data to the lines

putvalue(dio.line(1),1); % send data ‘1’ to line 1

Before executing the program, of course you must have the parallel connection attached to your PC and some LED to indicate that the digital data have been sent.

Have a nice practice controlling your device via parallel port, and please give your comments!

Web Portfolio

With a little bit understanding of Joomla environment, I also involve as a volunteer in the web development of some non-profit organizations.





Joomla is a free-ware content management service (CMS) tool, very easy-tuse for who do not familiar with web programming. Enjoy it!

Thursday, July 17, 2008

Publications

The following are my selected publications in the area of digital image & video processing, machine vision technology & biomedical imaging. Some of them are provided with full paper, but others are abstract only. However you can contact me if you're interested to. I'll attach to you freely.

2009

  1. Slamet Riyadi, Noorazrin Zakaria, Mohd Marzuki Mustafa, Aini Hussain, Oteh Maskon & Ika Faizura Mohd Noh. 2009. Cardio-Spatial Profile Extraction using Optical Flow of Echocardiographic Images. Lecture Note on Engineering and Computer Science 2009. Page 848‐851. Indexed by ISI Thomson Scientific.
  2. Norazlin Ibrahim, Slamet Riyadi, Noorazrin Zakaria, Mohd Marzuki Mustafa & Aini Hussain. 2009. Implementation of Differential Optical Flow in Natural Rigid Video Movement. Lecture Note on Engineering and Computer Science 2009. Page 795-798. Indexed by ISI Thomson Scientific.
  3. Slamet Riyadi, Mohd. Marzuki Mustafa, Aini Hussain, Oteh Maskon & Ika Faizura Mohd Noh. Quasi‐Gaussian DCT Filter for Speckle Reduction of Ultrasound Images. Lecture Note on Computer Science 5857. Page: 136 - 147. Indexed by Springer.

2008

  1. Slamet Riyadi, Asnor Juraiza Ishak, Mohd Marzuki Mustafa & Aini Hussain. 2008. Wavelet-based features extraction technique for fruit shape classification. Proceeding of the 5th International Symposium on Mechatronic and Its Application. 2008. Amman-Yordan. Indexed by ISI Thomson Scientific.

2007

  1. S. Riyadi, M. M. Mustafa, A. Hussain & A. Hamzah. 2007. Papaya fruit grading based on size using image analysis. Proceeding of International Conference on Electrical Engineering & Informatics 2007. Bandung-Indonesia.
  2. S. Riyadi, Ashrani A., M.M. Mustafa & A. Hussain. 2007. Shape characteristic analysis for papaya size classification. Proceeding of the 5th Student Conference on Research & Development 2007. Bangi-Malaysia (IEEE-Explore indexed)
  3. Slamet Riyadi, Hafizah Husain, Aini Hussain & Mohd. Marzuki Mustafa, “Papaya Size Grading using Centroidal Profile Analysis of Digital Image”, Proceeding of the 6th WSEAS International Conference on Circuit, Systems, Electronics, Control & Signal Processing 2007, Kairo-Egypt. (Indexed by ISI, SCOPUS, ElSevier)
  4. S. Riyadi, K.A.M. Nayan & M.M. Mustafa. 2007. Construction and Analytical Application of a Microcontroller-based Portable Concrete Thickness Tester. European Journal of Scientific and Research. Vol. 18:1. (In publishing, Indexed by Scopus & ElSevier)
  5. Kamarul Hawari Ghazali, Mohd Marzuki Mustafa, Aini Hussain, Slamet Riyadi and Saifudin Razali. 2007. Development of Real Time Machine Vision System for Automated Weeding Strategy in Oil Palm Plantation. Proceeding of the International Conference on Robotics, Vision, Information and Signal Processing 2007. Penang‐Malaysia. (IEEE‐Explore indexed).
  6. Mohd Marzuki Mustafa, Aini Hussain, Kamarul Hawari Ghazali and Slamet Riyadi. 2007. Implementation of Image Processing Technique in Real Time Vision System for Automatic Weeding Strategy. Proceeding of the 7th IEEE International Symposium on Signal Processing and Information Technology. Cairo‐Egypt. (IEEE‐Explore indexed)

2006

  1. Riyadi, S., Nayan, K.A.M. & Mustafa, M.M. 2006. Design of Microcontroller-Based Portable Instrument for Measuring P-Wave Speed in Impact-Echo Method. Prosiding Seminar Nasional Aplikasi Teknologi Informatika 2006.
  2. Riyadi, S., Nayan, K.A.M. & Mustafa, M.M. 2006. A Filter Bank for Measuring Thickness Frequency of P-Wave in Impact-Echo Test. Proceeding of International Conference on Advance Technologies of Telecommunications and Control Engineering 2006.
  3. Riyadi, S., Nayan, K.A.M. & Mustafa, M.M. 2006. Development of Microcontroller-Based Portable Instrument for Measuring Concrete Thickness in Impact-Echo Test. Prosiding Seminar Penyelidikan Siswazah Fakulti Kejuruteraan 2006, 29 – 30 Ogos 2006: 212 – 217.
  4. Riyadi, S., Nayan, K.A.M. & Mustafa, M.M. 2006. A Microcontroller-Based Instrument for Measuring P-Wave Speed in Impact Echo Testing of Concrete. Proceeding of International Conference IEEE TENCON 2006. Hongkong. (IEEE-Explore indexed)
  5. Riyadi, S., Nayan, K.A.M. & Mustafa, M.M. 2006. Design of Active Filter Bank for Measuring Thickness Frequency of P-Wave in Impact-Echo Testing of Concrete. Proceeding of International Symposium on Information & Communications Technology 2006: 513 – 518.

Wednesday, July 16, 2008

Aku dah sekolah, Bi...!

Habis maghrib tadi aku telpon buah hati kecilku, Asya, 3,5 tahun.

"Aku tadi sekolah, Bi...!" suaranya nyaring terdengar keras di speaker handphoneku.
"Oiya... Alhamdulillah..." jawabku mengapresiasi 'laporan'nya. Aku memang sengaja telpon dia malem ini karena kutahu tadi pagi adalah hari pertamanya masuk TK.
"Tadi di sekolah bermain apa sayangku?" tanyaku segera karena tak ingin dia berhenti bercerita.
"Aku dapet baju baru, Bi. Ada baju seragam, ada yang untuk olahraga juga." ceritanya lagi tanpa menjawab apa yg kutanyakan.
"Baju seragam Asya warnanya apa sayang?" tanyaku menimpali ceritanya.
"Me-ne-ke-te-he... (=Mana kutahu)" celotehnya manja & males menjawab pertanyaan yang sebenarnya.
"Tut tut tut ..." telpon terputus, biasa... kalo ga sinyal jelek ya baterai HP habis.

Aku coba telpon lagi berkali-kali gagal. Alhamdulillah, dah dengar cerita si kecil di hari pertama sekolahnya.

-Salam kangen dari Abi di Malaysia-

Video & Image Acquisition using MATLAB

This article is a part of module I had prepare for the Shortcourse on "Machine Vision Application for Oil Palm Grading", at the Faculty of Electrical & Electronics Engineering, Universiti Malaysia Pahang, Kuantan-Pahang. I was appointed by my colleague, Mas Kamarul, as invited instructor for the topic Real Time Interfacing using MATLAB.

In the machine vision system, data acquisition is the first step which programmer should aware. You want to preview object using your camera, capture it, store the captured image in your PC? With simple way, you will get your own preview window of your webcam by following this tutorial.

Equipments:

  1. CCD camera & frame grabber or webcame
  2. PC with MATLAB 7.x
Procedures:
  1. Make sure that you have a functional CCD camera or webcam connected to your PC. Functional means it's driver has been installed in your PC. To see whether your camera can work well or not, you can install a windows standard video capture, named AMCAP.
  2. MATLAB has built-in adaptor to communicate with the acquisition device. To check whether your MATLAB has this support or not, type

>> cam=imaqhwinfo

cam =

InstalledAdaptors: {1x1 cell}
MATLABVersion: [1x12 char]
ToolboxName: [1x25 char]
ToolboxVersion: [1x12 char]

>> cam.InstalledAdaptors

ans =

'winvideo'

For more information about your device, type

>> device_info=imaqhwinfo('winvideo',1)

  1. Type the following code in your editor and run the program

vid=videoinput(‘winvideo’);

preview(vid)


  1. To capture the video, type

im=getsnapshot(vid)

imshow(im)

Check your workspace, now you have RGB image data im.

  1. To store the image data to a .jpg or .gif file, type


imwrite(im,’myimet.jpg’);


Very easy? If you face any problem or you have suggestions, do not hesitate to write in the comments area below.

Friday, July 11, 2008

Mumpung isih enom

Februari 08 lalu, aku resmi ndaftar sebagai mahasiswa PhD di sini, nggabung dengan group riset ini. Semestinya, setelah aku dapet gelar MSc di sini juga, aku harus mengabdi dulu di universitas ku di kotaku sana, sebelum melanjutkan S-3. Kebetulan aku ditawari oleh supervisorku ketika ngambil MSc, utk melanjutkan studi S-3 di bawah bimbingannya. Berkat dukungan istriku, mantan Kajurku - yg sekarang jadi Dekan, mantan Sekjur - yg sekarang jadi Kajur dan tentunya pimpinan universitasku, akhirnya aku diijinkan utk langsung melanjutkan studi. Kata orang Jawa, mumpung isih enom (baca: mumpung masih muda umurnya, sekolah masih kuat berpikir). Insyallah...

Blogger Dat Nyeng ... !

Dalam bahasa Jawa ada istilah "dat nyeng" digunakan untuk menyebut perilaku seseorang yang kadang iya..kadang enggak, kadang rajin...kadang muales... Kalo pas lagi semangat, wuih...ngadubilah...tapi kalo lagi badmood, wuekkk...satu semester ngga nyentuh babar blas... Bahasa kawan saya FPI, un-istiqomah!

Itulah aku, blogger dat nyeng...

Sebenarnya dah lama aku mulai nge-blog di blogspot ini. Abis tu lama ga update..trus buat blog baru ini. Nyeng lagi... akhirnya kembali lagi ke blog ini.