Teknik Perataan Histogram Gambar

By | December 9, 2023
Print Friendly, PDF & Email
3,870 Views

Perbaikan citra atau yang biasa disebut image enhancement adalah proses perbaikan kualitas citra atau gambar dengan cara memanipulasi parameter-parameter citra. dengan adanya perbaikan citra maka ciri-ciri khusus yang terdapat di dalam citra lebih ditajamkan.

Analisis gambar menjadi bagian penting dalam berbagai bidang, mulai dari desain grafis hingga pengolahan medis. Salah satu tantangan dalam menganalisis gambar adalah kejelasan visual, terutama saat bekerja dengan histogram gambar. Salah satu operasi perbaikan citra format grayscale adalah histogram equalization – perataan histogram.

Teknik perataan histogram gambar adalah metode yang digunakan untuk meratakan distribusi intensitas piksel pada suatu gambar. Hal ini bertujuan untuk meningkatkan kejelasan dan detail gambar, membuatnya lebih mudah diinterpretasikan oleh manusia atau algoritma pengolahan gambar.

Langkah-Langkah Implementasi Teknik Perataan Histogram Gambar

  1. Konversi Gambar ke Skala Keabuan: Langkah awal adalah mengubah gambar berwarna menjadi skala keabuan (grayscale) jika belum. Ini memfasilitasi analisis intensitas piksel tanpa memperhitungkan warna.
  2. Hitung Histogram: Lakukan perhitungan histogram untuk mengidentifikasi distribusi intensitas piksel dalam gambar. Histogram adalah representasi visual dari distribusi intensitas piksel dari gelap ke terang.
  3. Penerapan Transformasi: Pilih dan terapkan transformasi yang sesuai untuk meratakan histogram. Beberapa metode yang umum digunakan melibatkan penerapan fungsi transfer atau operasi transformasi yang sesuai dengan tujuan perataan.
  4. Visualisasi Hasil: Setelah penerapan teknik perataan, hasilnya dapat divisualisasikan kembali dalam bentuk histogram yang baru. Perbandingan antara histogram asli dan yang diperatakan memberikan wawasan tentang perubahan distribusi intensitas piksel.

Rumus yang digunakan yaitu

Berikut kode yang kalian terapkan

import cv2
import numpy as np
from  matplotlib import pyplot as plt
#oleh mulkan.ms@gmail.com
#www.softscients.web.id
def perataanHistogram(A):    
    nilai_bin = 255 #angka value pixel maximal!
    A = A+1 #agar terhindari dari pixel bernilai 0
    [frekuensi,value] = np.histogram(A,bins=nilai_bin) #langkah 2
    cumulatif_histogram = frekuensi.cumsum() #langkah 3
    [baris,kolom] = A.shape
    probabilty_frekuensi = np.round((cumulatif_histogram/float(A.size))*nilai_bin) #langkah 4 dan 5
    B = np.empty(A.shape)    
    for i in range(0,baris):
        for j in range(0,kolom):
            B[i,j] = probabilty_frekuensi[A[i,j]-1] #langkah 6
    return B

I = cv2.imread('pohon.bmp')
gray = cv2.cvtColor(I,cv2.COLOR_BGR2GRAY) #ubah ke format gray
hasil = perataanHistogram(gray)
plt.figure('perataan histogram! www.softscients.web.id')
plt.subplot(1,2,1),plt.imshow(gray,cmap='gray'),plt.title('gray')
plt.subplot(1,2,2),plt.imshow(hasil,cmap='gray'),plt.title('perataan histogram')
plt.show()

Terlihat bahwa operasi perataan histogram dapat bekerja dengan baik Buat kamu yang suka mempelajari code nya, penulis membuat code berdasarkan algoritma diatas, tentu menggunakan bahasa functional yaitu python

See also  Hilangkan Duplikasi Foto

Sebelum

Sesudah

 

Leave a Reply