Kamis, 04 Juni 2020

Histogram Equalization Untuk Memperbaiki Kualitas Citra - Contoh Dengan Python

Menyambung tulisan gua sebelumnya tentang histogram citra, kali ini gua mau bahas tentang Histogram Equalization, apa kegunaannya, dan juga contoh programnya pake Python.

Pengertian Histogram Equalization


Histogram Equalization adalah proses perataan Histogram, dimana distribusi nilai derajat keabuan dibuat merata.

Kenapa harus dibuat merata? mau melayani Uni Soviet apa gimana? wkwkwk
coba perhatiin gambar di bawah




Di atas ada 4 buah citra bersama masing-masing pacarnya. eh, maksudnya histogramnya. sekarang gua tanya. dari ke 4 citra di atas mana yang paling mudah diinterpretasi? paling jelas? paling enak diliat?
HAH? no dua?. tidak tidak, itu terlalu gelap aku tidak bisa mendengarnya!
gambar paling jelas disini adalah gambar ke 4. dan kalo diperhatiin histogramnya, no. 4 ini punya sebaran nilai paling merata di banding yang lain. liat aja no 1 sebarannya kebanyakan ngumpul di sebelah kanan (nilai derajat keabuan tinggi) jadi dia terlalu terang. kalo no. 2 malah ngumpul di kiri (nilai rendah) makanya gelap. gambar no 3 juga gak terlalu bagus, kontrasnya rendah dan sebaran nilainya pun gak merata.
maka terpilih lah no. 4 yang akan mengabdi hingga 5 tahun ke depan. jiaah.. pemilu.

Program Histogram Equalization Dengan Python


Karena kualitas citra yang paling baik di atas punya histogram yang paling merata, kita bisa memperbaiki kualitas citra yang awalnya terlalu terang, terlalu gelap atau yang punya kontras rendah dengan cara meratakan histogramnya. yoii.. jadi inilah gunanya Histogram Equalization.

Kita tau, citra dengan kualitas baik tentunya bakal lebih mudah diinterpretasi, baik oleh manusia maupun oleh mesin/komputer untuk berbagai keperluan.

Oke, kita langsung pake contoh aja, disini gua punya gambar keren. gua nyebutnya.. Tampan Dan Berani..
Baik, itu lebih mirip tempat sampah :D
mari kita perbaiki. nih gua kasih programnya.

from skimage import io, exposure as expo

img = io.imread("tempatsampah.jpg")
imgHE = expo.equalize_hist(img,nbins=256)
io.imsave("tampandanberani.jpg",imgHE)

Pendek amat, thor? panjangin lah..
wkwkwkwk dikira sini webtoon.

Di dalem program, pertama kita baca image "tempatsampah.jpg" terus kita pake method equalize_hist yang ada di sub modul exposure buat ngeratain histogramnya. hasilnya di-assign ke imgHE. jadi si imgHE ini isinya matriks image yang udah dilakuin Histogram Equalization.
selanjutnya si imgHE kita simpen sebagai citra baru dengan nama "tampandanberani.jpg"

Hasilnya, kita sambut.. tampan dan berani ;D


Sekarang keliatan deh tampan dan beraninya. bisa langsung dibuang ke tempat sampah. :D

udah ya, segini aja..
sampai ketemu ditulisan gua berikutnya..

Tidak ada komentar:

Posting Komentar