Anda di halaman 1dari 17

LAPORAN PRAKTIKUM CITRA DIGITAL

“OPERASI ARTIMETIKA, LOGIKA DAN GEOMETRI PADA


CITRA DIGITAL“

Disusun Untuk Memenuhi Tugas

Mata Kuliah Pemrograman Basis Data


Semester 6

Penyusun:

1. Dhea Fiky Fatchatur Rizky 1941167014

JARINGAN TELEKOMUNIKASI DIGITAL


TEKNIK ELEKTRO
POLITEKNIK NEGERI MALANG
2020
Versi Matlab yang digunakan : MATLAB R2016 64 BIT
1. Operasi Aritmetika
2.1 Operasi Aritemtika Gambar Biner dengan Biner
 PENJUMLAHAN

Syntax
%operasi aritmetika penjumlahan gambar biner1 dengan gambar biner2
menggunakan syntax ‘+’
jumlah2= C+D;
Gambar Input Gambar Output
Syntax
Syntax
%operasi
%operasi aritmetika
aritmetika pengurangan
pengurangan gambar
gambar biner1
biner1 dengan
dengan gambar
gambar biner1
biner2
jumlah4 = imadd(C,C);
selisih1= imsubtract (C,D);
selisih2= C-D;
Gambar
Gambar Input
Input Gambar
Gambar Output
Output
 PERKALIAN

Syntax
%operasi aritmetika perkalian gambar biner1 dengan gambar biner2
kali1= immultiply (C,D)
kali5= C.*D;
%operasi aritmetika perkalian gambar biner2 dengan gambar biner1
kali3= immultiply(D,C);
Gambar Input Gambar Output
Syntax
%operasi aritmetika pembagian gambar biner1 dengan gambar biner1
Bagi4= imdivide (C,C)
Gambar Input Gambar Output

%operasi aritmetika pembagian gambar biner2 dengan gambar biner2


bagi2= imdivide(D,D);

2.2 Operasi Aritmetika Gambar Biner dengan Grayscale


 PENJUMLAHAN
Syntax
%operasi aritmetika penjumlahan gambar biner1 dengan gambar greyscale dan
sebaliknya
jumlahA = imadd (H,E);
jumlahB = imadd (E,H);
jumlahC =H+E;
jumlahD =E+H;
Gambar Input Gambar Output
 PERKALIAN
Syntax
%operasi aritmetika perkalian gambar biner1 dengan gambar greyscale
kaliA = immultiply(H,E); %BERSIFAT KOMUTATIF
Gambar Input Gambar Output

2.3 Operasi Aritmetika Gambar Biner dengan RGB


 Syntax
A = imread ('RGB1.png'); %menjadikan A sebagai variabel penyimpan
image rgb1

edit_biner1 = im2bw (A,0.5); %Merubah image A menjadi biner


imwrite (edit_biner1, 'biner1.png'); % menyimpan image biner ke
nama file biner1.png
C = imread ('biner1.png'); %Menjadikan C sebagai variabel
penyimpan image biner1

%Merubah tipe data gambar biner dari logical ke double


F = double(C);
imwrite (F,'double_biner.png');
%menjadikan varibel H penyimpan data gamabr biner tipe data double
H =imread ('double_biner.png'); %gambar biner baru tipe double

L=A(:,:,3); %Mengambil matriks penyusun citra BIRU


jumlah = imadd(L ,H) ;
kali = immultiply (L,H);
bagi1 = imdivide (L,H);
bagi2 = imdivide (H,L);
selisih1 = imsubtract (H,L);
selisih2 = imsubtract (L,H);

subplot (3,3,1);imshow (L); title ('RGB setelah diambil matriks


warna biru');
subplot (3,3,2); imshow (H); title ('Gambar Biner tipe data
double');
subplot (3,3,4);imshow (jumlah); title ('add RGB dan Biner');
subplot (3,3,5); imshow (kali); title ('kali RGB dan Biner');
subplot (3,3,6) ; imshow (bagi1); title ('bagi RGB dg Biner');
subplot (3,3,7); imshow (bagi2); title ('bagi biner dengan RGB');
subplot (3,3,8); imshow (selisih1); title ('Selisih Biner dg
RGB');
subplot (3,3,9); imshow (selisih2); title ('Selisih RGB dg
Biner');
 INPUT

 OUTPUT
2.4 Operasi Aritmetika Gambar Biner dengan Konstanta

A = imread ('RGB1.png'); %menjadikan A sebagai variabel penyimpan


image rgb1

edit_biner1 = im2bw (A,0.5); %Merubah image A menjadi biner


imwrite (edit_biner1, 'biner1.png'); % menyimpan image biner ke
nama file biner1.png
C = imread ('biner1.png'); %Menjadikan C sebagai variabel
penyimpan image biner1

%Merubah tipe data gambar biner dari logical ke double


F = double(C);
imwrite (F,'double_biner.png');
%menjadikan varibel H penyimpan data gamabr biner tipe data double
H =imread ('double_biner.png'); %gambar biner baru tipe double

%operasi aritmetika gambar biner dengan konstanta


jumlah = imadd(C,0.5);
selisih = imsubtract(C,0.5);
kali = immultiply (H,0.5);
bagi = imdivide (C,0.5);
2. Operasi Logical
 Operasi Logika Pada image Biner to Biner
%menjadikan A sebagai variabel penyimpan image rgb1
A = imread ('RGB1.png');
%Merubah image A menjadi biner
edit_biner1 = im2bw (A,0.5);
% menyimpan image biner ke nama file biner1.png
imwrite (edit_biner1, 'biner1.png');
%Menjadikan C sebagai variabel penyimpan image biner1
C = imread ('biner1.png');
D = flipdim (C,1);
E = and(C,D);
F= or (C,D);
G = not (D);
subplot (3,2,1);imshow (C); title ('Input Gambar Biner');
subplot (3,2,2); imshow (D); title ('Input Gambar Biner flip');
subplot (3,2,3);imshow (E); title ('Output AND');
subplot (3,2,4); imshow (F); title ('output OR');
subplot (3,2,5) ; imshow (G); title ('output NOT');
 Operasi Logika Pada Biner to Grayscale
A = imread ('RGB1.png'); %menjadikan A sebagai variabel penyimpan
image rgb1

edit_biner1 = im2bw (A,0.5); %Merubah image A menjadi biner


imwrite (edit_biner1, 'biner1.png'); % menyimpan image biner ke
nama file biner1.png
C = imread ('biner1.png'); %Menjadikan C sebagai variabel
penyimpan image biner1

edit_greyscale1= rgb2gray (A); %Merubah image A menjadi greyscale


imwrite (edit_greyscale1,'greyscale1.png'); %menyimpan hasil edit
image A ke greyscale dengan nama 'greyscale1.png'
E = imread ('greyscale1.png'); %Menjadikan E sebagai variabel
penyimpan image greyscale1

%OPERASI LOGIKA
D = flipdim (E,1);
X = and(H,D);
Y= or (H,D);
Z = not (H);
subplot (3,2,1);imshow (H); title ('Input Gambar Biner');
subplot (3,2,2); imshow (D); title ('Input Gambar GREYSCALE
flip');
subplot (3,2,3);imshow (X); title ('Output AND');
subplot (3,2,4); imshow (Y); title ('output OR');
subplot (3,2,5) ; imshow (Z); title ('output NOT');
 Operasi Logika Pada Biner to RGB
A = imread ('RGB1.png');
edit_biner1 = im2bw (A,0.5); %Merubah image A menjadi biner
imwrite (edit_biner1, 'biner1.png'); %menyimpan image biner
C = imread ('biner1.png');
%Merubah tipe data gambar biner dari logical ke double
F = double(C);
imwrite (F,'double_biner.png');
%menjadikan varibel H penyimpan data gamabr biner tipe data double
H =imread ('double_biner.png'); %gambar biner baru tipe double

L=A(:,:,3); %Mengambil matriks penyusun citra BIRU pada RGB

%OPERASI LOGIKA
M = flip (L,1);
X=and (M,H);
Y= or (M,H);
Z= not (Y);
subplot (3,2,1);imshow (H); title ('Input Gambar Biner TIPE DATA
DOUBLE');
subplot (3,2,2); imshow (M); title ('INPUT RGB setelah diambil
matriks biru');
subplot (3,2,3);imshow (X); title ('Output AND');
subplot (3,2,4); imshow (Y); title ('output OR');
subplot (3,2,5) ; imshow (Z); title ('output NOT');
3. Operasi Geometri
 Scale
Input

Syntax Output
scalergb = imresize(A,
0.5);

Syntax Output
scalergb = imresize(A,
5);
Kesimpulan untuk operasi geometri scale :
Operasi ini dapat digunkan untuk smeua jenis image yaitu biner, RGB dan
greyscale. Semakin besar nilai yang di inputkan, maka kualitas gambr akan
semakin baik dan jernih (tidak pecah). Jika nilainya semakin kecil, maka gambar
nya akan memiliki kualitas yang buruk yaitu pecah. Hal ini termasuk dalam
kategori memperbesar atau memperkecil nilai pixel suatu gambar.
 Rotate
%Operasi Geometri Rotate
rotatebiner= imrotate (C,15,'nearest');
rotategreyscale= imrotate (E,15,'bicubic');
subplot (2,2,1);imshow (C); title ('Input Gambar Biner');
subplot (2,2,2); imshow (E); title ('Input Gambar Greyscale');
subplot (2,2,3);imshow (rotatebiner); title ('Output Rotate 15
nearest');
subplot (2,2,4); imshow (rotategreyscale); title ('Output Rotate
15 nearest');

Kesimpulan untuk operasi geometri rotate:


Syntax imrotate digunakan untuk memutar image berdasarkan sudut yang di
inputkan user. Imrotate dpt digunakan untuk smeua jenis gambar yaitu Biner,
RGB maupun Greyscale. Pada operasi geometric gambar input akan diputar
sejauh sudut yang kita inginkan, pada contoh ialah sebesar sudut 15◦, Adapun
bicubic dan nearest merupakan metode yang digunaakn pada operasi geometri
rotate. Berdasar hasil praktikum tidak terdapat perbedaan significant antara
method nearest dg bicubic.
 Tranaslate
%Operasi Geometri Translate
J = imtranslate(E,[50, -30],'FillValues',255);
subplot (2,1,1);imshow (E); title ('Input Gambar Greyscale');

subplot (2,1,2); imshow (J); title ('Output Translasi');


set(gca,'Visible','on');

Kesimpulan untuk operasi geometri translation:


Syntax imtranslate adalah transformasi yang berguna untuk memindahkan suatu
titik sepanjang garis lurus dengan arah dan jarak. Berdasarkan praktikum,
digunakan syntax imtranslate(E,[50, -30],'FillValues',255); yang
artinya background berwarna putih krna bernilai 255, dan 50 artinya gambar akan
bergeser ke kanan sejauh 50 pada sumbu x, arti dari -30 artinya gambar akan
bergeser ke bawah sejauh 30 searah sumbu Y.
4. KESIMPULAN
 Operasi artimetika antara biner dengan greyscale tidak bisa dilakukan
karena biner memiliki tipe data logical dan greycscale dengan tipe dta
integer uint8, sehingga tipe data gambar biner diubah menggunakan syntax
double, sehingga tipe datanya berubah menjadi double. Hal ini juga
berlaku untuk operasi logika
 Pada operasi aritmetika RGB dengan biner, karena RGB terdiri dari 3
matriks dan Biner terdiri dari 2 matriks maka dilakukan pengmabilan
matriks salah satu warna dahulu pada gambar RGB dan emngubah tipe
data biner menjadi double baru bisa dilakukan operasi aritmetika maupun
biner.
 Pada operasi logika menggunakan kode biner 0 dan 1, dimana 0 berarti
berwarna putih, sedangkan 1 berarti berwarna hitam.