Tugas Kedua Pengolahan Citra Digital - Dasar Dasar Pengolahan Citra
Citra digital direpresentasikan dengan matriks. Operasi pada citra digital pada dasarnya adalah memanipulasi elemen-elemen matriks.
1. Operasi Titik
a. Operasi Negatif
Operasi negatif bertujuan untuk
mendapatkan citra negatif dengan cara mengurangi nilai intensitas piksel dari
nilai keabuan maksimum.
· Copy Source Code dibawah ini pada command
windows matlab kemudian tekan enter
Source Code :
F = imread('kids.tif');
[r c] = size(F);
for x = 1 : r
for y = 1 : c
G (x,y) = 255 -F (x,y);
end
end
figure, imshow(F);
figure, imshow(G);
Hasil Tampilan :
Gambar 1 Operasi negatif pada citra
b. Operasi Clipping
Operasi clipping adalah operasi
pemotongan jika nilai intensitas piksel hasil suatu operasi pengolahan citra
terletak di bawah nilai intensitas minimum atau di atas nilai intensitas
maksimum.
Source Code :
function J = clipping(I)
for x = 1 : size(I,1)
for y = 1 : size(I,2)
if I(x,y) > 255
J(x,y) = 255;
elseif I(x,y) < 0
J(x,y) = 0;
else
J(x,y) = I(x,y);
end
end
end
2. Operasi Aritmatika
Karena citra digital adalah matriks, maka operasi-operasi
aritmatika matriks juga berlaku pada citra. Operasi matriks yang dilakukan
adalah :
a. Penjumlahan Citra
Penjumlahan Citra adalah
operasi menjumlahkan dua matriks yang berukuran sama.
Source Code :
A =
double(imread('cameraman.tif'));
B = double(imread('rice.png'));
[r1 c1] = size(A);
[r2 c2] = size(B);
if (r1 == r2) && (c1 ==
c2)
for x = 1 : r1
for y = 1 : c1
C(x,y) = A(x,y) + B(x,y);
end
end
end
figure, imshow(uint8(C));
Hasil Tampilan :
Gambar 2 Operasi penjumlahan dua
buah citra
b. Pengurangan Citra
Pengurangan citra adalah
operasi saling mengurangkan dua matriks yang berukuran sama.
Source Code :
A =
double(imread('cameraman.tif'));
B = double(imread('rice.png'));
[r1 c1] = size(A);
[r2 c2] = size(B);
if (r1 == r2) && (c1 ==
c2)
for x = 1 : r1
for y = 1 : c1
C(x,y) = A(x,y) - B(x,y);
end
end
end
C = clipping(C);
figure, imshow(uint8(C));
Hasil Tampilan :
Gambar 3 Operasi pengurangan dua buah citra
c. Perkalian Citra
Perkalian citra A dengan scalar
c akan menghasilkan citra baru B yang intensitasnya lebih terang dari semula.
Kenaikan intensitas setiap piksel sebanding dengan c.
Source Code :
A =
double(imread('cameraman.tif'));
[r c] = size(A);
for x = 1 : r
for y = 1 : c
B(x,y) = A(x,y) .* 2;
end
end
B = clipping(B);
figure, imshow(uint8(B));
Hasil Tampilan :
Gambar 4 Operasi perkalian citra dengan scalar
d. Pembagian Citra
Pembagian citra A dengan scalar
akan menghasilkan citra baru B yang intensitasnya lebih gelap dari semula.
Penurunan intensitas setiap piksel berbanding terbalik dengan c.
Source Code :
A = double(imread('kids.tif'));
[r c] = size(A);
for x = 1 : r
for y = 1 : c
B(x,y) = A(x,y) ./ 2;
end
end
figure, imshow(uint8(B));
Hasil Tampilan :
Gambar 5 Operasi pembagian citra dengan scalar
3. Operasi Boolean
Selain operasi aritmatika, pemrosesan citra digital juga
melibatkan operasi boolean (AND, OR, NOT, XOR).
a. Operasi AND
Source Code :
A = not(imread('circles.png'));
B = not(imread('text.png'));
[r1 c1] = size(A);
[r2 c2] = size(B);
for x = 1 : r1
for y = 1 : c1
C(x,y) = and(A(x,y),B(x,y));
end
end
figure, imshow(C);
Hasil Tampilan :
Gambar 6 Operasi logika AND pada citra
b. Operasi OR
Source Code :
A = not(imread('circles.png'));
B = not(imread('text.png'));
[r1 c1] = size(A);
[r2 c2] = size(B);
for x = 1 : r1
for y = 1 : c1
C(x,y) = and(A(x,y),B(x,y));
end
end
figure, imshow(C);
Hasil Tampilan :
Gambar 7 Operasi logika OR pada citra
c. Operasi XOR
Source Code :
A = not(imread('circles.png'));
B = not(imread('text.png'));
[r1 c1] = size(A);
[r2 c2] = size(B);
for x = 1 : r1
for y = 1 : c1
C(x,y) = xor(A(x,y),B(x,y));
end
end
figure, imshow(C);
Hasil Tampilan :
Gambar 8 Operasi logika XOR pada citra
Leave a Comment