2F / 14
1941160096
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:
Tugas simulasi:
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
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.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