Algoritma Pengolahan Citra Histogram
Disusun Oleh :
Kelompok 1
Ahmad Solihin Hulu
Friska Nainggolan
Nurmawati Hutabarat
TEKNIK INFORMATIKA
STMIK PELITA NUSANTARA MEDAN
2018
Histogram
Pengertian
histogram dalam pengolahan citra adalah .representasi grafis untuk
distribusi warna dari citra digital atau menggambarkan penyebaran nilai-nilai
intensitas pixel dari suatu citra atau bagian tertentu di dalam citra. Dari
sebuah histogram dapat diketahui frekuensi kemunculan relative dari intensitas
pada citra, kecerahan, dan kontas dari sebuah gambar.
Proses
Histogram :
- Gambar
gelap : histogram cenderung ke sebelah kiri
- Gambar terang
: histogram cenderung ke sebelah kanan
- Gambar low
contrast : histogram mengumpul di suatu tempat
- Gambar high
contrast : histogram merata di semua tempat
Sumbu kordinat
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
- Citra yang
baik mengisi daerah derejatkeabuan secara penuh dan merata pada setiap nilai
intensitas pixel
- Over-exposed
(terlalu terang) dan under-exposed (terlalu gelap) memiliki rentang kontras
sempit.
Kegunaan
histogram dalam pengolahan citra :
- Untuk melihat
apakah distribusi informasi yang ada dalam suatu citra sudah baik atau belum.
- Histogram juga
banyak digunakan dalam texture analysis, yaitu analisa untuk melihat
apakah kedua tekstur sama atau berbeda. Misalkan seberapa mirip tekstur karpet
A dengan tekstur karpet B.
- Untuk melihat apakah pencahayaan dan contrast
suatu citra sudah cukup atau belum (terlalu terang atau terlalu gelap). Caranya
histogram dari suatu citra yang terlalu terang cenderung mengumpul di
nilai grey level yang tinggi (ke arah nilai 255), sebaliknya histogram dari
suatu citra yang terlalu gelap cenderung mengumpul di nilai grey level yang
rendah (ke arah nilai 0).
Histogram citra
banyak memberikan informasi penting sebagai berikut :
1. Nilai hi menyatakan
peluang (probability) pixel, P(i), dengan derajat
keabuan i. Jumlah seluruh nilai hi sama dengan 1, atau
Peluang suatu pixel memiliki derajat keabuan lebih kecil atau sama dengan derajat keabuan tertentu adalah jumlah hi untuk 0 £ i £ j, atau
2. Puncak
histogram menunjukkan intensitas pixel yang menonjol. Lebar dari puncak
menunjukkan rentang kontras dari gambar. Citra yang mempunyai kontras terlalu
terang (overexposed) atau terlalu gelap (underexposed) memiliki
histogram yang sempit. Histogramnya terlihat hanya menggunakan setengah dari
daerah derajat keabuan. Citra yang baik memiliki histogram yang mengisi daerah
derajat keabuan secara penuh dengan distribusi yang merata pada setiap nilai
intensitas pixel
(a) citra
gelap, (b) citra terang, (c) citra normal (normal brightness), (d) normal
brightness dan hi gh contrast
Berikut ini adalah contoh citra yang terlalu gelap dan terang beserta histogramnya.
![]() |
Add caption |
![]() |
Add caption |
Algoritma
Histogram
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 :
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.
Untuk 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.
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. Khusus untuk citra berwarna, histogramnya dibuat
untuk setiap kanal RGB (merah, hijau, dan biru). Jadi outputnya ada tiga
Histogram, yaitu Histogram untuk pixel Merah, Hijau dan Biru.
Kesimpulan
Gambar yang dimasukan terlalu terang. Histogramnya
banyak menumpuk pada bagian kanan karena citra tersebut mengandung banyak nilai
intensitas yang dekat dengan 255 (putih).
Tidak ada komentar:
Posting Komentar