Anda di halaman 1dari 18

Muhammad bondan syafii

2F / 14
1941160096

Bab 2 Operasi Artik dan Geometri pada Citra

Karena bentuk citra digital dapat digambarkan sebagai matriks, maka operasi-operasi yang
dapat diterapkan pada matriks dapat diterapkan pada citra digital. Operasi-operasi ini adalah:

Operasi aritmatika yang terdiri dari operasi penjumlahan, pengurangan, perkalian, pembagian
dan operasi boolean citra.

Selain itu, operasi yang dapat diterapkan pada citra digital juga meliputi operasi geometri
yang terdiri dari:

 Scale: Penskalaan citra/image zooming: pengubahan ukuran citra


(pembesaran/zoom out atau pengecilan /zoom in) Rumus penskalaan citra:
x’=sx.x
y’=sy.y
sx dan sy adalah faktor penyekalaan, masing - masing dalam arah x dan y.
Jika citra semula adalah A dan citra hasil penyekalaan adalah B, maka
penyekalaan citra dinyatan sebagai:
B(x,y)=A(sx.x, sy.y)

 Rotate: Rotasi dilakukan dengan persamaan:


x’=x cos(ө) – y sin(ө)
y’=x sin(ө) + y cos(ө)
Dalam hal ini, ө adalah sudut rotasi berlawanan dengan arah jarum jam A = Gambar
asli
B(x,y)=A(x cos(ө) –y sin(ө), x sin(ө) + y cos(ө))
 Reflect: Adalah operasi geometri yang sama dengan pencerminan
Dua macam flipping:
Horisontal
Adalah pencerminan terhadap sumbu Y
B(x,y)=A(N-x,y)
Vertikal
Adalah pencerminan terhadap sumbu X
B(x,y)=A(x,M-y)

 Translation: ranslasi dilakukan berdasar rumus:


x’=x+m
y’=y+n
m = besarnya pergeseran dalam arah x
n = besarnya pergeseran dalam arah y
Jika A = Gambar asal maka B(x,y)=A(x+m,y+n)
- Affine transformation: ________________

Tugas simulasi:

Mengubah Format Citra

1. Sediakan 2 citra RGB ukuran maximum 1000x1000 pixel dengan satu citra berisi
nama dan kelas Anda.
2. Buka matlab
3. Ubah format kedua citra menjadi grayscale dan binary
4. Simpan keempat hasilnya dalam bentuk png dengan menggunakan fungsi imwrite
Operasi aritmatik dan geometri

1. Lakukan operasi aritmatik (+, -, .*, dan ./) pada 2 citra greyscale ukuran maximum
1000x1000 pixel dengan satu citra berisi nama dan kelas Anda
2. Lakukan operasi aritmatik (* dan /) pada satu citra greyscale dan suatu konstanta
3. lakukan scale, rotate, reflect, translation, dan affine transformation (gabungan
minimal 3 operasi geometri) pada citra grayscale
Hasil simulasi pada matlab versi R2016a :

1. citra input: citra 1. Fatah.png 500x500 pixel, citra 2. 2F.png 500x500 pixel

1.jpg 2.jpg

2. Script untuk mengubah citra RGB ke grayscale dan ke binary


>> RGB = imread ('1.jpg);
>> G = rgb2gray (RGB);
>> imshow (G);

>> RGB = imread (2.jpg);


>> F = rgb2gray (RGB);
>> imshow (F);

>> img = imread ('1.jpg);


>> img_bw = im2bw (img);
>> imshow (img_bw);

>> img = imread ('2.jpg');


>> img_bw = im2bw (img);
>> imshow (img_bw);
3. citra output dari citra
1: grayscale

binary

2: grayscale

binary
4. Script operasi aritmatik
4.1. Penjumlahan
>> img = imread ('1.jpg');
>> jumlah = img+100;
>> imshow ([img jumlah]);

4.2. Pengurangan
>> img = imread ('1.jpg');
>> kurang = img-100;
>> imshow (kurang);

4.3. Perkalian
>> img = imread ('2.jpg');
>> kali = img*2;
>> imshow ([img kali]);

4.4. Pembagian
>> img = imread ('2.jpg');
>> bagi = img/2;
>> imshow ([img bagi]);

4.5. Operasi Logika AND


>> A=imread ('1.jpg');
>> B=imread ('2.jpg');
>> Abw=im2bw(A);
>> Bbw=im2bw(B);
>> subplot(1,3,1),imshow(Abw);
>> subplot(1,3,2),imshow(Bbw);
>> Output=and(Abw , Bbw);
>> subplot(1,3,3),imshow(Output);

4.6. Operasi Logika OR


>> A=imread ('1.jpg');
>> B=imread ('2.jpg');
>> Abw=im2bw(A);
>> Bbw=im2bw(B);
>> subplot(1,3,1),imshow(Abw);
>> subplot(1,3,2),imshow(Bbw);
>> Output=or(Abw , Bbw);
>> subplot(1,3,3),imshow(Output);

4.7. Konvolusi
>> gambar=imread ('1.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(hasil);
5. Hasil operasi aritmatik

5.1. Penjumlahan
5.2. Pengurangan

5.3. Perkalian

5.4. Pembagian
5.5. Operasi Logika AND
5.6. Operasi Logika OR
5.7. Konvolusi
6. Script operasi geometri dan affine transformation
6.1. Skala
i = imread (' grayscale1.jpg');
j = imresize (i, [100 50]);
subplot(1,2,1),imshow(i),title('Gambar Asli');
subplot(1,2,2),imshow(j),title('Resize');

6.2. Rotasi
i=imread ('1.jpg');
k=imrotate(i,45);
subplot(1,2,1),imshow(i),title('Gambar Asli');
subplot(1,2,2),imshow(k),title('Rotation');

6.3. Refleksi
R = imread ('2F.png');
R2 = flipdim(R ,2);
R3 = flipdim(R ,1);
R4 = flipdim(R3,2);

subplot(2,2,1), imshow(R);
subplot(2,2,2), imshow(R2);
subplot(2,2,3), imshow(R3);
subplot(2,2,4), imshow(R4);

6.4. Translasi

i=imread ('Fatah.png');
j=imcrop(i,[65 58 120 102]);
subplot(1,2,1),imshow(i),title('Gambar Asli');
subplot(1,2,2),imshow(j),title('Cropping');
7. Hasil operasi geometri

7.1. Skala
7.2. Rotasi
7.3. Refleksi
7.4. Translasi

8. Kesimpulan:
Tidak semua citra yang diperoleh menggunakan kamera atau device lain
menghasilkan citra berkualitas yang disebabkan oleh factor pencahayaan, kondisi
objek maupun kamera yang digunakan. Oleh karena itu, diperlukan beberapa ilmu
tentang metode pengolahan citra untuk memperbaiki kualitas tersebut.

Hint:
1. citra disimpan dalam bentuk matriks pada matlab sehingga operasi yang dapat
dilakukan pada matriks juga dapat dilakukan pada citra
2. ukuran citra bisa dilihat melalui window workspace pada matlab (tuliskan apa yang
tertera pada baris variabel di window workspace ke bagian kosong pada nomor 1 dan
3 pada bagian hasil simulasi)
3. kedua citra perlu berukuran sama agar dapat dijumlahkan maupun dikurangkan
4. operasi perkalian .* (titik bintang) berbeda dari * (bintang)
5. fungsi matlab yang akan sering digunakan imread, imwrite, rgb2gray, im2bw, clear all
6. perbedaan pembacaan citra RGB, grayscale, dan binary dapat dimasukkan dalam
kesimpulan

Anda mungkin juga menyukai