Dutormasi.com –Hallo sahabat dutormasi bagaimana kabarnya ni teman teman? baik baik saja kan?. Semoga baik baik saja yaaaa. Nah masih semangat belajarnya kan? dikesempatan ini dutormasi akan membahas mengenai konsep konvolusi citra, tujuan, penjelesain input output , algoritma dan flowchart , analisis perbedaan dari 3 metode serta referensi yang saya dapatkan.

Sebelum kita membahas mengenai konvolusi nya ada baiknya dulu membahas pengolahan citra itu apa? pengolahan citra adalah merupakan sebuah bentuk pemroresan dari sebuah citra atau bisa juga gambar yang memiliki prises numerik dari gambarnya tersebut. Dalam hal ini yang diproses maksudnya adalah masing masing dari pixel atau titik dari sebuah gambar tesebut.

1. Konsep Konvolusi Citra

Konvolusi adalah sebuah operator matematika yang sangat penting untuk banyak operator dalam melakukan Image prosessing . Konvolusi ini akan menyediakan untuk cara menggabungkan 2 array dan biasanya array yang digunakan juga berbeda namun masih memilki dimensi array yang sama dan menghasilkan array ketiga yang akan mempunya dimensi yang sama juga. 

Jadi konvolusi citra dapat diartikan adalah teknik yang digunakan untuk menghaluskan suatu cita atau memperjelas citra dengan menggantikan nilai piksel gambar dengan sejumlah nilai yang sesuai atau berdekatan dengan piksel aslinya dari gambar. Namun walaupun begitu dengan menggunakan konvolusi, ukuran dari citra akan tetap sama dan tidak berubah.

Sumber : 

http://research-dashboard.binus.ac.id/uploads/paper/document/publication/Journal/MatsTat/Vol.%2012%20No.%202%20Juli%202012/01_Wikaria%20Gazali.pdf

2. Metode Filtering Dengan Konvolusi Citra
a. Adaptive Local Filtering

 i. Konsep
Filter adaptif dilakukan pada citra terdegradasi yang mengandung citra asli dan noise. Mean dan varians adalah dua ukuran statistik yang bergantung pada filter adaptif lokal dengan region Window mxn yang ditentukan.
Rumus Adaptif Filtering

Konvolusi Pada Citra Pengolahan Citra Digital Lengkap

Langkah pengerjaan
1 Tentukan nilai dari ukuran Window mxn
2 Hitung nilai matrix B dengan Gaussian Noise 

Konvolusi Pada Citra Pengolahan Citra Digital Lengkap

3 Berikan nilai 0 pada seluruh sisi matrix B 

Konvolusi Pada Citra Pengolahan Citra Digital Lengkap

4 Hitung nilai local dan selisih lokal dengan menggeser Window 3×3 

Konvolusi Pada Citra Pengolahan Citra Digital Lengkap

nilai lokal = nilai(Window) = 0.4373

selisih lokal = nilai(Window²) – nilai(Window²) = 0.2394

5 Berikan nilai lokal ke matrix B

Konvolusi Pada Citra Pengolahan Citra Digital Lengkap

6 Berikan selisih lokal ke matrix B

Konvolusi Pada Citra Pengolahan Citra Digital Lengkap

7 Selisih dari semua noise adalah rata-rata dari selisih lokal, oleh karena itu selisih noise = 0.1709

Baca Juga :  Tutorial Membuat Pengolahan Citra menggunakan MATLAB | 2020

8 jika (selisih noise > nilai lokal (x,y)) maka nilai lokal (x,y) = selisih noise.
Berikut representasi posisi pixel (x,y) dalam 2 dimensi

Konvolusi Pada Citra Pengolahan Citra Digital Lengkap

9 Final Image = B – (selisih noise/selisih nilai lokal)(B-nilai lokal) 

Konvolusi Pada Citra Pengolahan Citra Digital Lengkap

ii. Tujuan
Tujuan dari Adaptive Local Filtering adalah untuk memperbaiki gambar dengan menjadikan noise yang ada pada gambar memudar.

iii. Penjelasan Input-Proses-Output
Berikut isi input source code pada Matlab untuk adaptive local filtering.

A = imread(‘peppers.png’);
B = rgb2gray(A);
sz = size(B,1)*size(B,2);
%Add gaussian noise with mean 0 and variance 0.005
B = imnoise(B,’gaussian’,0,0.005);
figure,imshow(B); title(‘Image with gaussian noise’);
B = double(B);
%Define the window size mxn
M = 5;
N = 5;
%Pad the matrix with zeros on all sides
C = padarray(B,[floor(M/2),floor(N/2)]);
lvar = zeros([size(B,1) size(B,2)]);
lmean = zeros([size(B,1) size(B,2)]);
temp = zeros([size(B,1) size(B,2)]);
NewImg = zeros([size(B,1) size(B,2)]);
for i = 1:size(C,1)-(M-1)

for j = 1:size(C,2)-(N-1)  

    temp = C(i:i+(M-1),j:j+(N-1));

    tmp =  temp(:);

         %Find the local mean and local variance for the local region       

    lmean(i,j) = mean(tmp);

    lvar(i,j) = mean(tmp.^2)-mean(tmp).^2;      

end

end
%Noise variance and average of the local variance
nvar = sum(lvar(:))/sz;
%If noise_variance > local_variance then local_variance=noise_variance
lvar = max(lvar,nvar);
%Final_Image = B- (noise variance/local variance)*(B-local_mean);
NewImg = nvar./lvar;
NewImg = NewImg.*(B-lmean);
NewImg = B-NewImg;
%Convert the image to uint8 format.\
NewImg = uint8(NewImg);
figure,imshow(NewImg);title(‘Restored Image using Adaptive Local filter’);

Berikut output dari source code diatas.

Konvolusi Pada Citra Pengolahan Citra Digital Lengkap
Konvolusi Pada Citra Pengolahan Citra Digital Lengkap
Konvolusi Pada Citra Pengolahan Citra Digital Lengkap

iv. Algoritma dan Flowchart 

Algoritma sederhana dari Filter ini adalah setelah pengguna menjalankan source code filter maka selanjutnya pengguna diminta untuk memilih salah satu gambar untuk diolah. Setelah itu gambar tersebut akan diolah sesuai dengan source code filter ini. Hasilnya akan ditampilkan 2 gambar, citra sebelum di olah dan citra setelah diolah dengan filter ini. 

Konvolusi Pada Citra Pengolahan Citra Digital Lengkap

b. Gaussian Filtering / Gaussian Blur 

i. Konsep
Gaussian Blur atau gaussian filter merupakan teknik untuk memburamkan gambar. Biasanya digunakan untuk mengurangi noise dan detail dari gambar tersebut.

Rumus Gaussian Kernel 2 dimensi

Konvolusi Pada Citra Pengolahan Citra Digital Lengkap

Langkah pengerjaan Design Kernel

Baca Juga :  Cara Pendeteksian Tepi Operator Gradien Pertama, Operator Robert, Operator Prewit, dan Operator Sobel Matlab

1 Mari kita gunakan standar simpangan, sigma = 0,6 dan ukuran kernel = 3×3.

2. Lanjutan dibawah :

Konvolusi Pada Citra Pengolahan Citra Digital Lengkap

3 Lebar kernel adalah X=3 dan tinggi kernel adalah Y = 3 

Konvolusi Pada Citra Pengolahan Citra Digital Lengkap

4 Kernel Gaussian bagian tengah (disini 0.4421) memiliki nilai tertinggi dan intensitas dari pixel lainnya menurun berasamaan dengan jarak dari bagian tengah yang meningkat.

5 Sekarang nilai kernel Gaussian adalah sebagai berikut. 

Konvolusi Pada Citra Pengolahan Citra Digital Lengkap

Langkah pengerjaan Konvolusi kernel dan bagian lokal dalam gambar Berdasarkan bagian lokal dalam gambar

Konvolusi Pada Citra Pengolahan Citra Digital Lengkap

Konvolusikan area yang di pilih dan kernel

Konvolusi Pada Citra Pengolahan Citra Digital Lengkap

Jumlahkan nilai tersebut : 1.8692 + 9.7009 + 4.3706 + 7.2757 + 38.4624 + 17.8585 + 1.84142 + 9.1497 + 4.4256 = 94.9269

Pada konvolusi area lokal dan kernel Gaussian memberikan nilai intensitas tertinggi ke bagian tengah bagian lokal (38.4624) dan piksel yang tersisa memiliki intensitas yang lebih sedikit saat jarak dari pusat meningkat. Jumlahkan hasilnya dan simpan di lokasi piksel saat ini (intensitas = 94.9269) dari gambar. 

Konvolusi Pada Citra Pengolahan Citra Digital Lengkap

Lakukan operasi di atas di semua bagian. Hasil akhir dari gaussian filter adalah

Konvolusi Pada Citra Pengolahan Citra Digital Lengkap

ii. Tujuan

Tujuan dari gaussian filtering adalah untuk menghilangkan noise dengan memudarkan gambar, namun dengan konsekuensi detail gambar juga ikut berkurang.

iii. Penjelasan Input-Proses-Output
Berikut isi input source code pada Matlab untuk Gaussian Filtering. 

%Read an Image
Gambar = imread(‘peppers.png’);
Img = rgb2gray(Gambar);
A = imnoise(Img,’Gaussian’,0.04,0.003);
%Image with noise
figure,imshow(A);
I = double(A);
%Design the Gaussian Kernel
%Standard Deviation
sigma = 1.76;
%Window size
sz = 4;
[x,y]=meshgrid(-sz:sz,-sz:sz);
M = size(x,1)-1;
N = size(y,1)-1;
Exp_comp = -(x.^2+y.^2)/(2sigmasigma);
Kernel= exp(Exp_comp)/(2pisigma*sigma);
%Initialize
Output=zeros(size(I));
%Pad the vector with zeros
I = padarray(I,[sz sz]);
%Convolution
for i = 1:size(I,1)-M

for j =1:size(I,2)-N

    Temp = I(i:i+M,j:j+M).*Kernel;

    Output(i,j)=sum(Temp(:));

end

end
%Image without Noise after Gaussian blur
Output = uint8(Output);
figure,imshow(Output);

Berikut output dari source code diatas.

Konvolusi Pada Citra Pengolahan Citra Digital Lengkap
Konvolusi Pada Citra Pengolahan Citra Digital Lengkap
Konvolusi Pada Citra Pengolahan Citra Digital Lengkap

iv. Algoritma dan Flowchart

Algoritma sederhana dari Filter ini adalah setelah pengguna menjalankan source code filter maka selanjutnya pengguna diminta untuk memilih salah satu gambar untuk diolah. Setelah itu gambar tersebut akan diolah sesuai dengan source code filter ini. Hasilnya akan ditampilkan 2 gambar, citra sebelum di olah dan citra setelah diolah dengan filter ini. 

Konvolusi Pada Citra Pengolahan Citra Digital Lengkap

c. Oil Painting Filtering

Baca Juga :  Cara Melakukan Operasi Dasar Pengolahan Citral Pada Matlab


i. Konsep
Untuk mendapatkan efek seperti lukisan, tentukan matriks jendela kecil berukuran m kali n. Salin nilai piksel gambar asli ke dalam matriks dan temukan histogram dari setiap nilai. Temukan nilai piksel maksimum yang terjadi dan ganti posisi saat ini dengan nilai kejadian maksimum.

ii. Tujuan
Tujuan dari Oil Painting Filtering adalah untuk menghasilkan gambar yang menyerupai hasil dari lukisan minyak.

iii. Penjelasan Input-Proses-Output
Berikut isi input source code pada Matlab untuk Oil Painting Filtering.

A=imread(‘fabric.png’);
figure,imshow(A)
%Define the matrix size of your convience.
m=5;
n=6;
Image=uint8(zeros([size(A,1)-m,size(A,2)-n,3]));
%Calculate the histogram for each RGB value.
for v=1:3
for i=1:size(A,1)-m

for j=1:size(A,2)-n

    mymask=A(i:i+m-1,j:j+n-1,v);

    h=zeros(1,256);

    for x=1:(m*n)

        h(mymask(x)+1)=h(mymask(x)+1)+1;

    end

%Maximum occurring value and the position is obtained

    [maxvalue,pos]=max(h);

    Image(i,j,v)=pos-1;

end

end
end
figure,imshow(Image);

Berikut output dari source code diatas. 

Konvolusi Pada Citra Pengolahan Citra Digital Lengkap
Konvolusi Pada Citra Pengolahan Citra Digital Lengkap
Konvolusi Pada Citra Pengolahan Citra Digital Lengkap

iv. Algoritma dan Flowchart

Algoritma sederhana dari Filter ini adalah setelah pengguna menjalankan source code filter maka selanjutnya pengguna diminta untuk memilih salah satu gambar untuk diolah. Setelah itu gambar tersebut akan diolah sesuai dengan source code filter ini. Hasilnya akan ditampilkan 2 gambar, citra sebelum di olah dan citra setelah diolah dengan filter ini. 

Konvolusi Pada Citra Pengolahan Citra Digital Lengkap

C. Perbedaan Dari 3 Metode Tersebut 

Konvolusi Pada Citra Pengolahan Citra Digital Lengkap

Sumber :

imageeprocessing.com

Mungkin itu saja postingan kali ini, jika anda merasa postingan ini bermanfaat silahkan anda share ke teman teman anda agar mereka juga mendapatkan manfaat dari postingan ini. Jika anda masih bingung dengan penjelasan diatas silahkan anda kunjungi contact saya footer dibawah ini.

DUTORMASI


Dutormasi menyediakan jasa web development, app development, web design, jasa desain, dan menjual produk yang berguna untuk bisnis online anda. Kami memiliki tim profesional pada bidangnya masing-masing untuk membantu mengembangkan bisnis Anda di dunia digital. Silakan hubungi kami atau klik DISINI untuk mendapatkan informasi lebih lanjut.