02.04.2024 Views

Modul 1 Pengolahan Citra Digital Untuk PJJ (3)

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

PENGOLAHAN CITRA DIGITAL

PADA DOMAIN SPASIAL

DENGAN IMPLEMENTASI

PEMROGRAMAN BERBASIS MATLAB

Matakuliah: Penginderaan Jarak Jauh

Dosen: Daeng Achmad Suaidi

Sumber Pustaka: Gonzalez, Bab 4

Agenda:

• Point Processing

o Image Negative

o Contrast Stretching

o Histogram Equalization

o Image Substraction

• Mask Processing

o Smoothing filters:

Lowpass filter: linear filter (average filter)

Median filter: non-linear filter

o Sharpening filters: Highpass filter

daeng’s files 1


• Image Negative

Mengubah nilai grey-level piksel citra input dengan: Gbaru = 255 – Glama.

Hasilnya seperti klise foto

Praktek 1

Lakukan perintah-perintah berikut pada command window matlab:

>>Citra= imread(‘woman.bmp’);

>> imshow(Citra);

>> Citra_Negatif=255- Citra;

>> figure, imshow(Citra_Negatif);

• Contrast Stretching

Contrast Stretching dengan menggunakan fungsi:

fout = (fin – a) * b

a = min(fin)

daeng’s files 2


b = 255 / (max(fin) – min(fin))

Citra masukan yang grey level nya tidak penuh dari 0 – 255 (low constrast) diubah

menjadi citra yang grey level nya berkisar dari 0 – 255 (high contrast)

Praktek 2

Lakukan perintah-perintah berikut pada command window matlab:

>>Citra= imread(‘kucing.bmp’);

>> imshow(Citra);

>> a = min(min(Citra));

>> b = max(max(Citra));

>> c = 255 / (b – a);

>> Cintra_contrast = (Citra – a) * c;

>> figure, imshow(Citra_contrast);

daeng’s files 3


• Histogram Equalization

Histogram: diagram yang menunjukkan jumlah kemunculan grey level (0-255) pada

suatu citra

Histogram processing:

Histogram processing: mengubah bentuk histogram agar pemetaan gray level pada

citra juga berubah

Ide: mengubah pemetaan greylevel agar sebarannya (kontrasnya) lebih menyebar pada

kisaran 0-255.

Sifat:

Grey level yang sering muncul lebih dijarangkan jaraknya dengan grey level sebelumnya

Grey level yang jarang muncul bisa lebih dirapatkan jaraknya dengan grey level

sebelumnya

Histogram baru pasti mencapai nilai maksimal keabuan (contoh: 255)

Praktek 3

Lakukan perintah-perintah berikut pada command window matlab:

>>Citra= imread(‘roda.bmp’);

>> imshow(Citra);

>> Citra_his = histeq(Citra);

daeng’s files 4


>> figure, imshow(Citra_his);

>> figure, imhist(Citra,64);

>> figure, imhist(Citra_his,64);

• Mask Processing

Jika pada point processing kita hanya melakukan operasi terhadap masing-masing

piksel, maka pada mask processing kita melakukan operasi terhadap suatu jendela

ketetanggaan pada citra. Kemudian kita menerapkan (mengkonvolusikan) suatu mask

terhadap jendela tersebut. Mask sering juga disebut filter.

Contoh: Jendela ketetanggan 3x3,

1 2 3

8 x 4

7 6 5

Nilai piksel pada posisi x dipengaruhi oleh nilai 8 tetangganya

Perbedaan dengan point processing: pada point processing, nilai suatu piksel tidak

dipengaruhi oleh nilai tetangga-tetangganya

Contoh sebuah mask berukuran 3x3.

Filter ini akan dikonvolusikan pada setiap jendela ketetanggaan 3x3 pada citra (anggap

filter sudah dalam bentuk terbalik

W1 W2 W3

W4 W5 W6

W7 W8 W9

daeng’s files 5


G11 G12 G13 G14 G15

G21 G22 G23 G24 G25

G31 G32 G33 G34 G35

G22’ = w1 G11 + w2 G12 + w3 G13+

w4 G21 + w5 G22 + w6 G23 +

w7 G31 + w8 G32 + w9 G33

G41 G42 G43 G44 G45

G51 G52 G53 G54 G55

‣ SMOOTHING

FILTER LINEAR

Pada prinsipnya, filter yang digunakan dalam filter linear adalah

neighborhood averaging merupakan salah satu jenis low-pass filter, yang bekerja

dengan cara mengganti nilai suatu piksel pada citra asal dengan nilai rata-rata dari

piksel tersebut dan lingkungan tetangganya.

Penapis rata-rata adalah salah satu penapis lolos rendah yang paling

sederhana. Aturan untuk penapis lolos rendah adalah :

Semua koefisien penapis harus positif

Jumlah semua koefisian harus sama dengan satu

Jika jumlah semua koefisien lebih besar daripada satu, maka konvolusi

menghasilkan penguatan (tidak diinginkan). Jika jumlah semua koefisien lebih kecil

dari satu, maka yang dihasilkan adalah penurunan, dua nilai mutlak setiap piksel di

seluruh bagian citra berkurang. Akibatnya, citra hasil pelembutan tampak lebih

gelap. Berikut beberapa penapis rata-rata, yaitu penapis lolos rendah yang sering

digunakan pada operasi pelembutan.

daeng’s files 6


1/9 1/9 1/9 1/16 1/8 1/16 1/10 1/10 1/10

1/9 1/9 1/9 1/8 1/4 1/8 1/10 1/5 1/10

1/9 1/9 1/9 1/16 1/8 1/16 1/10 1/10 1/10

Praktek 4

Contoh perintah untuk melakukan neighborhood averaging dengan kernel

berukuran 3×3:

I=imread('eight.tif');

A=imnoise(I,'gaussian');

B=imnoise(I,'poisson');

C=imnoise(I,'speckle');

kernel=[1 1 1; 1 1 1; 1 1 1]/9;

J=uint8(conv2(double(A),kernel,'same'));

figure,imshow(A);

figure,imshow(J);

Contoh pelembutan dengan noise tipe gaussian

daeng’s files 7


FILTER MEDIAN

Smoothing (penghalusan) citra adalah operasi pengurangan derau (noise) pada

citra. Metode atau filtering yang terbaik bergantung pada situasi citra dan jenis derau atau

degradasi yang terdapat pada citra. Beberapa filter tersebut adalah:

Filter median sangat bermanfaat untuk menghilangkan outliers, yaitu nilai-nilai

piksel yang ekstrim. Filter median menggunakan sliding neighborhood untuk memproses

suatu citra, yaitu suatu operasi dimana filter ini aka menentukan nilai masing-masing

piksel keluaran dengan memeriksa tetangga m×n di sekitar piksel masukan yang

bersangkutan. Filtering median mengatur nilai-nilai piksel dalam satu tetangga dan

memilih nilai tengah atau median sebagai hasil.

Median filter merupakan salah satu jenis low-pass filter, yang bekerja dengan

mengganti nilai suatu piksel pada citra asal dengan nilai median dari piksel tersebut dan

lingkungan tetangganya. Dibandingkan dengan neighborhood averaging, filter ini lebih

tidak sensitif terhadap perbedaan intensitas yang ekstrim.

Pada penapis median, suatu ‘jendela’ (window) memuat sejumlah piksel. Jendela

digeser titik demi titik pada seluruh daerah citra. Pada setiap pergeseran dibuat jendela

baru. Titik tengah dari jendela ini diubah dengan nilai median dari jendela tersebut.

13 10 15 14 18

12 10 10 10 15

11 11 35 10 10

13 9 12 10 12

13 12 9 8 10

Piksel bernilai 35 terkena derau

Sebagai contoh, tinjau jendela berupa kelompok piksel (daerah berwarna

biru cerah) pada sebuah citra pada gambar di atas. Piksel yang sedang diproses

adalah yang mempunyai intensitas 35.

10 10 10 11 35 10 9 12 10

daeng’s files 8


Urutkan piksel-piksel tersebut:

9 10 10 10 10 10 11 12 35

Median dari kelompok tersebut adalah 10 (dicetak tebal). Titik tengah dari

jendela (35) sekarang diganti dengan bilai median (10). Hasil dari penapis median

diperlihatkan pada gambar di bawah ini. Jadi, penapis median menghilangkan

nilai piksel yang sangat berbeda dengan piksel tetangganya.

13 10 15 14 18

12 10 10 10 15

11 11 10 10 10

13 9 12 10 12

13 12 9 8 10

Praktek 5

Piksel bernilai 35 diganti dengan 10

Contoh perintah untuk melakukan median filtering dengan kernel berukuran 3×3:

I=imread('eight.tif');

IN=imnoise(I,'salt & pepper',0.02);

J=medfilt2(I,[3 3]);

JN=medfilt2(IN,[3 3]);

figure,imshow(I);

figure,imshow(J);

figure,imshow(IN);

figure,imshow(JN);

daeng’s files 9


Hasil pemfilteran dengan filter median

‣ SHARPENING

Sharpening (penajaman) citra adalah operasi penonjolan bagian-bagian pada

citra. Metode atau filtering yang digunakan adalah high-pass filtering.

Operasi penajaman citra bertujuan untuk memperjelas tepi pada objek di dalam

citra. Penajaman citra merupakan kebalikan dari operasi pelembutan citra karena operrasi

ini menghilangkan bagian citra yang lembut.

Operasi penajaman dilakukan dengan melewatkan citra pada penapis lolos tinggi

(high pass filter). Penapis lolos tinggi akan meloloskan (atau memperkuat) komponen

yang berfrekuensi tinggi (misalnya tepi atau pinggiran objek) dan akan menurunkan

komponen berfrekuensi rendah. Akibatnya, pinggiran objek terlihat lebih tajam

dibandingkan sekitarnya.

Karena penajaman citra lebih berpengaruh pada tepi (edge) objek, maka

penajaman citra sering disebut juga penajaman tepi (edge sharpening) atau peningkatan

kualitas tepi (edge enchantment). Berikut di bawah ini adalah contoh penajaman citra:

daeng’s files 10


Contoh hasil penajaman citra ‘lena.jpg’

Seperti pada operasi pelembutan citra yang telah kita bahas sebelumnya, pada

operasi penajaman citra juga digunakan penapis yang berfungsi untuk melakukan

penajaman objek pada citra.

Penapis pada operasi penajaman citra disebut penapis lolos tinggi. Aturan dari

penapis lolos tinggi adalah sebagai berikut:

Koefisien boleh positif, negatif, atau nol

Jumlah semua koefisien adalah nol atau Satu

Jika jumlah koefisien = 0, maka komponen berfrekuensi rendah akan turun

nilainya, sedangkan jika jumlah koefisien sama dengan satu, maka komponen

berfrekuensi rendah akan tetap sama dengan nilai semula. Berikut contoh-contoh penapis

lolos tinggi yang sering digunakan dalam penajaman citra:

filter 1 filter 1 filter 2

-1 -1 -1 -1 -1 -1 0 -1 0

-1 8 -1 -1 9 -1 -1 5 -1

-1 -1 -1 -1 -1 -1 0 -1 0

∑ = 0 ∑ = 1 ∑ = 1

daeng’s files 11


filter 2 filter 3 filter 3

0 1 0 1 -2 1 1 -1 1

1 -4 1 -2 5 -2 -2 4 -2

0 1 0 1 -2 1 1 -1 1

∑ = 0 ∑ = 1 ∑ = 0

Nilai koefisien yang besar di titik pusat penapis memainkan peranan kunci dalam

proses konvolusi. Pada komponen citra dengan frekuensi tinggi (yang berarti perubahan

yang besar pada nilai intensitasnya), nilai tengah ini dikalikan dengan nilai piksel yang

dihitung. Koefisien negatif yang lebih kecil di sekitar titik tengah penapis bekerja untuk

mengurangi factor pembobotan yang besar. Efek nettonya adalah, piksel-piksel yang

bernilai besar diperkuat, sedangkan area citra dengan intensitas piksel konstan tidak

berubah nilainya.

Karena koefisien penapis mengandung nilai negatif, maka konvolusi mungkin

saja menghasilkan piksel bernilai negatif. Meskipun intensitas bernilai negatif menarik,

tetapi kita tidak dapat menampilkannya. Untuk alasan ini, implementasi konvolusi menset

nilai negative menjadi nilai nol. Cara lainnya adalah dengan mengambil nilai

mutlaknya atau menskalakan semua nilai piksel secara menaik sehingga nilai yang paling

negative menjadi nol.

Praktek 6: HIGH-PASS FILTERING

Sebagaimana pada proses pengolahan sinyal satu dimensi, high-pass filter

dua dimensi akan melewatkan komponen citra frekuensi tinggi dan meredam

komponen citra frekuensi rendah. Contoh perintah untuk melakukan high-pass

filtering:

I=imread('saturn.tif');

hpf1=[ 1 -2 1;-2 5 -2; 1 -2 1];

daeng’s files 12


hpf2=[ 0 -1 0;-1 5 -1; 0 -1 0];

hpf3=[-1 -1 -1;-1 9 -1;-1 -1 -1];

J1=uint8(conv2(double(I),hpf1,'same'));

J2=uint8(conv2(double(I),hpf2,'same'));

J3=uint8(conv2(double(I),hpf3,'same'));

figure,imshow(I);

figure,imshow(J1);

figure,imshow(J2);

figure,imshow(J3);

Hasil pemfilteran dengan filter high-pass

daeng’s files 13


TUGAS !

LAKUKAN PRKTEK 1 SAMPAI 6. TAMPILAN CITRA

INPUT DAN OUTPUT DICOPY PASTE KE WORD,

DIPRINT.

daeng’s files 14

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!