Robot Berbasis Image Processing – 3

0 136

Setelah belajar tentang penggunaan imread() dan imshow() pada tulisan saya sebelumnya , sekarang kita akan belajar membuat sebuah fungsi menggunakan m-file. Pada jendela Utama MATLAB, pilih File >> New >> Blank M- File. Setelah itu, kita bisa melihat jendela editor M-File akan terbuka.

Fungsi (function)

Hal yang harus dipahami terlebih dahulu sebelum masuk membahas hal ini adalah tentang apa itu fungsi? Fungsi seperti yang ditaketahui, dibuat untuk mengorganisasi kode program agar efisien dan membuat proses debugging menjadi lebih mudah. Sekumpulan statement didalam fungsi bisa dieksekusi dan ketika diperlukan dapat dipanggil tanpa menulis ulang koding didalam fungsi tersebut. Data yang diperlukan didalam fungsi bisa dilalui sebagai argumen dan kemudian nilai hasilnya akan dikembalikan. Fungsi disimpan sebagai m-file dengan nama yang sama dengan nama fungsi tersebut

Daripada bingung dengan teori – teori, mari langsung ke contoh dimana kita akan membuat fungsi yang mengambil masukan color image dan mengembalikan hasilnya menjadi binary image dimana pixel – pixel hijau akan diganti dengan warna putih dan sisanya (yang tidak berpixel hijau) akan diganti dengan warna hitam. Masukkan statement seperti gambar berikut

image0021

Fungsi tersebut bernama hijau dimana im adalah argumen masukan dan [binhijau,num] adalah argumen keluaran, setelah fungsi tersebut dibuat, maka disimpan dan diberi nama sesuai dengan nama fungsi tersebut, pada contoh diatas fungsi tersebut diberi nama hijau, jadi saya menyimpannya juga dengan nama hijau.m

Setelah selesei membuat fungsi tersebut, maka sediakan sebuah gambar sembarang, saya membuatnya dengan mspaint, anda bisa membuat sendiri gambar sembarang atau jika ingin gampang gunakan saja gambar yang saya pakai, file gambar ini harus disimpan di current directory

image004

Kita namakan file gambar ini sebagai cobabentuk.bmp. Setelah selesei, kita membuat program utama dengan m-file dengan menggunakan fungsi hijau yang telah dibuat seperti gambar berikut :

image006

Program tersebut disimpan dan diberi nama cobaimage.m , dari sintaksnya dapat dianalisa bahwa program tersebut menggunakan fungsi hijau yang telah dibuat dan menggunakan argumen masukan I serta parameter keluaraannya adalah [img,n]. kemudian nilai keluaran img ditampilkan dengan perintah imshow(img). Setelah program tersebut dieksekusi maka akan muncul jendela figure seperti berikut

image008

Seperti yang dilihat bahwa binary image dengan pixel putih berada pada posisi yang sama dimana tadi image masukan berwarna hijau, bagaimana hal ini bisa terjadi? Silahkan anda pelajari function hijau yang telah dibuat tadi, fungsi itulah yang membuat hal tersebut menjadi mungkin 🙂

Yang baru saja kita praktekan adalah image yang sangat ideal dimana tiap warnanya adalah sempurna. Namun pada kenyataannya gambar dengan warna yang sempurna sangat jarang untuk didapatkan. Sehingga untuk mengkompensasi hal tersebut, harus diberikan rentang pada nilai RGB untuk mengekstrak daerah image yang diinginkan

Sekarang andaikan saya mempunyai image yang bernama mobil.bmp berikut

image010

Untuk memprosesnya, seperti biasa file gambar harus disimpan pada current directory. Jika sudah buatlah fungsi seperti gambar berikut ini pada m-file editor

image0121

Fungsi tersebut bernama merah sehingga file-nya harus disimpan dengan nama merah.m

Setelah selesei, kemudian ketikkan program utamanya yang mirip dengan program cobaimage.m atau lengkapnya seperti gambar dibawah ini

image014

Setelah selesei, file tersebut disimpan dengan nama merah.m. Kemudian running program tersebut dengan menekan tombol F5 sehingga dapat dilihat hasilnya seperti pada gambar dibawah ini

image016

Untuk mendapatkan ide berapa rentang nilai RGB yang harus didefiniskan maka bisa digunakan fungsi imtool() atau data cursor pada file asli (yang telah dibahas pada tulisan saya sebelumnya). Kita hanya tinggal menggerakkan kursor ke daerah yang diinginkan untuk mengekstrak dan kemudian melihat nilai RGB-nya pada pojok kiri bawah.

Pada tulisan saya berikutnya kita akan belajar untuk menghilangkan noise pada hasil gambar yang telah diproses, kemudian juga dipelajari apa kegunaan membuat binary image dari color image yang baru saja kita pelajari pada tulisan ini.

Selamat belajar !! 🙂

%d blogger menyukai ini: