CONVOLUTION
PEMROGRAMAN MATLAB :
>> gambar=imread('park.jpg');
>> mask = [-1 -1 -1; -1 8 -1;-1 -1 -1];
>> gray=rgb2gray(gambar);
>> thresh=graythresh(gray);
>> imbw=im2bw(gray,thresh);
>> hasil=conv2(double(imbw),mask,'valid');
>> imshow(gambar)
>> figure, imshow(hasil)
________________________
256 32 4
________________________
3-by-3 Neighborhoods
Untuk 3-oleh-3 lingkungan, panjang (Lut) adalah 512. Ada sembilan piksel di lingkungan masing-masing, dan dua keadaan yang mungkin untuk setiap pixel, sehingga jumlah total permutasi adalah 29 = 512.
Untuk menghasilkan matriks indeks, applylut convolves gambar BW biner dengan matriks ini.
256 32 4
128 16 2
64 8 1
Konvolusi yang dihasilkan mengandung nilai integer dalam kisaran [0511]. applylut menggunakan bagian tengah dari konvolusi, dengan ukuran yang sama sebagai BW, dan menambah 1 untuk setiap nilai bergeser kisaran untuk [1.512]. Kemudian membangun A dengan mengganti nilai dalam sel-sel dari matriks indeks dengan nilai-nilai dalam Lut bahwa indeks menunjuk ke.
lut = makelut('sum(x(:)) == 4',2); BW = imread('text.png'); BW2 = applylut(BW,lut); imshow(BW), figure, imshow(BW2)
CITRA
ASAL
Citra asal
|
Citra filter
Mask= [-1 -1 -1; -1 8 -1;-1 -1 -1];
|
Citra filter
Mask= [1 0 0; 0 0 2; 2 2 2];
|
Binary Citra Asal
|
Binary citra yg sudah d filter
|
Penghitungan Convolution Secara manual
Binary Asal
|
Binary filter
|
192
|
193
|
198
|
192
|
193
|
198
|
192
|
193
|
198
|
255
|
255
|
255
|
255
|
255
|
255
|
255
|
255
|
255
|
Rumus: eprocesed
= v*e + z*a + y*b + x*c + w*d + u*e + t*f + j*g + r*h =
Neighbour
eprocesed = 255.193
+ 255.192 + 255.193 + 255.198 + 255.192 + 255.198 + 255.192 +255.193 +
255.198 = 49215 + 48960 + 49215 + 50490 + 48960 + 50490 + 48960 + 49215 +
50490 = 445995/255 = 1749
|
3 titik simple
^ Pixel tengah
192
|
193
|
198
|
192
|
193
|
198
|
192
|
193
|
198
|
255
|
255
|
255
|
255
|
255
|
255
|
255
|
255
|
255
|
eprocesed = 255.201 + 255.199 + 255.202 + 255.202 + 255.199
+ 255.202 + 255.198 +255.201 + 255.201 = 51255 + 50745 + 51510 + 51510 + 50745
+ 51510 + 50490 + 51255 + 51255 = 460275/255 = 1805
^Tepi atas
192
|
1 93
|
198
|
192
|
193
|
198
|
192
|
193
|
198
|
255
|
255
|
255
|
255
|
255
|
255
|
255
|
255
|
255
|
eprocesed = 255.193 + 255.192 + 255.193
+ 255.198 + 255.192 + 255.198 + 255.192 +255.193 + 255.198 = 49215 + 48960 +
49215 + 50490 + 48960 + 50490 + 48960 + 49215 + 50490 = 445995/255 = 1749
^Sudut bawah
192
|
193
|
198
|
192
|
193
|
198
|
192
|
193
|
198
|
255
|
255
|
255
|
255
|
255
|
255
|
255
|
255
|
255
|
eprocesed = 255.203 + 255.203 + 255.203 + 255.204 + 255.203 + 255.204 + 255.203 +255.203 + 255.204 = 51765 + 51765 + 51765 + 52020 + 51765 + 52020 + 51765 + 51765 + 52020 = 466650/255 = 1830