• Tidak ada hasil yang ditemukan

TEKNIK PENGOLAHAN CITRA. Kuliah 2 Point Processing. Indah Susilawati, S.T., M.Eng.

N/A
N/A
Protected

Academic year: 2021

Membagikan "TEKNIK PENGOLAHAN CITRA. Kuliah 2 Point Processing. Indah Susilawati, S.T., M.Eng."

Copied!
18
0
0

Teks penuh

(1)

TEKNIK PENGOLAHAN CITRA

Kuliah 2 – Point Processing

Indah Susilawati, S.T., M.Eng.

Program Studi Teknik Elektro

Program Studi Teknik Informatika

Fakultas Teknik dan Ilmu Komputer

Universitas Mercu Buana Yogyakarta

(2)

KULIAH 3

TEKNIK PENGOLAHAN CITRA

PENGOLAHAN TITIK (POINT PROCESSING)

Setiap operasi pengolahan citra pada dasarnya adalah alihragam (transformasi) nilai piksel-piksel yang ada pada citra yang bersangkutan. Operasi ini dapat dibagi menjadi tiga kelas (dari yang paling rumit hingga yang paling sederhana), yaitu:

1. Transformasi. Transformasi mengubah nilai piksel menjadi bentuk lain yang ekivalen. Transformasi biasanya menggunakan algoritma yang efisien dan

powerfull. Misalnya adalah DFT (Discrete Fourier Transform).

2. Neighbourhood processing. Untuk mengubah nilai piksel tertentu maka perlu diketahui nilai-nilai piksel tetangga (di sekitar piksel yang bersangkutan). Misalnya adalah operasi penapisan dengan tapis median (median filtering) dengan jendela 3 x 3 piksel.

3. Operasi titik (Point Operations). Untuk mengubah nilai piksel tertentu maka tidak perlu diketahui nilai-nilai piksel tetangga (di sekitar piksel yang bersangkutan).

Operasi titik merupakan operasi yang paling sederhana, namun juga merupakan operasi pengolahan citra yang paling sering digunakan. Operasi ini terutama sangat berguna dalam pra-pengolahan cita (image pre-processing), yaitu proses paling awal dalam pengolahan citra sebelum proses utama dilakukan.

Operasi Aritmatika

Operasi ini dapat dilakukan dengan fungsi sederhana f(x)

(3)

pada setiap nilai piksel pada citra, x adalah nilai piksel (input) dan f(x) adalah nilai piksel output. Operasi ini memetakan nilai piksel dengan domain 0 – 255 pada kodomain yang sama. Contoh fungsi seperti ini adalah penjumlahan atau pengurangan nilai piksel dengan suatu konstanta,

C x y= ±

atau perkalian tiap piksel dengan suatu konstanta, Cx

y=

Yang perlu diperhatikan dalam hal ini adalah hasil f(x) harus merupakan bilangan bulat dalam jangkauan 0 – 255. Hal ini dapat dilakukan dengan pembulatan hasilnya (jika perlu) dan kemudian melakukan clipping dengan menentukan,

⎩ ⎨ ⎧ < > = 0 0 255 255 y jika y jika y

Berikut adalah contoh hasil penjumlahan dan pengurangan konstanta C = 128 pada tiap piksel.

(4)

Dari grafik, dapat disimpulkan secara garis besar bahwa menambahkan dengan suatu konstanta akan menambah terang citra, dan mengurangkan dengan suatu konstanta akan menambah gelap citra.

Matlab menyediakan fungsi untuk operasi penjumlahan dan pengurangan piksel citra, yaitu imadd.m dan imsubtract.m.

Contoh

Untuk melihat perubahan pada citra akibat penambahan nilai setiap piksel dengan suatu konstanta dapat digunakan m file berikut.

clear all; clc;

I = imread('cameraman.tif'); K = imadd(I,50);

subplot (1,2,1),imshow (I) title ('citra input')

subplot (1,2,2), imshow(K) title ('citra output')

(5)

Contoh

Untuk melihat perubahan pada citra akibat pengurangan nilai setiap piksel dengan suatu konstanta dapat digunakan m file berikut.

clear all; clc;

I = imread('pout.tif'); K = imsubtract(I,75);

subplot (2,1,1),imshow (I) title ('citra input')

subplot (2,1,2), imshow(K) title ('citra output')

citra input

(6)

Membuat citra menjadi lebih terang atau lebih gelap juga dapat dilakukan dengan fungsi perkalian dan/atau pembagian. Perhatikan grafik berikut.

Matlab menyediakan fungsi untuk operasi perkalian dan pembagian piksel citra, yaitu immultiply.m dan imdivide.m.

Contoh clear all; clc; I = imread('pout.tif'); J = immultiply(I,0.5); K = imdivide (I,2); L = immultiply (I,2);

subplot (2,2,1),imshow (I) title ('citra input')

subplot (2,2,2), imshow(J) title ('citra x 0.5') subplot (2,2,3), imshow(K) title ('citra : 2') subplot (2,2,4), imshow(L) title ('citra x 2')

(7)

citra input citra x 0.5

citra : 2 citra x 2

Komplemen

Komplemen dari sebuah citra aras keabuan adalah negatif dari citra tersebut (photographic negative). Fungsi untuk menghasilkan komplemen sebuah citra aras keabuan adalah

y = L – x

dengan L adalah aras atau level tertinggi piksel (255) dan x adalah nilai piksel citra input. Grafik berikut menggambarkan fungsi komplemen sebuah citra aras keabuan.

(8)

Matlab menyediakan fungsi untuk menghasilkan komplemen citra, yaitu imcomplement.m. Contoh clear all; clc; I = imread('cameraman.tif'); K = imcomplement(I);

subplot (1,2,1),imshow (I) title ('citra input')

subplot (1,2,2), imshow(K) title ('citra output')

citra input citra output

Efek khusus yang menarik dapat diperoleh dengan melakukan komplemen sebagian saja, misalnya dengan melakukan komplemen piksel-piksel yang nilainya

(9)

kurang atau sama dengan 128 (≤ 128) saja (nilai piksel di atas 128 tidak di-komplemen-kan). Atau dilakukan sebaliknya. Grafik-grafik berikut menunjukkan fungsi efek khusus ini. Efek fungsi ini sering disebut solarisasi (solarization).

Histogram Stretching (Contrast Stretching)

Misalkan terdapat sebuah citra memiliki distribusi piksel-piksel sbb. Nilai Piksel Frekuensi Kemunculan

0 15 1 0 2 0 3 0 4 0 5 70 6 110 7 45 8 70 9 35 10 0 11 0 12 0 13 0 14 0 15 15

(10)

Maka histogram citra tersebut dapat digambarkan sbb.

Terlihat bahwa citra tersebut memiliki kontras yang buruk. Kontras citra dapat diperbaiki dengan cara merentangkan aras keabuannya agar lebih merata, misalnya dengan menggunakan fungsi linear sebagian-sebagian (piecewise linear function) pada gambar berikut.

Fungsi pada grafik di atas mempunyai efek merentangkan aras keabuan 5 – 9 ke aras keabuan 2 – 14 menurut persamaan

2 5) (i 5 9 2 14 j − + − − =

(11)

Dengan i adalah piksel citra input dan j adalah piksel outputnya. Nilai piksel yang lain dapat dibiarkan saja (tidak diubah) atau dapat diubah menurut fungsi yang sesuai dengan grafik di atas. Hasilnya adalah

Piksel Input (i) Piksel Output (j)

5 2 6 5 7 8 8 11 9 14 dan histogram yang dihasilkan setelah transformasi adalah

20 40 60 80 100 120 0 1 2 3 4 5 6 7 8 9 101112131415 j nj

Yang mengindikasikan bahwa kontras citra menjadi lebih baik (sebaran nilai piksel lebih merata).

Fungsi dalam Matlab yang digunakan untuk contrast stretching adalah imadjust.m, menggunakan fungsi yang diperlihatkan pada gambar berikut.

(12)

Sintaks yang digunakan adalah

imadjust (im, [a, b], [c, d])

Contoh

clear all; clc;

I = imread('pout.tif');

K = imadjust(I,[0.25 0.5],[0.1 0.8]); subplot (2,2,1),imshow (I)

title ('citra input')

subplot (2,2,2), imshow(K) title ('citra output') subplot (2,2,3), imhist(I) subplot (2,2,4), imhist(K)

(13)

citra input citra output 0 100 200 0 500 1000 1500 0 100 200 0 1000 2000 3000

Fungsi imadjust.m memberikan opsi parameter gamma yang mendefinisikan bentuk fungsi di antara koordinat (a,c) dan (b,d). Jika gamma = 1 (default setting) maka digunakan pemetaan linear seperti grafik sebelumnya. Jika nilai gamma kurang dari 1 maka dihasilkan fungsi konkaf ke bawah dan jika nilai gamma lebih dari 1 maka dihasilkan fungsi konkaf ke atas seperti gambar berikut.

(14)

Fungsi yang digunakan adalah sebagai berikut. c c) (d a b a x y ⎟ − + ⎠ ⎞ ⎜ ⎝ ⎛ − − = Contoh clear all; clc; I = imread('pout.tif'); K = imadjust(I,[0.25 0.5],[0.1 0.8]); L = imadjust(I,[0.25 0.5],[0.1 0.8],0.5); subplot (2,3,1),imshow (I)

title ('citra input')

subplot (2,3,2), imshow(K)

title ('citra output gamma = 1') subplot (2,3,3), imshow(L)

title ('citra output gamma = 0.5') subplot (2,3,4), imhist(I)

subplot (2,3,5), imhist(K) subplot (2,3,6), imhist(L)

citra input citra output gamma = 1 citra output gamma = 0.5

0 100 200 0 500 1000 1500 0 100 200 0 1000 2000 3000 0 100 200 0 1000 2000 3000

(15)

Ekualisasi Histogram (Histogram Equalization)

Histogram stretching memerlukan input dari pengguna (nilai a, b, c, dan d,

serta gamma). Prosedur yang kadang lebih cocok adalah ekualisasi histogram yang merupakan prosedur yang otomatis secara keseluruhan. Caranya adalah dengan mengubah histogram citra histogram yang seragam atau uniform; yaitu bahwa setiap batang pada histogram mempunyai tinggi yang sama, atau dengan kata lain bahwa setiap aras keabuan pada citra memiliki frekuensi kemunculan yang sama. Dalam prakteknya hal ini tidak mungkin, namun hasil operasi ekualisasi histogram menunjukkan hasil yang sangat baik.

Misalkan sebuah citra mempunyai L aras keabuan yaitu 0, 1, 2, 3, ..., L - 1 dan setiap aras keabuan i muncul sebanyak ni kali. Jika jumlah piksel dalam citra adalah n

(sehingga n0 + n1 + n2 + ... + nL-1 = n), maka untuk mentransformasikan aras keabuan

citra menjadi citra dengan kontras yang lebih baik, aras keabuan citra i diubah menjadi 1) (L n n ... n n0 1 i − ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ + + +

dan kemudian dibulatkan ke nilai yang terdekat. Misalkan sebuah citra dengan kontras yang kurang bagus ditunjukkan dengan histgram berikut. Citra mempunyai 16 aras keabuan (0 – 15).

(16)

Dari histogramnya diketahui bahwa citra cenderung terang. Untuk ekualisasi histogram digunakan rumusan di atas, dan hasilnya adalah sbb.

Maka dapat diperoleh

Dengan distribusi awal sbb

(17)

j 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

nj 0 15 0 0 70 0 0 0 110 0 45 0 0 80 0 40

Dan histogramnya dapat digambarkan sbb.

Matlab menyediakan fungsi untuk ekualisasi histogram yaitu histeq.m. Contoh

clear all; clc;

I = imread ('pout.tif'); K = histeq (I);

subplot (2,2,1),imshow (I) title ('citra input')

subplot (2,2,2), imhist(I)

title ('histogram citra input') subplot (2,2,3), imshow(K)

title ('citra output')

subplot (2,2,4), imhist (K) title ('histogram citra output')

(18)

citra input 0 100 200 0 500 1000 1500

histogram citra input

citra output 0 100 200 0 500 1000 1500

Referensi

Dokumen terkait

AKDR dapat efektif segera setelah pemasangan, metode jangka panjang (10 tahun proteksi dari CuT-380 A dan tidak perlu diganti), sangat efektif karena tidak perlu lagi

Jika sinyal seismik tidak dilakukan noise handling, maka hasil sinyal yang didapat berpengaruh pada keakuratan dari pendeteksian sinyal gempa bumi yang akan

menggunakan Paradigma Pedagogi Reflektif PPR pada topik kubus yang mengakomodasi teori Van Hiele di kelas VIII A SMP Kanisius Kalasan Tahun Ajaran 2015/2016 dan dengan

Dari definisi di atas penulis menarik kesimpulan bahwa Akuntansi Keuangan Daerah adalah proses pengidentifikasian, pengukuran, pencatatan , dan pelaporan transaksi

Dalam penelitian ini, menggunakan jenis metode penelitian deskriptif kualitatif. Karena penelitian kualitatif merupakan penelitian yang bersifat fleksibel, dapat

Biasanya oralit diberikan selama 2-3 hari seperti dosis yang dianjurkan, selama 2-3 hari seperti dosis yang dianjurkan, sedangkan zinc harus diberikan sesuai dosis sedangkan zinc

Penelitian ini menggunak an pendekatan k uantitatif. Berdasark an hasil observasi di MTs Nurul Huda Paowan Situbondo, dik etahui beberapa permasalahan sebagai berik ut: 1) 25%

Cakupan pelayanan anak balita di Indonesia (Laporan B12 tahun 2013) sebesar 69,75% berarti belum memenuhi target Renstra Kemkes yang harus dicapai pada tahun 2013 yang sebesar