Header Ads Widget

Image Processing dengan MATLAB


MATLAB adalah singkatan dari Matrix Laboratory, yang merupakan software untuk programming dan analysis tool yang powerful. Apa maksudnya powerful? Maksudnya MATLAB memiliki fitur-fitur yang banyak banget sebagai perangkat analisis, di samping hasil yang didapatkan juga akurat dan presisi. Hal ini dibuktikan dengan dipakainya MATLAB secara luas di seluruh dunia, baik di dunia akademik maupun industri. Aplikasinya dari sekedar melakukan perhitungan numerik sederhana, analisis sinyal digital, sampai analisis data teks dan data gambar (image processing) juga bisa. Yang terakhir disebutkan ini tergolong cukup asyik, karena kita dapat mengolah data gambar yang kita miliki (jpeg, gif, tiff, bmp, whatever…) sesuai dengan kebutuhan. Kita dapat memodifikasi gambar seperti yang kita lakukan pada berbagai image editor (seperti Paint, Irfan View, dll), dengan kemampuan yang jauh lebih luas. Masalahnya memang penggunaan MATLAB tidaklah user friendly seperti image editor. Namun dengan menambahkan GUI (fasilitas interface pada MATLAB) pada syntax-syntax yang njelimet itu, kita bisa membuat image editor sendiri untuk menyaingi image editor yang sudah ada.

Keunggulan lain yang dapat kita lakukan pada software ini, MATLAB tidak hanya mampu untuk meng-edit data gambar yang ada, namun MATLAB mampu melakukan analisis terhadap data gambar tersebut. Misalnya ada gambar polkadot pada sebuah kain, maka kita dapat membuat sebuah program pada MATLAB untuk menganalisis gambar tersebut, ada berapa lingkaran pada kain tersebut? Ini bukannya kurang kerjaan, tapi ternyata teknologi image processing seperti ini sudah amat banyak kegunaannya, bahkan teknologi ini merupakan salah satu teknologi yang masih berkembang dengan pesat di antara para ilmuwan. Kegunaannya antara lain adalah pada proses quality control pada perusahaan manufaktur. Hanya dengan melewatkan produk hasil produksi di depan kamera, maka sistem dapat mengetahui apakah produk tersebut memenuhi standar kualitas atau tidak. Teknologi ini juga dipakai pada sistem deteksi wajah (face detection) yang sekarang lagi nge-trend dipakai pada chip kamera digital. Bahkan dasar teknologi pengenalan sidik jari dan screen touch juga memakai filosofi teknologi image processing.

Konsep dasarnya cukup sederhana. Sebuah gambar pada dasarnya adalah kumpulan titik-titik warna pada sebuah layar yang sering disebut dengan istilah pixel. Semakin banyak pixel yang dimiliki oleh sebuah gambar, maka kualitas gambar ini akan semakin baik (more detail on it). Walaupun konon mata manusia tidak terlalu mampu untuk membedakan gambar-gambar di atas 5 megapixel (hasil jepretan kamera 7, 8 megapixel dst dianggap sama oleh mata kita) dengan ukuran yang sama, namun besarnya jumlah pixel pada gambar masih berguna ketika ukuran gambar yang bersangkutan diperbesar. Untuk gambar dengan jumlah pixel yang banyak, maka pembesaran ukuran gambar tidak akan terlalu banyak mengurangi kualitas gambar, sedangkan pada gambar dengan jumlah pixel sedikit, pembesaran ukuran gambar akan menyebabkan gambar terlihat pecah dan kotak-kotak. Setiap pixel gambar ini pada hakikatnya adalah perwakilan dari sebuah vektor warna pada layar. Umumnya pada layar berwarna yang ada sekarang, maka vektor warna itu akan terdiri dari 3 layer, yang masing-masing layer mewakili sub warna merah, hijau, dan biru (red, green and blue – RGB). Sebuah elemen vektor warna akan bernilai antara nol sampai 255, sehingga nantinya warna hitam pekat akan mewakili vektor [0 0 0], sedangkan warna putih bersih akan mewakili vektor [255 255 255]. Warna-warna lainnya merupakan variasi ketiga elemen tersebut dengan nilai-nilai yang berbeda.


Pada MATLAB, sebuah gambar akan disimpan sebagai sebuah matriks m x n x 3, di mana m adalah jumlah pixel dalam arah sumbu x, n adalah jumlah pixel pada sumbu y dan 3 adalah jumlah layer (R, G, dan B). Maka untuk memanipulasi atau untuk memodifikasi sebuah gambar, maka seseorang tinggal melakukan modifikasi pada angka-angka dalam matriks gambar tersebut, sesuai dengan kebutuhan dan keinginannya. Misalnya saya ingin merubah warna putih dalam gambar menjadi merah, sedangkan warna merah menjadi warna putih, maka saya tinggal membuat sebuah algoritma sederhana pada programming MATLAB untuk mengubah vektor [255 255 255] menjadi [255 0 0], dan sebaliknya. Selain itu, dengan membuat algoritma yang sesuai, maka kita dapat mengolah lebih lanjut angka-angka tersebut dan menjadikannya bahan analisis, tentang berbagai kecenderungan yang terdapat pada gambar tersebut, hingga pada akhirnya algoritma tadi dapat membuat sebuah keputusan mengenai isi gambar.

Post a Comment

0 Comments