MATLAB : Mencari posisi piksel dengan nilai graylevel tertentu pada citra

Kita mempunyai suatu citra i dengan graylevel 0-255. Misal kita ingin mencari piksel yang memiliki nilai graylevel 23 ada di posisi mana saja? Di Matlab, permasalahan ini dapat diatasi dengan mudah. Pada dasarnya, citra graylevel direpresentasikan sebagai matrix 2D di Matlab. Jadi, pencarian piksel dengan nilai graylevel tertentu sama dengan pencarian nilai tertentu dalam suatu matrix.
Simak contoh berikut :
Kita ingin mencari piksel dengan graylevel bernilai 23 ada di posisi (baris, kolom) berapa saja...maka gunakan fungsi find.m yang tersedia di Matlab.
Misal citra awal kita simpan dalam variabel i, maka untuk mencari posisi piksel graylevel 23 dapat dilakukan dengan dua cara yaitu :
Mendata baris dan kolom
[baris,kolom] = find(i == 23)
Jika dalam citra i terdapat lebih dari satu piksel dengan graylevel 23, maka baris dan kolom akan berupa matriks berukuran n x 1 dengan n adalah jumlah piksel yang memiliki graylevel 23. Misalkan baris menghasilkan nilai :
2
4
5
7
dan kolom menghasilkan nilai :
1
5
2
3
maka jumlah piksel dengan graylevel 23 adalah 4 piksel dengan posisi (baris,kolom) = (2,1) (4,5) (5,2) (7,3).

Mendata index

index = find( i == 23)
Index merupakan nomor urut piksel yang dihitung dari piksel paling atas sebelah kiri (baris 1, kolom 1) urut ke bawah lalu ke kanan seperti pada Gambar 1 untuk citra berukuran 6x3.


Gambar 1 Urutan index matrix

Implementasi find untuk pencarian nilai tertentu dalam suatu matrix dapat dilihat pada Gambar 3.


Gambar 2 Impelmentasi fungsi find

2 comments on "MATLAB : Mencari posisi piksel dengan nilai graylevel tertentu pada citra"

  1. nice like :) mau tanya mbak caranya kita bisa mengukur panjang luas suatu object itu bgmn di matlab? ap bergantung pada pixel juga?

    ReplyDelete
  2. sekalian mbak mau tanya bentuk pengaplikasian data warehouse di web itu kayak gimana saya baca ikut lomba gemastik data mining kan nuwun :)

    ReplyDelete