Contoh hasil penapisan kernel
Filter Median (3) : Implementasi Gambar
Konvolusi (cadar/ cadar konvolusi, /cadar spasial)
Proses untuk memperoleh suatu piksel didasarkan pada nilai piksel itu sendiri dan tetangganya, dengan melibatkan suatu matriks yang disebut kernel yang merepresentasikan pembobotan.
Wujud kernel umumnya bujur sangkar, tetapi dapat pula berbentuk persegi panjang.
Proses Konvolusi
Menumpangkan suatu jendela (kernel) yang berisi angka-angka pengali pada setiap piksel yang ditimpali.
Kemudian, nilai rerata diambil dari hasil-hasil kali tersebut.
Khusus bila angka-angka pengali tersebut semua adalah 1, hasil yang didapat sama saja dengan filter pererataan.
Pada pelaksanaan konvolusi, kernel digeser sepanjang baris dan kolom dalam citra sehingga diperoleh nilai yang baru pada citra keluaran.
Ilustrasi Konvolusi
Contoh Konvolusi
kernel
citra
g(x, y) = -1 x 62 + 0 x 60 + 1 x 60 +
-2 x 60 + 0 x 68 + 2 x 78 +
-1 x 55 + 0 x 50 + 1 x 65
= -62 + 0 + 60 – 120 + 0 + 152 – 55 + 0 + 65
= 40
Hasil
Konvolusi
Nilai 68 pada citra akan diganti dengan 40
Fungsi Konvolusi & Implementasi
function [G] = konvolusi(F, H)
% KONVOLUSI Melakukan konvolusi kernel H dengan citra F
% H harus mempunyai tinggi dan lebar ganjil
% Hasil: citra G
[tinggi_f, lebar_f] = size(F);
[tinggi_h, lebar_h] = size(H);
m2 = floor(tinggi_h/2);
n2 = floor(lebar_h/2);
F2=double(F);
for y=m2+1 : tinggi_f-m2
for x=n2+1 : lebar_f-n2
% Pelaksanaan konvolusi F(baris, kolom)
jum = 0;
for p=-m2 : m2
for q=-n2 : n2
jum = jum + H(p+m2+1,q+n2+1) * ...
F2(y-p, x-q);
end
end
G(y-m2, x-n2) = jum;
end
end
>> KERNEL = [-1 0 -1; 0 4 0; -1 0 -1];
>> GAMBAR = imread('gedung.tif');
>> K1=konvolusi(GAMBAR,KERNEL);
>> K2=uint8(K1);
Filter Median (2) : Ilustrasi
Nilai pada f(y, x) adalah 10
Nilai median didapatkan dengan mengurutkan seluruh nilai, kemudian diambil nilai tengah
10 10 10 10 12 12 12 12 13
Jadi, nilai 10 pada f(y, x) diubah menjadi 12 pada g(y, x).
Filter Median (1) : Overview
Nilai yang lebih baik digunakan untuk suatu piksel ditentukan oleh nilai median dari setiap piksel dan kedelapan piksel tetangga pada 8-ketetanggaan.
Filter ini dapat dipakai untuk menghilangkan derau bintik-bintik.
Filter Pererataan (3) : Implementasi Gambar
Filter Batas (1) : Algoritma
ALGORITMA 4.1 – Menghitung piksel dengan filter batas
Masukan:
f(y, x) : Piksel pada posisi (y, x)
Keluaran:
g(y, x) : Nilai intensitas untuk piksel pada citra g pada posisi (y, x)
1. Carilah nilai intensitas terkecil pada tetangga f(y, x)
dengan menggunakan 8-ketetanggan dan simpan pada minInt.
2. Carilah nilai intensitas terbesar pada tetangga f(y, x)
dengan menggunakan 8-ketetanggan dan simpan pada maksInt.
3. IF f(y, x) < minInt
g(y, x) minInt
ELSE
IF f(y. x) > maksInt
g(y, x) maksInt
ELSE
g(y, x) f(y, x)
END-IF
END-IF
Filter Batas (2) : Ilustrasi
ANALISIS :
minInt = minimum(5, 7, 7, 5, 4, 6, 7, 8) = 4;
maksInt = maksimum(5, 7, 7, 5, 4, 6, 7, 8) = 8;
mengingat f(y, x) bernilai 9 dan lebih besar daripada 8 (maksInt) maka g(y, x) bernilai 8;
seandainya f(y, x) pada keadaan di atas bernilai 2 (bukan 9), g(y,x) akan bernilai 4.
Filter Batas (3) : Implementasi Gambar
Citra mobil dengan derau (kiri) dan setelah difilter (kanan)
Citra boneka dengan derau (kiri) dan setelah difilter (kanan)
Perbandingan hasil penapisan
Hasil gambar (a) hanya pada perbatasan antara perubahan aras keabuan yang ditonjolkan (baris berisi 88) dan nilai yang lain bernilai rendah (nol). Dengan demikian, akan muncul garis putih.
Hasil Gambar (b) menunjukkan bahwa citra yang berfrekuensi tinggi hampir tidak mengalami perubahan, kecuali nilainya saja yang berefek pada penajaman perbedaan aras keabuan (nilai 150 menjadi 176 dan nilai 40 menjadi 0)
Filter Pererataan (2) : Ilustrasi
Nilai pada f(y, x) adalah 68
Nilai rerata pengganti untuk g(y, x) dihitung dengan cara seperti berikut:
g(y, x) = 1/9 x (65+50+55+76+68+60+60+60+62)
= 61,77
Jadi, nilai 68 pada f(y, x) diubah menjadi 62 pada g(y, x).
Problem Konvolusi
Abaikan piksel pada bagian tepi
Buat baris tambahan pada bagian tepi (baris dan kolom baru diisi dengan nilai 0)
Ambil bagian yang tidak punya pasangan dengan bagian lain dari citra
Mempercepat Komputasi Konvolusi
Komputasi pada konvolusi dapat menjadi lama jika ukuran kernel membesar.
Untuk kernel dengan ukuran n x n, proses konvolusi akan dilakukan n x n kali.
Jika dinyatakan dengan ukuran Big O, prosesnya memerlukan O(n2).
Memecah matrik kernel menjadi dua buah vektor
=
h = kernel
hk = vektor kolom
hb = vektor baris
Memecah matriks kernel dalam vektor
Cek matriks kernel dengan rank. Jika hasilnya 1 kalau matriks dapat didekomposisi menjadi dua buah vektor.
Dekomposisi matriks kernel dengan fungsi svd
CONTOH
>> H = [-1 0 1; -2 0 2; -1 0 1];
>> rank(H); ans = 1
{bisa jadi matriks}
>> [U,S,V]=svd(H);
>> hkol = U(:,1) * sqrt(S(1));
{menghasilkan vektor kolom};
>> hbrs = conj(V(:,1)) * sqrt(S(1));
{menghasilkan vektor baris}
>> H1=hkol*hbrs;
Operasi Geometrik
>> Selanjutnya...
Tugas
Lakukan praktikum untuk menguji semua teori dalam materi pertemuan ini
Rekam proses praktikum menggunakan desktop capturing!
Upload ke youtube menggunakan email masing-masing!
Beberapa contoh kernel & hasil penapisan
Efek Emboss
Efek ini akan penebalan garis ke arah tertentu
Nilai dan arah penebalan tergantung pada nilai kernel yang digunakan dalam penapisan gambar
Nilai negatif dan positif yang berpasangan menentukan perubahan kecerahan yang berefek pada penggambaran garis gelap atau terang
Contoh hasil penapisan kernel
Filter High-Boost
Dapat digunakan untuk menajamkan citra melalui konvolusi.
Kernel yang dapat dipakai adalah kernel filter lolos-tinggi dengan nilai di pusat diisi dengan nilai yang lebih besar daripada nilai pada posisi tersebut untuk filter lolos-tinggi.
Kernel Filter Lolos Tinggi
Filter lolos-tinggi mempunyai sifat yaitu jumlah seluruh koefisien adalah nol.
Apabila dikenakan pada area dengan perubahan aras keabuan yang lambat (frekuensi rendah), hasil berupa nol atau nilai yang sangat kecil.
Apabila dikenakan pada area yang perubahan aras keabuannya cepat (frekuensi tinggi), hasil konvolusi bernilai sangat besar.
Filter Lolos Tinggi
Filter lolos-tinggi adalah filter yang ditujukan untuk melewatkan frekuensi tinggi dan menghalangi yang berfrekuensi rendah.
Hal ini biasa dipakai untuk mendapatkan tepi objek dalam citra atau menajamkan citra.
Contoh Hasil Penapisan Kernel
Implementasi Konvolusi Vektor
function [G] = konvolusi3(F, Hkol, Hbrs)
[tinggi_f, lebar_f] = size(F);
[tinggi_h, lebar_h] = size(Hbrs);
m2 = floor(lebar_h/2);
F2=double(F);
T = F2;
for y=m2+1 : tinggi_f-m2
for x=1 : lebar_f
jum = 0;
for p=-m2 : m2
jum = jum + Hkol(p+m2+1) * F2(y-p, x);
end
T(y, x) = jum;
end
end
for y=1 : tinggi_f
for x=m2+1 : lebar_f-m2
jum = 0;
for p=-m2 : m2
jum = jum + Hbrs(p+m2+1) * T(y, x-p);
end
G(y, x) = jum;
end
end
>> GAMBAR=imread('gedung.tif')
>> Hkol = [-1 -2 -1];
>> Hbrs = [1 0 -1];
>> K=konvolusi3(GAMBAR, Hkol, Hbrs);
>> K2=uint8(K);
>> imshow(K2);
Frekuensi Spasial
Frekuensi spasial pada citra menunjukkan seberapa sering suatu perubahan aras keabuan terjadi dari suatu posisi ke posisi berikutnya
Ilustrasi di samping
(a) perubahan aras keabuan terjadi sekali saja
(b) terlihat bahwa perubahan aras keabuan sering terjadi
Filter Lolos-Rendah
Filter lolos-bawah (low-pass filter) adalah filter yang mempunyai sifat dapat meloloskan yang berfrekuensi rendah dan menghilangkan yang berfrekuensi tinggi.
Efek filter ini membuat perubahan aras keabuan menjadi lebih lembut.
Filter ini berguna untuk menghaluskan derau atau untuk kepentingan interpolasi tepi objek dalam citra.
Tidak menggunakan konvolusi (menggunakan filter median)
Menggunakan Konvolusi dengan kernel tertentu
Perbandingan hasil penapisan
Kernel konvolusi Filter Lolos-Rendah
function [G] = tapis(berkas, H)
% TAPIS Menerapkan filter H dengan citra F
% H harus mempunyai tinggi dan lebar ganjil
% Hasil: citra G
F = imread(berkas);
K = konvolusi(F, H);
G = uint8(K);
figure(1); imshow(F);
figure(2); imshow(G);
Filter lolos rendah dengan Kernel #2
>> H = [1 1 1; 1 1 1; 1 1 1] / 9;
>> tapis('mobil.tif', H);
Aplikasi Ketetanggaan Piksel pada Filter
Sebagai filter atau tapis, operasi ketetanggaan piksel berfungsi untuk menyaring atau paling tidak mengurangi gangguan atau penyimpangan pada citra
Jenis ketetanggaan:
filter batas
filter pererataan
filter median
Filter Pererataan (1) : Overview
Nilai didapatkan dengan rumus
, = 19 = 11 = 11 ( + , + )
Secara prinsip, hasil nilai pererataan diperoleh dari nilai rerata piksel dan tetangganya
Definisi
Sdalah operasi pengolahan citra untuk mendapatkan nilai suatu piksel yang melibatkan nilai piksel-piksel tetangganya.
Setiap piksel pada umumnya tidak berdiri sendiri, melainkan terkait dengan piksel tetangga, karena merupakan bagian suatu objek tertentu di dalam citra.
Sifat inilah yang kemudian mendasari timbulnya algoritma untuk mengolah setiap piksel citra melalui piksel-piksel tetangga.
Operasi Ketetanggaan Piksel
Prodi S1 teknik informatika :: Sekolah tINGGi teknologi nurul jadid
Pengantar
pengolahan
Citra
digital
Jenis Ketetanggaan Piksel
1= , +1, 2 = 1, ,
3= , 1, 4 = +1,
1= , +1, 2 = 1, 1,
3= , 1, 4 = 1, 1
5= , 1, 6= +1, 1,
7= +1, 1, 8 = +1, +1
Ilustrasi
Outline
Pengertian operasi ketetanggaan piksel
Pengertian ketetanggaan piksel
Aplikasi ketetanggaan piksel
Konvolusi
Frekuensi
Filter lolos-rendah
Filter lolos-tinggi
Filter high-boost
Efek emboss
Click to edit Master title style
Click to edit Master text styles
Click to edit Master text styles
Second level
Third level
Fourth level
Fifth level
Click to edit Master text styles
Click to edit Master text styles
Second level
Third level
Fourth level
Fifth level
4/28/2015
#
Click to edit Master title style
Click to edit Master text styles
Second level
Third level
Fourth level
Fifth level
Click to edit Master text styles
Second level
Third level
Fourth level
Fifth level
4/28/2015
#
Click to edit Master title style
Click to edit Master text styles
Second level
Third level
Fourth level
Fifth level
4/28/2015
#
Click to edit Master title style
Click to edit Master subtitle style
4/28/2015
#
Click to edit Master title style
Click to edit Master text styles
Second level
Third level
Fourth level
Fifth level
4/28/2015
#
Click to edit Master title style
Click to edit Master text styles
4/28/2015
#
Click to edit Master title style
4/28/2015
#
Click to edit Master title style
Click to edit Master text styles
Second level
Third level
Fourth level
Fifth level
Click to edit Master text styles
4/28/2015
#
Click to edit Master title style
Click to edit Master text styles
Second level
Third level
Fourth level
Fifth level
4/28/2015
#
Click to edit Master title style
Click to edit Master text styles
Second level
Third level
Fourth level
Fifth level
4/28/2015
#
Click to edit Master title style
Click to edit Master text styles
Click icon to add picture
Click to edit Master text styles
Click to edit Master text styles
Click icon to add picture
Click to edit Master text styles
Click to edit Master text styles
Click icon to add picture
Click to edit Master text styles
4/28/2015
#
Click to edit Master title style
Click icon to add picture
Click to edit Master text styles
4/28/2015
#
Click to edit Master title style
Click icon to add picture
Click to edit Master text styles
4/28/2015
#
4/28/2015
#
Click to edit Master title style
Click to edit Master text styles
4/28/2015
#
Click to edit Master title style
Click to edit Master text styles
4/28/2015
#
Click to edit Master title style
Click to edit Master text styles
Click to edit Master text styles
Click to edit Master text styles
Click to edit Master text styles
Click to edit Master text styles
Click to edit Master text styles
4/28/2015
#
"
"
Click to edit Master title style
Click to edit Master text styles
Click to edit Master text styles
4/28/2015
#
4/28/2015
#