Anda di halaman 1dari 8

TUGAS PRAKTIKUM PENGOLAHAN CITRA DIGITAL

PERTEMUAN : 4
NIM : 1718110
NAMA : Farell Apuilino Iman S.A
MATERI : 1. Operasi boolean & operasi geometrik pengolahan
citra
TUGAS : 1. Perhitungan Operasi Translasi dan Scalling
2. Membuat GUI Geometrik

4.1 Operasi Aritmatika


Operasi pada aras titik hanya dilakukan pada pixel tunggal di dalam citra.
Operasi titik dikenal juga dengan nama operasi pointwise. Operasi ini terdiri dari
pengaksesan piksel pada lokasi yang diberikan, memodifikasinya dengan operasi
operasi lanjar (linear) atau nirlanjar (nonlinear), dan menempatkan nilai pixel
baru pada lokasi yang bersesuaian di dalam citra yang baru. Operasi ini diulangi
untuk keseluruhan piksel di dalam citra. Contohnya adalah:

a. Operasi negatif, yaitu mendapatkan citra negatif (negative image) meniru


film negatif pada fotografi dengan cara mengurangi nilai intensitas pixel
dari nilai keabuan maksimum.
b. Pemotongan (clipping), operasi ini dilakukan jika nilai intensitas pixel
hasil suatu operasi pengolahan citra terletak di bawah nilai intensitas
minimum atau di atas nilai intensitas maksimum.
c. Pencerahan citra (image brightening) Kecerahan citra dapat diperbaiki
dengan menambahkan (atau mengurangkan) sebuah konstanta kepada
(atau dari) setiap pixel di dalam citra.

Karena citra dijital adalah matriks, maka operasi-operasi aritmetika matriks juga
berlaku pada citra. Operasi matriks yang dapat dilakukan adalah:

a. Penjumlahan atau pengurangan antara dua buah citra A(x,y) dan B(x,y):
Fout(x, y) = A(x, y) ± B(x, y)
b. Perkalian dua buah citra: Fout(x, y) = A(x, y) B(x, y)
c. Penjumlahan/pengurangan citra A dengan skalar c: B(x, y) = A(x, y) ± c
d. Perkalian/pembagian citra A dengan sebuah skalar c: B(x, y) = c × A(x,
y)

4.2 Langkah-langkah Membuat Tugas


1. Menghitung operasi Translasi dan Scalling
A. Operasi Translasi

1 98 73 64 78
5
3 12 55 71 32
5
2 45 56 86 56
3
9 78 67 35 76
6
7 67 37 29 92
3

15 9 73 6 7
8 4 8
35 1 55 7 3
2 1 2
23 4 56 8 5
5 6 6
96 7 67 3 7
8 5 6
73 6 37 2 9
7 9 2

B. Operasi Scalling

1 98 73 64 78
5
3 12 55 71 32
5
2 45 56 86 56
3
9 78 67 35 76
6
7 67 37 29 92
3

1 15 15 9 9 98 7 7 73 6 6 64 7 7 78
5 8 8 3 3 4 4 8 8
1 15 15 9 9 98 7 7 73 6 6 64 7 7 78
5 8 8 3 3 4 4 8 8
1 15 15 9 9 98 7 7 73 6 6 64 7 7 78
5 8 8 3 3 4 4 8 8
1 15 15 9 9 98 7 7 73 6 6 64 7 7 78
5 8 8 3 3 4 4 8 8
1 15 15 9 9 98 7 7 73 6 6 64 7 7 78
5 8 8 3 3 4 4 8 8
3 35 35 1 1 12 5 5 55 7 7 71 3 3 32
5 2 2 5 5 1 1 2 2
3 35 35 1 1 12 5 5 55 7 7 71 3 3 32
5 2 2 5 5 1 1 2 2
3 35 35 1 1 12 5 5 55 7 7 71 3 3 32
5 2 2 5 5 1 1 2 2
3 35 35 1 1 12 5 5 55 7 7 71 3 3 32
5 2 2 5 5 1 1 2 2
3 35 35 1 1 12 5 5 55 7 7 71 3 3 32
5 2 2 5 5 1 1 2 2
2 23 23 4 4 45 5 5 56 8 8 86 5 5 56
3 5 5 6 6 6 6 6 6
2 23 23 4 4 45 5 5 56 8 8 86 5 5 56
3 5 5 6 6 6 6 6 6
2 23 23 4 4 45 5 5 56 8 8 86 5 5 56
3 5 5 6 6 6 6 6 6
2 23 23 4 4 45 5 5 56 8 8 86 5 5 56
3 5 5 6 6 6 6 6 6
2 23 23 4 4 45 5 5 56 8 8 86 5 5 56
3 5 5 6 6 6 6 6 6
9 96 96 7 7 78 6 6 67 3 3 35 6 6 67
6 8 8 7 7 5 5 7 7
9 96 96 7 7 78 6 6 67 3 3 35 6 6 67
6 8 8 7 7 5 5 7 7
9 96 96 7 7 78 6 6 67 3 3 35 6 6 67
6 8 8 7 7 5 5 7 7
9 96 96 7 7 78 6 6 67 3 3 35 6 6 67
6 8 8 7 7 5 5 7 7
9 96 96 7 7 78 6 6 67 3 3 35 6 6 67
6 8 8 7 7 5 5 7 7
7 73 73 6 6 67 3 3 37 2 2 29 9 9 92
3 7 7 7 7 9 9 2 2
7 73 73 6 6 67 3 3 37 2 2 29 9 9 92
3 7 7 7 7 9 9 2 2
7 73 73 6 6 67 3 3 37 2 2 29 9 9 92
3 7 7 7 7 9 9 2 2
7 73 73 6 6 67 3 3 37 2 2 29 9 9 92
3 7 7 7 7 9 9 2 2
7 73 73 6 6 67 3 3 37 2 2 29 9 9 92
3 7 7 7 7 9 9 2 2

2. Membuat GUI operasi Geometrik


Source Code button open :
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see
GUIDATA)
%TOMBOL OPEN1
open = guidata(gcbo);
[namafile]=uigetfile({'*.jpg;*.bmp;*.tif'},'openimage');
I=imread(namafile);
set(open.figure1,'CurrentAxes',open.axes1);
set(imagesc(I)); colormap('gray');
set(open.axes1,'Userdata',I);

Source Code button translasi :

function pushbutton2_Callback(hObject, eventdata, handles)


% hObject handle to pushbutton2 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see
GUIDATA)
%Translasi
Tx = 9;
Ty = 6;
open = guidata(gcbo);
A=get(open.axes1,'Userdata');
[r c] = size(A);
for x = 1 : r
for y = 1 : c
B(x+Tx, y+Ty) = A(x,y);
end
end
set(open.figure1,'CurrentAxes',open.axes2);
set(imagesc(B)); colormap('gray');
set(open.axes2,'Userdata',B);

Source Code button cropping :

function pushbutton3_Callback(hObject, eventdata, handles)


% hObject handle to pushbutton3 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see
GUIDATA)
%Cropping
open = guidata(gcbo);
A=get(open.axes1,'Userdata');;
C = imcrop(A,[50 50 150 150]);
set(open.figure1,'CurrentAxes',open.axes3);
set(imagesc(C)); colormap('gray');
set(open.axes3,'Userdata',C);

Source Code button flipping :

function pushbutton4_Callback(hObject, eventdata, handles)


% hObject handle to pushbutton4 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see
GUIDATA)
%Flipping
open = guidata(gcbo);
I=get(open.axes1,'Userdata');
[r c] = size(I);
yc = floor(c/2);
for x = 1 : r
for y = 1 : c
J(x,y) = I(x, (2*yc)-y+1);
end
end
set(open.figure1,'CurrentAxes',open.axes4);
set(imagesc(J)); colormap('gray');
set(open.axes4,'Userdata',J);

Source Code button rotasi :

function pushbutton5_Callback(hObject, eventdata, handles)


% hObject handle to pushbutton5 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see
GUIDATA)
%Rotasi
open = guidata(gcbo);
I=get(open.axes1,'Userdata');
theta = 30;
distorted = imrotate(I,theta);
set(open.figure1,'CurrentAxes',open.axes5);
set(imagesc(distorted)); colormap('gray');
set(open.axes5,'Userdata',distorted);

Source Code button Scalling:

function pushbutton6_Callback(hObject, eventdata, handles)


% hObject handle to pushbutton6 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see
GUIDATA)
%Scalling
open = guidata(gcbo);
I=get(open.axes1,'Userdata');
ShX = 6;
ShY = 4;
m = size(I,1);
n = size(I,2);
r = m*ShX;
c = n*ShY;
for x = 1 : m
for y = 1 : n
J((x-1)*ShX+1 : x*ShX, (y-1)*ShY+1 : y*ShY) = I(x,y);
end
end
set(open.figure1,'CurrentAxes',open.axes6);
set(imagesc(J)); colormap('gray');
set(open.axes6,'Userdata',J);

Tampilan Hasil

1.1 Alat dan Bahan


1. Laptop
2. Matlab R2015a
3. Modul Pengolahan Citra Digital 2018
1.2 Tujuan
1. Pratikan mampu mengetahui pengertian Operasi logika & Operasi geomitrik
pengolahan citra.
2. Pratikan mampu membuat tampilan GUI menggunakan Matlab dan
memberikan atribut dan aksinya.
3. Pratikan mampu menghitung operasi logika pengolahan citra dan
mengimplementasikan ke dalam Matlab

1.3 Kesimpulan
1. Selain operasi aritmatika, pemrosesan citra digital juga melibatkan operasi
Boolean. Operasi Boolean pada citra terbagi menjadi 3, yaitu And, Or, dan
Xor.
2. Dengan menggunakan Matlab, suatu citra dapat diproses dan dapat diperoleh
data-data mendetail tentang citra tersebut.
3. Manfaat yang didapatkan dari Matlab antara lain:
a. Perhitungan Matematika
b. Komputasi numerik
c. Simulasi dan pemodelan

Tanggal Asistensi Instruktur Laboratorium Nilai

Yudono Prayoga

Anda mungkin juga menyukai