MORFOLOGI
Pengertian Morfologi
Istilah morfologi semula berasal dari pembelajaran mengenai bentuk-bentuk atau struktur tumbuhan dan hewan. Proses morfologi menunjukkan operasi tertentu yang dikenakan pada sebuah obyek dengan elemen terstruktur.
Operasi morfologi adalah teknik pengolahan citra yang didasarkan pada bentuk segmen atau region dalam citra. Oprasi ini antara lain meliputi: pencarian batas/kontur, dilasi, erosi penutupan (closing), pembukaan (opening), dan pengisian (filling)
Beberapa defenisi adalah titik yang dipakai dalam operasi morfologi:
· Titik obyek, adalah titik yang merupakan bagian dari obyek. Biasanya direpresentasikan dengan nilai 0 (nol) atau warna hitam
· Titik latar, adalah titik yang merupakan bagian latar. Biasanya direpresentasikan dengan nilai 1 (satu) atau warna putih
· Titik tetangga adalah titik yang langsung bersebelahan dengan titik yang sedang ditinjau, yaitu yang berada di sebelah kiri, kanan, atas, dan bawah
Operasi-operasi morfologi citra, diantaranya:
1. 1. Dilasi
Operasi dilasi dilakukan untuk memperbesar ukuran segmen obyek dengan menambah lapisan di sekeliling obyek. Terdapat du acara untuk melakukan operasi ini, yaitu dengan cara mengubah semua titik latar yang bertetangga dengan titik batas menjadi titik obyek, atau lebih mudahnya tetapkan setiap titik yang tetangganya adalah titik obyek menjadi titik obyek. Cara kedua, yaitu dengan mengubah semua titik di sekililing titik batas menjadi titik obyek, atau lebih mudahnya tetapkan semua titik tetangga sebuah titik obyek menjadi titik obyek.
a. Algoritma Operasi Dilasi
- Untuk semua titik dalam citra, cek apakah titik tersebut adalah titik obyek
Jika ya, maka ubah semua tetangganya menjadi titik obyek
Jika tidak, maka lanjut ke titik berikutnya
b. Contoh Operasi Dilasi
c. Mathlab Berikut function sebagai berikut :
se=[1 0 1;0 1 0; 1 0 1]
a=imread('FotoAhmaddd.jpeg');
b=imdilate(a,se);
figure; imshow(a);
figure; imshow(b);
c=imerode(a,se);
figure; imshow(a);
figure; imshow(c);
Dan hasilnya sebagai berikut :
1. 2. Erosi
Operasi erosi adalah kebalikan dari dilasi. Pada operasi ini, ukuran obyek diperkecil dengan mengikis sekililing obyek. Cara yang dapat dilakukan juga dua. Pertama, yaitu dengan mengubah semua titik batas menjadi titik latar. Kedua, dengan menset titik di sekililing titik latar menjadi titik latar.
a. Algoritma Operasi Erosi
- Untuk semua titik dalam citra, cek apakah titik tersebut adalah titik latar
o Jika ya, maka ubah semua tetangganya menjadi titik latar
o Jika tidak, maka lanjutkan ke titik berikutnya
b. Contoh Operasi Erosi
C. Matlab
Adapun format mathlabnya sebagai berikut:
%syntax untuk memilih gambar
[FileName,PathName] = uigetfile('*.jpg','Pilih File Gambar');
%syntax untuk memberi variabel pada gambar yang dipilih
a = strcat(PathName,FileName);
%syntax untuk memasukkan variabel a sebagai nilai dari variabel b
b = imread(a);
%syntax untuk mengabu-abukan citra asli
gray=rgb2gray(b);
%syntax untuk mengerosikan citra asli
se=strel('ball',5,5);
erosi=imerode(gray,se);
%syntax untuk menempatkan citra asli, keabuabuan, dan citra erosi kedalam axes
axes(handles.axes1), imshow(b)
axes(handles.axes2), imshow(gray)
axes(handles.axes3), imshow(erosi)
Dari fucntion didapat hasil running sebagai berikut:
1. 3. Penutupan (Closing)
Operasi penutupan adalah kombinasi antara operasi dilasi dan erosi yang dilakukan secara berurutan. Citra asli dilasasi terlebih dahulu, kemudian hasilnya dierosi. Operasi ini digunakan untuk menutup atau menghilangkan lubang-lubang kecil yang ada dalam segmen obyek. Operasi penutupan juga digunakan untuk menggabungkan dua segmen obyek yang saling berdekatan (menutup sela antara dua obyek yang sangat berdekatan).
a. Algoritma Operasi Penutupan
- Untuk semua titik dalam citra, cek apakah titik tersebut adalah titik obyek
Jika ya, maka ubah semua tetangganya menjadi titik obyek
Jika tidak, maka lanjutkan ke titik berikutnya
- Cek apakah titik tersebut adalah titik latar
Jika ya, maka ubah semua tetangganya menjadi titik latar
Jika tidak, maka lanjutkan ke titik berikutnya
b. Contoh Operasi Penutupan
a. Matlab
Adapun function dari closing sebagai berikut :
f = imread('FotoAhmaddd.jpeg');
SE = strel('disk', 9, 0)
j = imopen(f, SE);
figure, imshow(j);
k = imclose(f, SE);
figure, imshow(k);
l = imclose(j, SE);
figure, imshow(l);
Dan didapatkan hasil runningnya sebagai berikut:
1. 4. Pembukaan (Opening)
Operasi pembukaan juga merupakan kombinasi antara operasi erosi dan dilasi yang dilakukan secara beruntun, tetapi citra asli dierosi terlebih dahulu baru kemudian hasilnya didalasi. Operasi ini dilakukan untuk memutus bagian-bagian dari obyek yang hanya terhubung dengan satu atau dua buah titik saja.
a. Algoritma Operasi Pembukaan
- Untuk semua titik dalam citra, cek apakah titik tersebut adalah titik latar
o Jika ya, maka ubah semua tetangganya menjadi titik latar
o Jika tidak, maka lanjutkan ke titik berikutnya
- Cek apakah titik tersebut adalah titik obyek
o Jika ya, maka ubah semua tetangganya menjadi titik obyek
o Jika tidak, maka lanjutkan ke titik berikutnya
b. Contoh Operasi Pembukaan
a. Matlab
Adapun function dari opening adalah sebagai berikut:
f = imread('FotoAhmaddd.jpeg');
SE = strel('disk', 9, 0)
j = imopen(f, SE);
figure, imshow(j);
k = imclose(f, SE);
figure, imshow(k);
l = imclose(j, SE);
figure, imshow(l);
Berikut hasi dari opening :