PERBAIKAN KUALITAS CITRA MENGGUNAKAN HISTOGRAM LINEAR CONTRAST STRETCHING PADA CITRA SKALA KEABUAN
Murinto Program Studi Teknik Informatika Universitas Ahmad Dahlan Kampus III UAD Jl. Prof. Soepomo Janturan Jogjakarta 55164 Telp. 0274-379418, Fax.0274 – 381523
Abstract
An image with low-contrast can result from poor illumination, lack of dynamic range in the imaging sensor, or even wrong setting of a lenes aperture during image qcquisition. The idea behind contrast stretching is to increase the dynamic range of the gray levels in image being processed. An important class of point operation is based upon the manipulation of an image histogram or a region histogram. Therefore, the processed image is more suitable than the original image for some applications. The method of histogram linear contrast stretching the new wide histogram dynamic range can be assigned directly from the original narrow histogram dynamic range. However, the histogram of an image can be composed of many models of histogram. Different modals can be represented with different objects. The standard deviation of each modals will be calculated and summed for providing the proportional of stretching range. This paper tries to carry out a method of the histogram linear contrast stretching. Keywords : Image Enhancemet, Contrast Stretching,, Image Histogram
Pendahuluan Perbaikan kualitas citra (image enhancement) merupakan suatu proses untuk mendapatkan citra yang lebih mudah diinterpretasikan secara human visual. Atau bisa juga dikatakan suatu proses untuk memperoleh citra yang lebih sesuai untuk aplikasi tertentu dibandingkan dengan citra aslinya. Suatu citra digital dikodekan dengan picture element (pixel) dengan L bit-bit, kecerahan skala keabuan (gray level of brightness) nilainya bervariasi dari 0 sanpai dengan 2L-1. Maka probabilitas unti tiap skala keabuan didefinisikan dengan persamaan sebagai berikut : p(rk) = nk/N (1) dimana: rk :skala keabuan ke–k nk :jumlah pixel untuk skala keabuan ke-k. n :jumlah total pixel-pixel yang ada dalam citra. K = 0,1,2,…,L-1. Jika fungsi probabilitas ini digambarkan dengan suatu grafik maka distribusi dari semua probabilitas skala keabuan tersebut akan memberikan suatu bentuk deskripsi dari citra tersebut dan deskripsi tersebut terwakili dalam bentuk grafik yang dinamakan dengan histogram. Metode-metode perbaikan citra dapat dikategorikan menjadi dua bagian, yakni: metode-metode yang bekerja pada domain spatial dan metode-metode yang bekerja pada domain frekuensi.
1. Metode yang bekerja pada domain spatial Metode ini bekerja pada keseluruhan piksel dan dapat dituliskan dalam bentuk : g(x,y) = T[f(x,y)] (2) dimana f(x,y) : citra yang diolah g(x,y) : citra hasil pengolahan T : operator yang bekerja pada f Metode spatial juga dapat bekerja pada sub citra yang didefinisikan pada suatu daerah ketetanggaan tertentu. Pada implementasinya sering digunakan window atau mask. Pengertian dari mask adalah larikan dua dimensi dengan nilai elemen dipilih sesuai dengan feature yang akan dideteksi pada suatu citra. Salah satu jenis pengolahan citra dalam domain spatial tersebut adalah peregangan kontras (contrast stretching).
2. Metode yang bekerja pada domain frekuensi Metode ini berbasis pada teori konvolusi. Andaikan g(x,y) adalah image yang diperoleh dari konvolusi image f(x,y) dengan position-invariant operator h(x,y) yaitu : g(x,y) = h(x,y) * f(x,y) (3) maka dari teori konvolusi didapat : G(u,v) = H(u,v) F(u,v) (4) dimana G, H, F adalah transformasi Fourier dari g, h, f. Tujuan dari pengolahan adalah untuk memilih H(u,v) sedemikian sehingga image yang diinginkan, g(x,y) = F-1[H(u,v) F(u,v)], menunjukkan feature f(x,y).
Citra Digital dan Representasinya Citra digital adalah suatu citra f(x,y) yang memiliki koordinat spatial, dan tingkat kecerahan yang diskrit. Citra yang terlihat merupakan cahaya yang direfleksikan dari sebuah objek. Fungsi f(x,y) dapat dilihat sebagai fungsi dengan dua unsur. Unsur yang pertama adalah kekuatan sumber cahaya yang melingkupi pandangan kita terhadap objek (illumination), sedangkan unsur yang kedua adalah besarnya cahaya yang direfleksikan oleh objek ke dalam pandangan kikta (reflectance components). Keduanya dapat dituliskan sebagai fungsi i(x,y) dan r(x,y) yang digabungkan sebagai perkalian fungsi untuk membentuk fungsi f(x,y). Adapun fungsi tersebut dapat dituliskan sebagai : f(x,y) = i(x,y) * r(x,y) dimana
(5)
0 i( x, y) dan 0 r ( x, y) 1
Suatu citra agar bisa dolah komputer digital, maka harus dipresentasikan secara numerik dengan nilai-nilai diskrit. Digitalisasi merupakan representasi citra dari fungsi kontinu menjadi nilai-nilai diskrit. Suatu citra digital berukuran N(tinggi)x M (lebar) dapat dinyatakan sebagai matriks dengan ukuran N x M :
f (0,1) ... f (0,0) f (0,1) f (1,1) ... f ( x) f ( N 1,0) f ( N 1,1) ....
f ( N 1, M 1) f (0, M ) f (1, M )
indeks baris (i) dan indeks kolom (j) menyatakan suatu koordinat titik pada citra, sedangkan f(i,j) merupakan intensitas (derajat keabuan ) pada titik (i,j). Masing-masing elemen pada citra digital disebut image elemen, atau picture elemen (pixel). Maka dapat dikatakan citra yang mempunyai ukuran N x M mempunyai NM pixel. Misalkan suatu citra mempunyai ukuran 256 x 256 pixel, maka apabila direpresentasikan secara numerik melalui suatu matriks yang terdiri dari 256 baris ( indeks 0 sampai 255) dan 256 kolom (indeks dari 0 sampai 255), maka matriksnya dapat diperlihatkan sebagai berikut :
0 0 100 125
124 210 ... 250 165 150 ... 215 210 252 210 210 217 157
pixel pertama pada koordinat (0,0) mempunyai nilai intensitas 0, maka warna pixel tersebut adalah hitam, sedangkan pexel kedua pada koordinat (0,1) mempunyai nilai intensitas 124 berarti warnanya antara hitam dan putih.
Histogram linear contrast stretching Citra dapat didefinisikan sebagai suatu fungsi intensitas cahaya dua-dimensi f(x,y) dimana x dan y menyatakn suatu kooordinat spatial, nilai f pada suatu titik (x,y) sebanding dengan kecerahan dari citra tersebut.Histogram dari suatu citra menggambarkan distribusi nilai pixel pada citra tersebut. Histogram citra dengan gray level dalam range [0, L-1] yan gmerupakan suatu fungsi diskrit. Meskipun histogram citra tidak menunjukkan informasi apa-apa tentang isi citra tetapi bentuk dari histogram dapat memberikan informasi mengenai kemungkinan untuk melakukan perbaikan kontras citra tersebut.
r 1 0 1 Distribusi cahaya image (kiri)s terlalu gelap dan (kanan) terlalu terang s 0
r
Histogram dapat dihasilkan dari beberapa nilai dimana nilai tersebut masing-masing bersesuaian dengan objek-objeknya dalam suatu citra yang dipunyai.Untuk memperbaiki tiap objek atau meningkatkan kontras citra, tiap nilai objek tersebut akan diregang (stretch) secara linier dengan menggunakan persamaan :
(5) dimana xmin,k =
x k 2 k
xmax,k =
x k 2 k
x k dan k merupakan mean and standar deviasi, xmin,k dan xmax,k rentang nilai dalam range objek tersebut.
Contrast Stretching Kontras menyatakan suatu sebaran terang dan gelap pada citra. Contras stretching di sini dimaksudkan untuk memperluas sebaran nilai keabuan. Pada umumnya citra dikelompokkan dalam : kontras rendah, kontras bagus atau normal kontras, dan kontras tinggi. Citra dengan kontras rendah ditandai dengan sebagian besar komposisi citranya terang atau sebagian besar gelap. Histogramnya memperlihatkan sebagian derajat keabuannya berkelompok bersama. Jika pengelompokkan pixelnya dibagian kiri, maka citranya cenderung gelap. Begitu juga sebaliknya jika pengelolmpokkan pixelnya dibagian kanan, maka citra akan cenderung terang. Citra dengan kualitas rendah dapat diperbaiki kualitasnya dengan operasi contrast stretching.
Algoritma contrast stretching adalah sebagai berikut : 1. Cari batas bawah pengelompokkan pixel dengan cara scan histogram dari nilai keabuan (gray scale) terkecil ke nilai gray scale terbesar ( 0 sampai 255 ) untuk menentukkan pixel pertama yang melebihi nilai ambang pertama yang telah ditetapkan. 2. Cari batas atas pengelompokkan pixel dengan cara scan histogram dari nilai gray scale terbesar ke nilai terkecil dari nilai ambang kedua yang telah ditetapkan. 3. Pixel-pixel yang berada di bawah nilai ambang pertama di beri nilai 0, sedangkan pixelpixel yang berada di atas nilai ambang kedua di beri nilai 255. 4. Pixel-pixel yang berada di antara nilai ambang pertama dan nilai ambang kedua diskalakan untuk memenuhi rentang nilai-nilai gray scale yang lengkap (0 sampai 255) dengan persamaan secara matematis adalah :
s dimana :
r rmax x 255 rmin rmax
(6)
r
: nilai skala keabuan citra semula
s
: nilai skala keabuan yang baru
rmin : nilai skala keabuan terendah dari kelompok pixel rmax : nilai skala tertinggi dari kelompok pixel tersebut
Hasil dan Pembahasan Dalam penulisan ini, implementasi proses perbaikan kualitas citra pada operasi pengolahan citra dengan histogram linear contrast stretching menggunakan MATLAB, dimana memanfaatkan dari Toolbox Matlab untuk image processing dan MATLAB GUI untuk membangun aplikasi user interfacenya.
Histogram Linier Contrast Stretching Dalam penelitian ini digunakan tiga macam citra yang mewakili citra dalam channel blue, channel red dan chanel green. Ukuran citra yang digunakan adalah 512 x 512 pixel. Adapun citra asli tersebut dan hasil histogram linier contrast stretching ditunjukkan dalam Gambar 1, Gambar 2, Gambar 3.
Gambar 1. lena512r.bmp dan citra hasil contrast stretching
Gambar 2. lena512b.bmp dan citra hasil contrast stretching
Gambar 3. Citra Asli lena512g.bmp dan Citra hasil contrast stretching
Sedangkan histogram citra asli dan hasil histogram linier contrast stretching masing-masing citra adalaha sebagai berikut :
Gambar 4. Histogram citra asli lena512b.bmp
Gambar 5. Histogram citra asli lena512r.bmp
Gambar 6. Histogram citra asli lena512g.bmp Sedangkan hasil Histogram Linier Contrast Stretching ditunjukkan dalam gambar berikut :
Gambar 7. Histogram hasil contrast lena512b.bmp
Gambar 8. Histogram hasil contrast lena512g.bmp
Gambar 9. Histogram hasil contrast lena512r.bmp
Dari Gambar 1, Gambar 2, dan Gambar 3 terlihat bahwa terdapat peningkatan contrast yang nyata terhadap citra aslinya. Hal ini juga bisa dilihat pada histogramnya. Histogram citra yang dihasilkan karena proses linear contrast stretching terlihat penyebaran intensitas pixel-pixelnya lebih merata jika dibandingkan dengan histogram citra aslinya. Adapun histogram citra hasil linear contrast stretching dapat dilihat pada Gambar 7, Gambar 8, dan Gambar 9.
Kesimpulan Dari hasil yang didapatkan diatas maka dapat disimpulkan bahwa penggunaan metode linear histogram contrast stretching dapat menyebabkan terjadinya peningkatan kontras yang diinginkan. Histogram citra yang dihasilkan memperlihatkan adanya penyebaran nilai intensitas pixel-pixel yang lebih merata. Daftar Pustaka [1] Conzales, Woods. (1992), “Digital Image Processing," 2nd Edition, Addison-Wesley Publishing Co., Reading, Massachusetts . [2] Y. T. Kim. (1992)., "Contrast Enhancement using Brightness Preserving Bi-Histogram Equalization" IEEE Trans On Consumer Electronic, vol. 43, no. 1, pp. 1-8. [3] Young,T.A, Gerbrands, J.J, Van Liet, L.J. (1998), “ Fundamnetal of Image Processing”, Delft University of technology.