Senin, 17 Oktober 2016

Pengolan Citra Konvolusi

Konvolusi (convolution) adalah sebuah proses dimana citra dimanipulasi dengan menggunakan eksternal mask / subwindows untuk menghasilkan citra yang baru. Sedangkan Filtering tanpa menggunakan ekternal mask tetapi hanya menggunakan pixel tetangga untuk mendapatkan pixel yang baru.

Konvolusi sangat banyak dipergunakan dalam pengolahan citra untuk memperhalus (smoothing), menajamkan (crispening), mendeteksi tepi (edge detection), serta efek lainnya.

1. Embossing
Embossing yaitu membuat citra seolah diukir pada permukaaan selembar nikel. Koefisien jendela konvolusi memiliki bobot tengah bernilai 0 & jumlah seluruh bobot = 0.

2. Blurring
Blurring (Pengaburan) yaitu filter spasial low-pass yang melenyapkan detil halus dari suatu citra. Pengaburan dicapai melalui konvolusi dari seluruh koefisien mask bernilai sama. Blurring ini perataan nilai pixel-pixel tetangga, makin besar ukuran mask maka makin besar efek pengaburan

3. Sharpening
Sharpening (Penajaman) yaitu memperjelas detil suatu citra(menambah kontras) dengan penjumlahan atas citra tepi dengan citra aslinya maka bagian tepi objek akan terlihat berbeda dengan latarnya, sehingga citra terkesan lebih tajam.

4. Edge Detection
Deteksi tepi yaitu proses menentukan lokasi titik-titik yang merupakan tepi objek.

Demikianlah pembahasan tentang Proses Konvolusi untuk mengolah citra.
tag : konvolusi adalah , konvolusi citra digital , proses konvolusi , konvolusi , konvolusi pengolahan citra , pengertian blurring , pengertian sharpening , konvolusi pada pengolahan citra , pengertia konvulsi , proses konvolusi citra


Proses Konvolusi
Pada pengolahan citra digital proses konvolusi merupakan perkalian konvolusi antara matrik citra asal dengan matrik tapis atau tapis atau mask. Operasi konvolusi sebagai fungsi diskrit 2 dimensi dapat didefinisikan dengan persamaan berikut ini.

Ilustrasi Proses Konvolusi

Ilustrasi proses konvolusi dari Persamaan di atas ditunjukkan pada gambar di bawah :
Operasi konvolusi dilakukan dengan menggeser mask konvolusi pixel per pixel mulai dari posisi kiri atas sampai posisi kanan bawah yang sering disebut dengan sliding window. Hasil dari proses konvolusi disimpan pada matrik yang baru dengan posisi koordinat yang sama.


Perataan Histogram Equalization pada MATLAB

Perbaikan kualitas citra (image enhancement) adalah salah satu proses awal dalam pengolahan citra (image preprocessing). Perbaikan kualitas diperlukan krn seringkali citra yg dijadikan objek pembahasan mempunyai kualitas yg buruk, Misalnya citra mengalami derau (noise) pada saat pengiriman melalui saluran transmisi, citra terlalu terang/gelap, citra kurang tajam, kabur, & sebagainya. Untuk memperbaiki kualitas citra ini salah satunya adalah dengan Histogram Equalization (perataan histogram). Tujuan dari perataan histogram adalah untuk memperoleh penyebaran histogram yg merata, sedemikian sehingga setiap derajat keabuan memiliki jumlah pixel yg relatif sama.

Perataan Histogram Equalization pada MATLAB
Histogram dari gambar sebelum dan sesudah pemerataan.

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.

Implementasi

Pertimbangkan grayscale citra diskrit {x} dan membiarkan ni menjadi jumlah kemunculan grey tingkat i. Probabilitas terjadinya dari pixel tingkat i dalam gambar adalah

\ p_x(i) = p(x=i) = \frac{n_i}{n},\quad 0 \le i < L

L menjadi jumlah tingkat abu-abu pada gambar (biasanya 256), n adalah jumlah total piksel dalam gambar, dan p_x (i) pada kenyataannya histogram gambar untuk nilai pixel i, normalisasi untuk [0,1] .

Mari kita juga menentukan fungsi distribusi kumulatif sesuai dengan PX sebagai

\ cdf_x(i) = \sum_{j=0}^i p_x(j)

yang juga akumulasi histogram normalisasi gambar itu.

Kita ingin membuat transformasi bentuk y = T (x) untuk menghasilkan gambar baru {y}, dengan histogram datar. Seperti gambar akan memiliki fungsi distribusi kumulatif linier (CDF) di berbagai nilai, yaitu

\ cdf_y(i) = iK

untuk beberapa konstan K. Sifat dari CDF memungkinkan kita untuk melakukan seperti transformasi (lihat fungsi distribusi Inverse); didefinisikan sebagai

\ cdf_y(y^\prime) = cdf_y(T(k)) = cdf_x(k)

di mana k adalah dalam rentang [0, L). Perhatikan bahwa peta T tingkat ke kisaran [0,1], karena kami menggunakan histogram normalized {x}. Untuk memetakan nilai-nilai kembali ke kisaran asli mereka, berikut transformasi sederhana perlu diterapkan pada hasil:

\ y^\prime = y \cdot(\max\{x\} - \min\{x\}) + \min\{x\}

Histogram Equalization pada MATLAB

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.

Di dalam MATLAb sudah terdapat suatu fungsi yg dpt melakukan proses pemerataan histogram, yaitu C = histeq(B);

Implementasi Fungsi Histogram Equalization pada MATLAB

Berikut ini adalah source code program pada MATLAB :

Source Code Matlab

function tugasHisteq_1


%membaca gambar yg akan diproses

A = imread('cewek1.jpg');
%mengubah gambar menjadi grayscale

B = 0.5*A(:,:,1);
C = histeq(B);

%melakukan proses penyamaan histogram terhadap citra
imshow(A);

%menampilkan citra asli & histogramnya
figure;subplot(2,1,1);
title('image asli');
%menampilkan citra yg telah digrayscale beserta histogramnya

subplot(2,1,2);
imhist(A);
title('histogram gambar asli');
figure;subplot(2,1,1);
imshow(B);
%menampilkan citra yg telah diequalisasi beserta histogramnya

title('image grayscale');
subplot(2,1,2);
imhist(B);
title('histogram gambar grayscale');
figure;subplot(2,1,1);

imshow(C);
title('image equalisasi');
subplot(2,1,2);
imhist(C);
title('histrogram equalisasi');
end

Hasil Program

Uji Coba Pada Gambar Mammografi

Histogram Equalization pada MATLAB
Histogram Equalization pada MATLAB

Histogram Equalization pada MATLAB
Perataan Histogram

"Hasil gambar & histogramnya setelah dilakukan proses grayscale. Gambar lebih gelap & terlihat pada grafik histogramnya rata kiri dari 0-50an."

Histogram Equalization pada MATLAB
Perataan Histogram Equalization

"Hasil gambar beserta histogramnya setelah dilakukan proses ekualisasi dengan menggunakan fungsi histogram equalization pada Matlab. Dari gambar terlihat lebih jelas objeknya & dari hasil histogramnya terlihat grafiknya lebih merata dari pada gambar asli maupun hasil grayscale."

Sumber ::

0 komentar :

Posting Komentar