Histogram dan Perataan Histogram

 Disusun Oleh:

Resa Riskiana (50408703)

Tapilatu Yan Douglas (50408816)

 

Kelas  :   4IA03

 

 

 

 

TEKNIK INFORMATIKA

UNIVERSITAS GUNADARMA

2011

PENJELASAN UMUM

 

Matlab

MatLab merupakan suatu system interaktif yang memiliki elemen data dalam suatu array sehingga tidak dipusingkan dengan dimensi. Hal ini memungkinkan untuk memecahkan banyak masalah teknis  yang terkait dengan komputasi, khususnya yang berhubungan dengan matrix dan formulasi vector.

Citra adalah gambar dua dimensi yang dihasilkan dari gambar analog dua dimensi yang kontinu menjadi gambar diskrit melalui proses sampling. Gambar analog dibagi menjadi N baris dan M kolom sehingga menjadi gambar diskrit. Persilangan antara baris dan kolom tertentu disebut dengan piksel. Contohnya adalah gambar/titik diskrit pada baris n dan kolom m disebut dengan piksel [n,m].

 

Histogram

Histogram adalah representasi grafis untuk distribusi warna dari citra digital. Sumbu ordinat vertikal merupakan representasi piksel dengan nilai tonal dari tiap-tiap deret bin pada sumbu axis horizontalnya. Sumbu axis terdiri dari deret logaritmik bindensitometry yang membentuk rentang luminasi atau exposure range yang mendekati respon spectral sensitivity visual mata manusia. Deret bin pada density yang terpadat mempunyai interval yang relatif sangat linear dengan variabel mid-tone terletak tepat di tengahnya.

Pada umumnya, sebuah histogram hanya memetakan seluruh nilai tonal dari citra digital pada bin luminasi masing-masing. Nilai tonal tersebut telah tersedia dalam color space yang umum digunakan adalah sRGB dan AdobeRGB yang mempunyai nilai gamma γ = 2,2.

Informasi yang didapat dari Histogram:

  • Puncak histogram → intensitas pixel yangpaling menonjol.
  • Lebar puncak → rentang kontras.
  • Over‐exposed (terlalu terang) dan under‐exposed (terlalu gelap) memiliki rentang kontras sempit.
  • Citra yang baik mengisi daerah derejatkeabuan secara penuh dan merata pada setiap nilai intensitas pixel.

Perataan Histogram

Teknik perataan histogram merupakan gabungan antara penggeseran dan pelebaran histogram. Tujuan yang akan dicapai pada teknik ini adalah untuk mendapatkan citra dengan daerah tingkat keabuan yang penuh dan dengan distribusi pixel pada setiap tingkat keabuan yang merata. Dengan kata lain, Tujuan dari perataan histogram ini adalah untuk memperoleh penyebaran histogram yang merata, sedemikian sehingga setiap derajat keabuan memiliki jumlah pixel yang relative sama.

Perataan histogram mengubah derajat keabuan suatu pixel (r) dengan derajat keabuan yang baru dengan suatu fungsi transformasi T, dimana s=T(r).

Sifatnya

– Nilai s adalah pemetaan 1 ke 1 dari r, sehingga r dapat diperoleh dari transformasi invers

r = T-1(s)  , 0 <= s <= 1

– Untuk 0<= ri <= 1, maka 0 <= T(r) <=

Seperti yang anda sekalian ketahui sebelumnya, bahwa dari sekian banyaknya warna yang ada dalam suatu gambar itu terdiri atau terbentuk dari perpaduan tiga warna dasar yaitu merah, hijau, dan biru atau yang lebih dikenal dengan sebutan ‘RGB’. Histogram suatu gambar ini bertujuan untuk menampilkan tingkat masing-masing RGB dari suatu gambar.

Fungsi yang disediakan MATLAB untuk membuat histogram dari gambar yaitu dengan fungsi imhist(matrik_1_dimensi_image).Perlu diperhatikan bahwa imhist hanya dapat digunakan untuk matrik image 1 dimensi sehingga bila diimplementasikan pada matriks gambar maka hanya berupa matriks merah saja, hijua saja, biru saja atau grayscale.

 

ALGORITMA

Misalkan citra digital memiliki L derajat keabuan, yaitu dari nilai 0 sampai L – 1 (misalnya pada

citra dengan kuantisasi derajat keabuan 8-bit, nilai derajat keabuan dari 0 sampai 255). Secara

matematis histogram citra dihitung dengan rumus sebagai berikut :

dimana :

ni = jumlah pixel yang memiliki derajat keabuan i

n = jumlah seluruh pixel di dalam citra

Plot hi versus fi dinamakan histogram. Secara grafis histogram ditampilkan dengan diagram batang. Nilai ni telah dinormalkan dengan membaginya dengan n. Nilai hi berada di dalam selang 0 sampai 1.

Pada MatLab, untuk membuat Histogram dari sebuah gambar / citra, cukup dengan memanggil fungsi imhist.

Pertama, inisialisasikan gambar yang akan digunakan. Letakkan gambar dalam satu direktori yang sama dengan file histogram. Kemudian gambar ditampilkan dengan menggunakan sintak imshow.

% Read in standard MATLAB color demo image.

rgbImage = imread(‘powerranger.jpg’);

[rows columns numberOfColorBands] = size(rgbImage);

subplot(2, 2, 1);

imshow(rgbImage, []);

set(gcf, ‘Position’, get(0,’Screensize’)); % Maximize figure.

Selanjutnya memanggil matriks gambar yang berisi piksel-piksel tertentu.

% Extract the individual color planes.

redPlane = rgbImage(:, :, 1); à memanggil matriks gambar yang hanya berisi piksel warna merah

greenPlane = rgbImage(:, :, 2); à memanggil matriks gambar yang hanya berisi piksel warna hijau

bluePlane = rgbImage(:, :, 3); à memanggil matriks gambar yang hanya berisi piksel warna biru.

ntuk mengambil nilai piksel merah memiliki indeks 1, warna hijau memiliki indeks 2 dan warna biru memiliki indeks 3.

Kemudian tampilkan histogram pada layar. Sintak berikut untuk menampilkan histogram dari piksel-piksel yang berwarna merah saja, dipanggil dengan sintak imhist(redPlane); bar yang ditampilkan pada histogram dapat diberi warna merah dengan menggunakan sintak bar(pixelCountR, ‘r’); lakukan hal yang sama pada kedua histogram lainnya, yaitu histogram untuk menampilkan piksel-piksel hijau dan biru. Serta berikan masing-masing warna pada bar histogram tersebut.

% Let’s get its histograms.

[pixelCountR grayLevelsR] = imhist(redPlane);

subplot(2, 2, 2);

bar(pixelCountR, ‘r’);

xlim([0 grayLevelsR(end)]); % Scale x axis manually.

[pixelCountG grayLevelsG] = imhist(greenPlane);

subplot(2, 2, 3);

bar(pixelCountG, ‘g’);

xlim([0 grayLevelsG(end)]); % Scale x axis manually.

[pixelCountB grayLevelsB] = imhist(bluePlane);

subplot(2, 2, 4);

bar(pixelCountB, ‘b’);

xlim([0 grayLevelsB(end)]); % Scale x axis manually.

Perataan histogram bertujuan untuk mendapatkan histogram citra dengan distribusi seragam.

Langkah-langkah melakukan ekualisasi histogram:

  1. Baca image dan dapatkan nilai tingkat keabuan dari setiap pixel penyusunnya, dan simpan dalam array. Gunakan fungsi imread().
  2. Cari nilai maksimum tingkat keabuan citra tersebut. Nilai ini nantinya akan dipakai untuk menentukan histogram ekualisasinya. Gunakan fungsi max()
  3. Buat histogram citra asal. Simpan frekuensi kemunculan derajat keabuan tersebut dalam array(vector). Mula-mula kita siapkan array(vector) kosong yang ukurannya mengacu kepada nilai maksimum derajat keabuan citra dibulatkan ke 2n. Untuk selajutnya hitung frekuensi kemunculan derajat keabuan pada masing-masing posisi vector.
  4. Buat histogram ekualisasinya. Histogram ekualisasi dicari dengan menghitung prosentase kemunculan derajat keabuan yang ada dikalikan dengan derajat keabuan maksimum dari citra asal.
  5. Cari nilai tingkat keabuan dari citra bari hasil ekualisasi dengan menggunakan histogram ekualisasinya.
  6. Untuk memetakan histogram ekualisasi menjadi citra baru, kita siapkan array (matrik) kosong yang ukurannya sama dengan citra asal. Selanjutnya masing-masing nilai matrik baru dihitung dari nilai histogram ekualisasi bedasarkan nilai matrik gambar lama.
  7. Petakan ke citra baru.

Dengan menggunakan MatLab algoritma tersebut dapat diimplementasikan sebagai berikut:

i = imread(‘0308.jpg’);

k = rgb2gray(i);

j = histeq(k);

subplot(2,2,1),imshow(i);

subplot(2,2,2),imshow(j);

subplot(2,2,3),imhist(k);

subplot(2,2,4),imhist(j);

pada MatLab, untuk membuat Perataan Histogram dapat menggunakan fungsi histeq. Gambar dikonversikan ke derajat pengabuan, menggunakan citra truecolor yaitu RGB dengan warna gray (abu-abu) dengan perintah ‘rgb2gray’.

OUTPUT

Tempatkan file gambar yang digunakan ke dalam folder yang sama dengan file MatLab. Kemudian jalankan program dengan menekan tombol F5. Berikut adalah tampilan Histogram dari sebuah gambar. Ada tiga Histogram, yaitu Histogram untuk pixel Merah, Hijau dan Biru.

 

Berikut adalah output program Perataan Histogram. Histogram sebelah kiri adalah histogram dari gambar asli dan sebelah kanan Histogram dari gambar yang telah diubah ke mode GrayScale.

 

 

INSTALASI PROGRAM MATLAB

 

1)      Disini, kami menggunakan MatLab dalam bentuk file .iso. Untuk menginstalnya, kami menggunakan software PowerISO. Jalankan program PowerISO. Pilih file MATHWORKS_R2010B, kemudian klik Open. Mulai proses instalasi dengan men-double-click file Matlab.exe.

2)      Pada jendela awal penginstalan, pilih apakah anda ingin menginstal menggunakan internet atau tidak. Jika komputer anda sedang terkoneksi dengan internet maka disarankan untuk menginstal menggunakan internet. Setelah itu klik ‘Next’

3)      Meninjau Perjanjian Lisensi Perangkat Lunak. Untuk dapat melanjutkan proses instalasi, pilih ‘Yes’ dan klik ‘Next’

4)      Masuk ke jendela File Installation Key. Anda diminta untuk memasukkan Activation Key. Activation Key adalah sebuah nomor unik / kode yang digunakan untuk mengaktifasi sebuah lisensi.

5)      Pilih ‘Typical’ pada tipe instalasi, lalu klik ‘Next’.

6)      Selanjutnya tentukan dimana program akan diinstal pada komputer anda, klik ‘Next’.

7)      Kemudian muncul jendela Confirmation. Menampilkan lokasi penginstalan dan produk apa saja yang akan diinstal.

8)      Berikut ini adalah gambar yang menunjukkan tahap penginstalan.

9)       Berikut adalah pemberitahuan bahwa instalasi selesai.

10)   Ini adalah jendela untuk memverifikasi lisensi program MatLab.

11)   Tentukan lokasi dan pilih file Lisensi

12)   Jendela ini menginformasikan bahwa proses aktivasi selesai.

13)     Setelah proses instal dan aktivasi selesai maka program MatLab sudah dapat digunakan

14)     Tampilan awal jendela MatLab.

About resariski

me - Resa - a girl who was born at December 16th is the youngest daughter (from 4 brothers) in my family. This is my official weblog. View all posts by resariski

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: