Histogram Citra
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 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
-
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 merupakan contoh karakteristik citra grayscale berdasarkan distribusi
histogramnya.
A.
Citra Gelap
Citra gelap merupakan citra yang memiliki banyak piksel dengan nilai intensitas mendekati 0. Distribusi nilai intensitas citra gelap cenderung berada pada daerah sebelah kiri histogram. Contoh citra gelap dan histogramnya ditunjukkan pada Gambar 2.
Citra gelap merupakan citra yang memiliki banyak piksel dengan nilai intensitas mendekati 0. Distribusi nilai intensitas citra gelap cenderung berada pada daerah sebelah kiri histogram. Contoh citra gelap dan histogramnya ditunjukkan pada Gambar 2.
Gambar
2. Citra gelap dan histogram
B.
Citra terang
Citra terang merupakan citra yang memiliki banyak piksel dengan nilai intensitas mendekati 255. Distribusi nilai intensitas citra terang cenderung berada pada daerah sebelah kanan histogram. Contoh citra terang dan histogramnya ditunjukkan pada Gambar 3.
Citra terang merupakan citra yang memiliki banyak piksel dengan nilai intensitas mendekati 255. Distribusi nilai intensitas citra terang cenderung berada pada daerah sebelah kanan histogram. Contoh citra terang dan histogramnya ditunjukkan pada Gambar 3.
Gambar
3. Citra terang dan histogram
C.
Citra dengan kontras
rendah
Citra dengan kontras rendah merupakan citra yang memiliki range nilai intensitas yang sempit. Histogram citra pada Gambar 4 di bawah ini menunjukkan bahwa citra berada pada range nilai intensitas 74-224. Sehingga tidak memiliki nilai intensitas antara 0-74 dan juga 224-255.
Citra dengan kontras rendah merupakan citra yang memiliki range nilai intensitas yang sempit. Histogram citra pada Gambar 4 di bawah ini menunjukkan bahwa citra berada pada range nilai intensitas 74-224. Sehingga tidak memiliki nilai intensitas antara 0-74 dan juga 224-255.
Gambar 4. Citra dengan kontras rendah dan histogram
D.
Citra dengan kontras
tinggi
Citra dengan kontras tinggi merupakan citra yang memiliki range nilai intensitas yang lebar. Histogram citra pada Gambar 5 di bawah ini menunjukkan bahwa citra berada pada range nilai intensitas 0-255.
Citra dengan kontras tinggi merupakan citra yang memiliki range nilai intensitas yang lebar. Histogram citra pada Gambar 5 di bawah ini menunjukkan bahwa citra berada pada range nilai intensitas 0-255.
Gambar
5. Citra dengan kontras tinggi dan histogram
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
:
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.
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.
sumber :
https://pemrogramanmatlab.com/2017/07/26/histogram-citra/
http://debyoktavia68.blogspot.com/2012/11/pengolahan-citra-histogram_13.html
https://pemrogramanmatlab.com/2017/07/26/histogram-citra/
http://debyoktavia68.blogspot.com/2012/11/pengolahan-citra-histogram_13.html
Komentar
Posting Komentar