Pengolahan Citra (Teori Konvolusi)
Teori Konvolusi
Secara umum konvolusi didefinisikan sebagai cara untuk mengkombinasikan dua buah deret angka yang menghasilkan deret angka yang ketiga. Didalam dunia seismik deret-deret angka tersebut adalah wavelet sumber gelombang, reflektivitas bumi dan rekaman seismik.
Secara matematis, konvolusi adalah integral yang mencerminkan jumlah lingkupan dari sebuah fungsi a yang digeser atas fungsi b sehingga menghasilkan fungsi c. Konvolusi dilambangkan dengan asterisk ( *).
Sehingga, a*b = c berarti fungsi a dikonvolusikan dengan fungsi b menghasilkan fungsi c. Konvolusi adalah salah satu proses filtering image yang sering dilakukan pada proses pengolahan
gambar. Pada MATLAB terdapat banyak sekali cara yang dapat dilakukan untuk melakukan proses
konvolusi. Proses konvolusi dilakukan dengan menggunakan matriks yang biasa disebut mask yaitu
matriks yang berjalan sepanjang proses dan digunakan untuk menghitung nilai representasi lokal
dari beberapa piksel pada image.
Histogram
Histogram adalah representasi grafis untuk distribusi warna dari citra digital. 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.
- Over‐exposed (terlalu terang) dan under‐exposed (terlalu gelap) memiliki rentang kontras sempit.
- Citra yang baik mengisi daerah derejatkeabuan secara penuh dan merata pada setiap nilai intensitas pixel.
Perataan Histogram
Teknik perataan histogram merupakan gabungan antara penggeseran dan pelebaran histogram. Tujuan yang akan dicapai pada teknik ini adalah untuk mendapatkan citra dengan daerah tingkat keabuan yang penuh dan dengan distribusi pixel pada setiap tingkat keabuan yang merata. Dengan kata lain, Tujuan dari perataan histogram ini adalah untuk memperoleh penyebaran histogram yang merata, sedemikian sehingga setiap derajat keabuan memiliki jumlah pixel yang relative sama.
Perataan histogram mengubah derajat keabuan suatu pixel (r) dengan derajat keabuan yang baru dengan suatu fungsi transformasi T, dimana s=T(r).
Sifatnya
– Nilai s adalah pemetaan 1 ke 1 dari r, sehingga r dapat diperoleh dari transformasi invers
r = T-1(s) , 0 <= s <= 1
– Untuk 0<= ri <= 1, maka 0 <= T(r) <=
Seperti yang anda sekalian ketahui sebelumnya, bahwa dari sekian banyaknya warna yang ada dalam suatu gambar itu terdiri atau terbentuk dari perpaduan tiga warna dasar yaitu merah, hijau, dan biru atau yang lebih dikenal dengan sebutan ‘RGB’. Histogram suatu gambar ini bertujuan untuk menampilkan tingkat masing-masing RGB dari suatu gambar.
Fungsi yang disediakan MATLAB untuk membuat histogram dari gambar yaitu dengan fungsi imhist(matrik_1_dimensi_image).Perlu diperhatikan bahwa imhist hanya dapat digunakan untuk matrik image 1 dimensi sehingga bila diimplementasikan pada matriks gambar maka hanya berupa matriks merah saja, hijua saja, biru saja atau grayscale.
Algoritma
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.
Dengan menggunakan MATLAB algoritma diatas dapat diimplementasikan sebagai mana yang akan saya contohkan berikut:
i = imread('foto.jpg');
k = rgb2gray(i);
j = histeq(k);
subplot(2,2,1),imshow(i);
subplot(2,2,2),imshow(j);
subplot(2,2,3),imhist(k);
subplot(2,2,4),imhist(j);
Dalam MATLAB, untuk membuat Perataan Histogram bisa menggunakan fungsi histeq. Mula-mula gambar dikonversikan ke derajat pengabuan, kemudian dengan gunakan citra truecolor yaitu RGB dengan warna gray (abu-abu) dengan perintah ‘rgb2gray’.
HASIL
Berikut output program yang telah kita buat, dimana Histogram sebelah kiri adalah histogram dari gambar asli dan sebelah kanan Histogram dari gambar yang telah diubah ke mode GrayScale.
Sekian tutorial dari saya, semoga bermanfaat!!
"Sumber: https://resariski.wordpress.com/2011/12/04/histogram-dan-perataan-histogram/"