Monday, April 27, 2015

Buku Pengolahan Citra Digital dengan Python dan OpenCV - Operasi Histogram Equalization


Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link


kalian bisa lanjut baca lagi di  http://softscients.com/2020/03/30/buku-pengolahan-citra-digital-dengan-python-dan-opencv-operasi-histogram-equalization/





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. Salah satu operasi perbaikan citra format grayscale adalah histogram equalizationperataanhistogram. Disadur dari http://angeljohnsy.blogspot.com/2011/04/matlab-code-histogram-equalization.html





 












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



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() 

No comments:

Post a Comment