SlideShare a Scribd company logo
1 of 32
1
TUGAS MANDIRI
Tutorial Operasi Geometrik
Mata Kuliah: Pengolahan Citra Digital
l
130210097 : Rina Permata Sari
Kode Kelas : 142-T128P-M5
Dosen : Cosmas Eko Suharyanto
PROGRAM STUDI TEKNIK INFORMATIKA
UNIVERSITAS PUTERA BATAM
2015
2
KATA PENGANTAR
ِِ‫م‬ْ‫ي‬ ِ‫ح‬ ْ‫الر‬ ِ‫من‬ْ‫ح‬ ‫ه‬‫الر‬ ِ ‫ه‬‫اَّلل‬ ِ‫م‬ْ‫س‬ِ‫ب‬
Assalamu’alaikum Wr.Wb
Puji syukur kami panjatkan ke hadirat Allah Subhanahu wata’ala, karena berkat
rahmat-Nya kami dapat menyelesaikan makalah yang berjudul “Tutorial Operasi Geometrik.
Makalah ini diajukan guna memenuhi tugas mata kuliah Pengolahan Citra Digital.
Kami mengucapkan terima kasih kepada semua pihak yang telah membantu sehingga
makalah ini dapat diselesaikan sesuai dengan waktunya. Makalah ini masih jauh dari
sempurna. Oleh karena itu kami mengharapkan kritik dan saran yang bersifat membangun
demi kesempurnaan makalah ini.
Semoga makalah ini memberikan informasi bagi masyarakat dan bermanfaat untuk
pengembangan ilmu pengetahuan bagi kita semua.
Batam, Juni 2015
Penulis
Kelompok
3
DAFTAR ISI
KATA PENGANTAR........................................................................................................................ 2
DAFTAR ISI................................................................................................................................ 3
BAB I..........................................................................................................................................4
PENDAHULUAN........................................................................................................................ 4
1.1 Penagantar Pengolahan Citra...................................................................................................4
BAB II.........................................................................................................................................5
PEMBAHASAN .......................................................................................................................... 5
2.1 Penggeseran citra .................................................................................................................... 5
2.2 Pemutaran citra....................................................................................................................... 6
2.3 Interpolasi piksel..................................................................................................................... 8
2.4 Pemutaran citra berdasarkan sebarang koordinat .......................................................................9
2.5 Pemutaran citra secara utuh ................................................................................................... 11
2.6 Pembesaran citra................................................................................................................... 13
2.7 Pengecilan citra..................................................................................................................... 15
2.8 Pembesaran citra dengan skala vertikal dan horizontal............................................................. 16
2.9 Pencerminan citra.................................................................................................................. 18
2.10 Transformasi affine ............................................................................................................. 19
2.11 Efek ripple .......................................................................................................................... 23
2.12 Efek twirl............................................................................................................................ 24
2.13 Transformasi spherical......................................................................................................... 26
2.14 Transformasi bilinear........................................................................................................... 28
BAB III........................................................................................................................................ 31
PENUTUP ................................................................................................................................... 31
3.1. Kesimpulan.......................................................................................................................... 31
3.2. Kritik dan saran.................................................................................................................... 31
DAFTAR PUSTAKA....................................................................................................................... 32
4
BAB I
PENDAHULUAN
1.1 PengantarPengolahanCitra
Pengolahan citra adalah salah satu cabang dari ilmu informatika. Pengolahan citra berkutat
pada usaha untuk melakukan transformasi suatu citra/gambar menjadi citra lain dengan
menggunakan teknik tertentu. Pengolahan citra merupakan bidang yang bersifat multidisiplin,
yang terdiri dari banyak aspek, antara lain fisika, elektronika, matematika, seni dan teknologi
komputer.
Pengolahan citra (image processing) memiliki hubungan yang sangat erat dengan disiplin
ilmu yang lain. jika sebuah ilmu disiplin ilmu dinyatakan dengan bentuk proses suatu input
menjadi output, maka pengolahan citra memiliki input berupa citra serta output juga berupa
citra.
Secara umum, istilah pengolahan citra digital menyatakan “pemrosesan gambar berdimensi-
dua melalui komputer digital” (Jain, 1989). Menurut Efford (2000), pengolahan citra adalah
istilah umum untuk berbagai teknik yang k
eberadaannya untuk memanipulasi dan memodifikasi citra dengan berbagai cara. Foto adalah
contoh gambar berdimensi dua yang bisa diolah dengan mudah.Setiap foto dalam bentuk citra
digital (misalnya berasal dari kamera digital) dapat diolah melalui perangkat-lunak tertentu.
Operasi geometrik adalah operasi pada citra yang dilakukan secara geometris seperti
translasi, rotasi, dan penyekalaan. Pada operasi seperti ini terdapat pemetaan geometrik, yang
menyatakan hubungan pemetaan antara piksel pada citra masukan dan piksel pada citra
keluaran. Secara prinsip, terdapat dua cara yang dapat dipakai. Pertama yaitu pemetaan ke
depan dan kedua berupa pemetaan ke belakang.
5
BAB II
PEMBAHASAN
2.1 Penggeserancitra
Penggeseran citra ke arah mendatar atau vertikal dapat dilaksanakan dengan mudah. Rumus
yang digunakan sebagai berikut:
𝑥 𝑏𝑎𝑟𝑢 = 𝑥 𝑙𝑎𝑚𝑎 + 𝑠 𝑥 (5.1)
𝑦 𝑏𝑎𝑟𝑢 = 𝑦𝑙𝑎𝑚𝑎 + 𝑠 𝑦 (5.2)
Untuk penyederhanaan pembahasan, sx dan sy dianggap bertipe bilangan bulat.
Turorialnya adalah sebagai berikut :
1. Buka Aplikasi Octave 3.6.3
2. Buka aplikasi Notepad pada windows ( Langkah ini bisa dilewati apabila ingin langsung
mengetikan sintax pada jendela Octave 3.6.3 )
3. Ketik Sintax berikut pada Notepad .
F = imread(‘D:Imagekelompok.jpg);
[tinggi, lebar] = size(F);
sx = 45; % Penggesaran arah horisontal
sy = -35; % Penggesaran arah vertikal
F2 = double(F);
G = zeros(size(F2));
for y=1 : tinggi
for x=1 : lebar
xlama = x - sx;
ylama = y - sy;
if (xlama>=1) && (xlama<=lebar) && ...
(ylama>=1) && (ylama<=tinggi)
G(y, x) = F2(ylama, xlama);
else
G(y, x) = 0;
end
6
end
end
4. Buka kembali jendela Octave 3.6.3
5. Klik kanan pada bagian tepi atas Jendela Octave 3.6.3
6. Pilih edit lalu paste pada pilihan tersebut .
7. Ketikan G = uint8(G);Di Line selanjutnya dan figure(1); imshow(G);untuk menampilkan
hasil penggeseran Citra tersebut .
Gambar. Contoh penggeseran citra
2.2 Pemutaran citra
Suatu citra dapat diputar dengan sudut 𝜃 seiring arah jarum jam atau berlawanan arah jarum
jam dengan pusat putaran pada koordinat (0,0). Gambar 5.3 menjelaskan bentuk pemutaran
citra. Adapun rumus yang digunakan untuk memutar citra dengan sudut 𝜃 berlawanan arah
jam berupa:
𝑥 𝑏𝑎𝑟𝑢 = 𝑥 ∗ 𝐶𝑜𝑠( 𝜃) + 𝑦 ∗ 𝑆𝑖𝑛( 𝜃) (5.3)
𝑦 𝑏𝑎𝑟𝑢 = 𝑦 ∗ 𝐶𝑜𝑠( 𝜃) − 𝑥 ∗ 𝑆𝑖𝑛(𝜃) (5.4)
Turorialnya adalah sebagai berikut :
1. Buka Aplikasi Octave 3.6.3
2. Buka aplikasi Notepad pada windows ( Langkah ini bisa dilewati apabila ingin langsung
mengetikan sintax pada jendela Octave 3.6.3 )
3. Ketik Sintax berikut pada Notepad .
7
F = imread(‘D:Imagegedung.jpg’);
[tinggi, lebar] = size(F);
sudut = 10; % Sudut pemutaran
rad = pi * sudut/180;
cosa = cos(rad);
sina = sin(rad);
F2 = double(F);
for y=1 : tinggi
for x=1 : lebar
x2 = round(x * cosa + y * sina);
y2 = round(y * cosa - x * sina);
if (x2>=1) && (x2<=lebar) && ...
(y2>=1) && (y2<=tinggi)
G(y, x) = F2(y2, x2);
else
G(y, x) = 0;
end
end
end
4. Buka kembali jendela Octave 3.6.3
5. Klik kanan pada bagian tepi atas Jendela Octave 3.6.3
6. Pilih edit lalu paste pada pilihan tersebut .
7. Ketikan G = uint8(G);Di Line selanjutnya dan figure(1); imshow(G);untuk menampilkan
hasil penggeseran Citra tersebut .
Gambar. Contohpemutarancitra
8
2.3 Interpolasi piksel
Hasil pemutaran citra menggunakan rotasi.m menimbulkan efek bergerigi pada objek citra.
Hal itu diakibatkan oleh penggunaan nilai intensitas didasarkan pada piksel tetangga
terdekat, yang dilakukan melalui:
x2 = round(x * cosa + y * sina);
y2 = round(y * cosa - x * sina);
Penggunaan fungsi round (pembulatan ke atas) merupakan upaya untuk menggunakan
intensitas piksel terdekat. Alternatif lain dilakukan dengan menggunakan floor (pembulatan
ke bawah).
Turorialnya adalah sebagai berikut :
1. Buka Aplikasi Octave 3.6.3
2. Buka aplikasi Notepad pada windows ( Langkah ini bisa dilewati apabila ingin langsung
mengetikan sintax pada jendela Octave 3.6.3 )
3. Ketik Sintax berikut pada Notepad .
F = imread(‘D:Imagegedung.png');
[tinggi, lebar] = size(F);
sudut = 15; % Sudut pemutaran
rad = pi * sudut/180;
cosa = cos(rad);
sina = sin(rad);
F2 = double(F);
for y=1 : tinggi
for x=1 : lebar
x2 = x * cosa + y * sina;
y2 = y * cosa - x * sina;
if (x2>=1) && (x2<=lebar) && ...
(y2>=1) && (y2<=tinggi)
% Lakukan interpolasi bilinear
p = floor(y2);
q = floor(x2);
a = y2-p;
b = x2-q;
9
if (x2 == lebar) || (y2 == tinggi)
G(y, x) = F(floor(y2), floor(x2));
else
intensitas = (1-a)*((1-b)*F(p,q) + ...
b * F(p, q+1)) + ...
a *((1-b)* F(p+1, q) + ...
b * F(p+1, q+1));
G(y, x) = intensitas;
end
else
G(y, x) = 0;
end
end
end
4. Buka kembali jendela Octave 3.6.3
5. Klik kanan pada bagian tepi atas Jendela Octave 3.6.3
6. Pilih edit lalu paste pada pilihan tersebut .
7. Ketikan G = uint8(G);Di Line selanjutnya dan figure(1); imshow(G);untuk menampilkan
hasil penggeseran Citra tersebut .
2.4 Pemutaran citra berdasarkansebarang koordinat
Operasi pemutaran citra dapat dilakukan dengan pusat di mana saja; tidak harus dari (0, 0).
Turorialnya adalah sebagai berikut :
1. Buka Aplikasi Octave 3.6.3
2. Buka aplikasi Notepad pada windows ( Langkah ini bisa dilewati apabila ingin langsung
mengetikan sintax pada jendela Octave 3.6.3 )
3. Ketik Sintax berikut pada Notepad .
F = imread(‘D:Imagepintu.jpg);
[tinggi, lebar] = size(F);
10
sudut = 10; % Sudut pemutaran
rad = pi * sudut/180;
cosa = cos(rad);
sina = sin(rad);
F2 = double(F);
for y=1 : tinggi
for x=1 : lebar
x2 = round(x * cosa + y * sina);
y2 = round(y * cosa - x * sina);
if (x2>=1) && (x2<=lebar) && ...
(y2>=1) && (y2<=tinggi)
G(y, x) = F2(y2, x2);
else
G(y, x) = 0;
end
end
end
4. Buka kembali jendela Octave 3.6.3
5. Klik kanan pada bagian tepi atas Jendela Octave 3.6.3
6. Pilih edit lalu paste pada pilihan tersebut .
7. Ketikan G = uint8(G);Di Line selanjutnya dan figure(1); imshow(G);untuk menampilkan
hasil penggeseran Citra tersebut .
Gambar. Contoh Pemutaran citra berdasarkan sebarang koordinat
11
2.5 Pemutaran citra secara utuh
Pada seluruh contoh yang telah diberikan, ada bagian gambar yang hilang ketika pemutaran
dilaksanakan. Namun, adakalanya dihendaki agar pemutaran citra tidak membuat ada bagian
citra asli hilang. Untuk keperluan ini, ukuran citra hasil pemutaran harus diubah sesuai
dengan sudut putaran.
Turorialnya adalah sebagai berikut :
1. Buka Aplikasi Octave 3.6.3
2. Buka aplikasi Notepad pada windows ( Langkah ini bisa dilewati apabila ingin langsung
mengetikan sintax pada jendela Octave 3.6.3 )
3. Ketik Sintax berikut pada Notepad .
F = imread(‘D:Imagepintu.jpg);
[tinggi, lebar] = size(F);
sudut = 45; % Sudut pemutaran
rad = pi * sudut/180;
cosa = cos(rad);
sina = sin(rad);
x11 = 1; y11 = 1;
x12 = lebar; y12 = 1;
x13 = lebar; y13 = tinggi;
x14 = 1; y14 = tinggi;
m = floor(tinggi/2);
n = floor(lebar/2);
% Menentukan pojok
x21 = ((x11-n) * cosa + (y11-m) * sina + n);
y21 = ((y11-m) * cosa - (x11-n) * sina + m);
x22 = ((x12-n) * cosa + (y12-m) * sina + n);
y22 = ((y12-m) * cosa - (x12-n) * sina + m);
x23 = ((x13-n) * cosa + (y13-m) * sina + n);
12
y23 = ((y13-m) * cosa - (x13-n) * sina + m);
x24 = ((x14-n) * cosa + (y14-m) * sina + n);
y24 = ((y14-m) * cosa - (x14-n) * sina + m);
ymin = min([y21 y22 y23 y24]);
xmin = min([x21 x22 x23 x24]);
ymak = max([y21 y22 y23 y24]);
xmak = max([x21 x22 x23 x24]);
lebar_baru = xmak - xmin + 1;
tinggi_baru = ymak - ymin + 1;
tambahan_y = floor((tinggi_baru-tinggi)/2);
tambahan_x = floor((lebar_baru-lebar)/2);
F2=zeros(tinggi_baru, lebar_baru);
for y=1 : tinggi
for x=1 : lebar
F2(y+tambahan_y, x+tambahan_x) = F(y, x);
end
end
4. Buka kembali jendela Octave 3.6.3
5. Klik kanan pada bagian tepi atas Jendela Octave 3.6.3
6. Pilih edit lalu paste pada pilihan tersebut .
7. Ketikan G = uint8(G);Di Line selanjutnya dan figure(1); imshow(G);untuk menampilkan
hasil penggeseran Citra tersebut
13
.
2.6 Pembesarancitra
Suatu citra dapat diperbesar dengan membuat setiap piksel menjadi beberapa piksel.
Turorialnya adalah sebagai berikut :
1. Buka Aplikasi Octave 3.6.3
2. Buka aplikasi Notepad pada windows ( Langkah ini bisa dilewati apabila ingin langsung
mengetikan sintax pada jendela Octave 3.6.3 )
3. Ketik Sintax berikut pada Notepad .
function G = perbesar(berkas, sy,sx)
F = imread(berkas);
[tinggi, lebar] = size(F);
tinggi_baru = tinggi * sy;
lebar_baru = lebar * sx;
F2 = double(F);
for y=1 : tinggi_baru
y2 = ((y-1) / sy) + 1;
for x=1 : lebar_baru
x2 = ((x-1) / sx) + 1;
G(y, x) = F(floor(y2), floor(x2));
Gambar. Contoh Pemutaran utuh
14
end
end
4. Buka kembali jendela Octave 3.6.3
5. Klik kanan pada bagian tepi atas Jendela Octave 3.6.3
6. Pilih edit lalu paste pada pilihan tersebut .
7. Ketikan G = uint8(G);Di Line
8. Selanjutnya ketik Img = perbesar('D:Imagegerbang.jpg', 3, 3);
9. Dan imshow(G);untuk menampilkan hasil penggeseran Citra tersebut .
Gambar. Contoh Pembesaran Citra
15
2.7 Pengecilancitra
Bagaimana kalau ingin memperkecil citra? Secara prinsip, pengecilan citra berarti
mengurangi jumlah piksel. Algoritma yang digunakan untuk mewujudkan perbesar.m
maupun perbesar2.m dapat digunakan untuk keperluan ini dengan m berupa bilangan pecahan
seperti 1/2, ¼, 1/8, dan seterusnya.
Turorialnya adalah sebagai berikut :
1. Buka Aplikasi Octave 3.6.3
2. Buka aplikasi Notepad pada windows ( Langkah ini bisa dilewati apabila ingin langsung
mengetikan sintax pada jendela Octave 3.6.3 )
3. Ketik Sintax berikut pada Notepad .
function G = perbesar(berkas, sy,sx)
F = imread(berkas);
[tinggi, lebar] = size(F);
tinggi_baru = tinggi * sy;
lebar_baru = lebar * sx;
F2 = double(F);
for y=1 : tinggi_baru
y2 = ((y-1) / sy) + 1;
for x=1 : lebar_baru
x2 = ((x-1) / sx) + 1;
G(y, x) = F(floor(y2), floor(x2));
end
end
4. Buka kembali jendela Octave 3.6.3
5. Klik kanan pada bagian tepi atas Jendela Octave 3.6.3
6. Pilih edit lalu paste pada pilihan tersebut .
7. Ketikan G = uint8(G);Di Line
8. Selanjutnya ketik Img = perbesar2(‘D:Imagegerbang.jpg, 0.5, 0.5);
16
9. Dan imshow(G);untuk menampilkan hasil penggeseran Citra tersebut .
2.8 Pembesarancitra dengan skala vertikaldan horizontal
Fungsi perbesar dan perbesar2 dapat digunakan untuk melakukan perbesaran/pengecilan
dengan skala horizontal dan vertikal yang berbeda.
Turorialnya adalah sebagai berikut :
1. Buka Aplikasi Octave 3.6.3
2. Buka aplikasi Notepad pada windows ( Langkah ini bisa dilewati apabila ingin langsung
mengetikan sintax pada jendela Octave 3.6.3 )
Gambar. Contoh memperkecil citra
17
3. Ketik Sintax berikut pada Notepad .
function G = perbesar(berkas, sy,sx)
F = imread(berkas);
[tinggi, lebar] = size(F);
tinggi_baru = tinggi * sy;
lebar_baru = lebar * sx;
F2 = double(F);
for y=1 : tinggi_baru
y2 = ((y-1) / sy) + 1;
for x=1 : lebar_baru
x2 = ((x-1) / sx) + 1;
G(y, x) = F(floor(y2), floor(x2));
end
end
4. Buka kembali jendela Octave 3.6.3
5. Klik kanan pada bagian tepi atas Jendela Octave 3.6.3
6. Pilih edit lalu paste pada pilihan tersebut .
7. Selanjutnya ketik Img = perbesar(‘D:Imagesuasana.jpg, 0.5, 2.5);
8. Dan imshow(G);untuk menampilkan hasil penggeseran Citra tersebut .
Gambar. Contoh besar vertical dan Horisontal
18
2.9 Pencerminancitra
Pencerminan yang umum dilakukan berupa pencerminan secara vertikal dan pencerminan
secara horizontal.
Turorialnya adalah sebagai berikut :
1. Buka Aplikasi Octave 3.6.3
2. Buka aplikasi Notepad pada windows ( Langkah ini bisa dilewati apabila ingin langsung
mengetikan sintax pada jendela Octave 3.6.3 )
3. Ketik Sintax berikut pada Notepad .
function G = cerminh(F)
[tinggi, lebar] = size(F);
for y=1 : tinggi
for x=1 : lebar
x2 = lebar - x + 1;
y2 = y;
G(y, x) = F(y2, x2);
end
end
end
Atau
function H = cerminv(F)
[tinggi, lebar] = size(F);
for y=1 : tinggi
for x=1 : lebar
x2 = x;
y2 = tinggi - y + 1;
G(y, x) = F(y2, x2);
end
end
end
19
4. Buka kembali jendela Octave 3.6.3
5. Klik kanan pada bagian tepi atas Jendela Octave 3.6.3
6. Pilih edit lalu paste pada pilihan tersebut .
7. Ketikan G = uint8(G);Di Line
8. Ketik F = imread(‘D:Imagekelompok.jpg); untuk membaca gambar .
9. Ketik G = cerminh(F); imshow(G) atau G = cerminv(F); imshow(G) untuk menampilkan
gambar .
2.10 Transformasiaffine
Transformasi affine adalah transformasi linear yang menyertakan penskalaan, pemutaran,
penggeseran, dan shearing (pembengkokan). Transformasi affine dapat dinyatakan dengan
persamaan seperti berikut:
[
𝑥′
𝑦′
] = [
𝑎11 𝑎12
𝑎21 𝑎22
] [
𝑥
𝑦] + [
𝑡 𝑥
𝑡 𝑦
] (5.10)
Persamaan di atas dapat ditulis pula menjadi seperti berikut:
Gambar. Contoh pencerminan citra
20
[
𝑥′
𝑦′
1
] = [
𝑎11 𝑎12 𝑡 𝑥
𝑎21 𝑎22 𝑡 𝑦
0 0 1
] [
𝑥
𝑦
1
] (5.11)
Berdasarkan persamaan di atas, terlihat bahwa transformasi affine memiliki enam derajat
kebebasan: dua untuk translasi (tx dan ty) dan empat buah untuk rotasi, penskalaan, stretching,
dan shearing (a11, a12, a21, dan a22).
Turorialnya adalah sebagai berikut :
1. Buka Aplikasi Octave 3.6.3
2. Buka aplikasi Notepad pada windows ( Langkah ini bisa dilewati apabila ingin langsung
mengetikan sintax pada jendela Octave 3.6.3 )
3. Ketik Sintax berikut pada Notepad .
function G = taffine(F, a11, a12, a21, a22, tx, ty)
[tinggi, lebar] = size(F);
for y=1 : tinggi
for x=1 : lebar
x2 = a11 * x + a12 * y + tx;
y2 = a21 * x + a22 * y + ty;
if (x2>=1) && (x2<=lebar) && ...
(y2>=1) && (y2<=tinggi)
% Lakukan interpolasi bilinear
p = floor(y2);
q = floor(x2);
a = y2-p;
b = x2-q;
if (floor(x2)==lebar) || ...
(floor(y2) == tinggi)
G(y, x) = F(floor(y2), floor(x2));
else
intensitas = (1-a)*((1-b)*F(p,q) + ...
b * F(p, q+1)) + ...
a *((1-b)* F(p+1, q) + ...
b * F(p+1, q+1));
21
G(y, x) = intensitas;
end
else
G(y, x) = 0;
end
end
end
4. Buka kembali jendela Octave 3.6.3
5. Klik kanan pada bagian tepi atas Jendela Octave 3.6.3
6. Pilih edit lalu paste pada pilihan tersebut .
7. Ketikan G = uint8(G);Di Line
8. Pilih dan ketik sintak berikut sesuai dengan keinginan .
Contoh penggunaan fungsi taffine untuk melakukan pembengkokan:
F = imread(‘D:Imagekelompok.jpg);
G = taffine(F,1,0.15,0,1,0,0);
imshow(G)
Contoh berikut digunakan untuk memutar gambar:
rad = 10 * pi / 180;
G = taffine(F,cos(rad),sin(rad), …
-sin(rad),cos(rad),0,0);
imshow(G)
Contoh penggabungan rotasi dan translasi:
G = taffine(F,cos(rad),sin(rad),-sin(rad), …
cos(rad),-30,-50);
Contoh penggabungan rotasi, penskalaan, dan translasi:
22
G = taffine(F,2 * cos(rad),sin(rad),-sin(rad), …
2 * cos(rad),-30,-50);
Perlu diketahui, angka seperti 2 di depan cos(rad) menyatakan bahwa hasilnya adalah
kebalikannya, yaitu ½ kalinya.

Gambar. Contoh effek Taffine
23
2.11 Efek ripple
Efek ripple (riak) adalah aplikasi transformasi citra yang membuat gambar terlihat
bergelombang. Efek riakdapaat dibuat baik pada arah x maupun y. Transformasinya seperti
berikut:
𝑥 = 𝑥′
+ 𝑎 𝑥 𝑠𝑖𝑛
2𝜋𝑦′
𝑇𝑥
(5.12)
𝑦 = 𝑦′
+ 𝑎 𝑦 𝑠𝑖𝑛
2𝜋𝑥′
𝑇𝑦
(5.13)
Dalam hal ini, ax dan ay menyatakan amplitudoriak gelombang sinus, sedangkan Tx dan Ty
menyatakan periode gelombang sinus.
Turorialnya adalah sebagai berikut :
1. Buka Aplikasi Octave 3.6.3
2. Buka aplikasi Notepad pada windows ( Langkah ini bisa dilewati apabila ingin langsung
mengetikan sintax pada jendela Octave 3.6.3 )
3. Ketik Sintax berikut pada Notepad .
function G = ripple(F, ax, ay, tx, ty)
% RIPPLE Berfungsi untuk melakukan transformasi 'ripple'.
dimensi = size(F);
tinggi = dimensi(1);
lebar = dimensi(2);
for y=1 : tinggi
for x=1 : lebar
x2 = x + ax * sin(2 * pi * y / tx);
y2 = y + ay * sin(2 * pi * x / ty);
if (x2=1) && (x2<=lebar) && ...
(y2=1) && (y2<=tinggi)
% Lakukan interpolasi bilinear
p = floor(y2);
q = floor(x2);
a = y2-p;
b = x2-q;
24
if (floor(x2)==lebar) || ...
(floor(y2) == tinggi)
G(y, x) = F(floor(y2), floor(x2));
else
intensitas = (1-a)*((1-b)*F(p,q) + ...
b * F(p, q+1)) + ...
a *((1-b)* F(p+1, q) + ...
b * F(p+1, q+1));
G(y, x) = intensitas;
end
else
G(y, x) = 0;
end
end
end
4. Buka kembali jendela Octave 3.6.3
5. Klik kanan pada bagian tepi atas Jendela Octave 3.6.3
6. Pilih edit lalu paste pada pilihan tersebut .
7.Ketikan G = uint8(G); Di Line
8.Pilih dan ketik sintak
F = imread(‘D:imagegedung.png');
G = ripple(F,10,15,120, 250);
9. Ketik imshow(G)untuk menampilkan gambar .
2.12 Efek twirl
Transformasi twirl(olak atau puntiran) dilakukan dengan memutar citra berdasarkan titik
pusat citra, tetapi tidak bersifat linear.
Turorialnya adalah sebagai berikut :
1. Buka Aplikasi Octave 3.6.3
2. Buka aplikasi Notepad pada windows ( Langkah ini bisa dilewati apabila ingin langsung
mengetikan sintax pada jendela Octave 3.6.3 )
25
3. Ketik Sintax berikut pada Notepad .
function G = twirl(F)
% TWIRL Berfungsi untuk melakukan transformasi 'twirl'
dimensi = size(F);
tinggi = dimensi(1);
lebar = dimensi(2);
xc = round(lebar / 2);
yc = round(tinggi / 2);
alpha = 43 * pi / 180;
rmaks = 0.5 * sqrt(xc^2 + yc ^ 2); % 1/2 diagonal citra
for y=1 : tinggi
for x=1 : lebar
r = sqrt((x-xc)^2+(y-yc)^2);
beta = atan2(y-yc, x-xc) + …
alpha * (rmaks - r) / rmaks;
x2 = xc + r * cos(beta);
y2 = yc + r * sin(beta);
if (x2=1) && (x2<=lebar) && ...
(y2=1) && (y2<=tinggi)
% Lakukan interpolasi bilinear
p = floor(y2);
q = floor(x2);
a = y2-p;
b = x2-q;
if (floor(x2)==lebar) || ...
(floor(y2) == tinggi)
G(y, x) = F(floor(y2), floor(x2));
else
intensitas = (1-a)*((1-b)*F(p,q) + ...
b * F(p, q+1)) + ...
a *((1-b)* F(p+1, q) + ...
26
b * F(p+1, q+1));
G(y, x) = intensitas;
end
else
G(y, x) = 0;
end
end
end
4. Buka kembali jendela Octave 3.6.3
5. Klik kanan pada bagian tepi atas Jendela Octave 3.6.3
6. Pilih edit lalu paste pada pilihan tersebut .
7. Ketikan G = uint8(G);Di Line
8. Pilih dan ketik sintak
F = imread(‘D:Imagekotatua.png');
G = swirl(F);
9. Ketik imshow(G)untuk menampilkan gambar .
2.13 Transformasispherical
Transformasi spherical memberikan efek bulatan (bola), seperti melihat gambar
menggunakan lensa pembesar.
1. Buka Aplikasi Octave 3.6.3
2. Buka aplikasi Notepad pada windows ( Langkah ini bisa dilewati apabila ingin langsung
mengetikan sintax pada jendela Octave 3.6.3 )
3. Ketik Sintax berikut pada Notepad .
function G = spheri(F, rho)
% SPHERI Berfungsi untukmelakukan transformasi 'spherical'
dimensi = size(F);
tinggi = dimensi(1);
lebar = dimensi(2);
xc = round(lebar / 2);
27
yc = round(tinggi / 2);
rmaks = xc; % 1/2 lebar gambar
for y=1 : tinggi
for x=1 : lebar
r = sqrt((x-xc)^2+(y-yc)^2);
z = sqrt(rmaks^2-r^2);
bx = (1 - 1/rho) * asin((x-xc)/...
sqrt((x-xc)^2+z^2));
by = (1 - 1/rho) * asin((y-yc)/...
sqrt((y-yc)^2+z^2));
if r <= rmaks
x2 = x - z * tan(bx);
y2 = y - z * tan(by);
else
x2 = x;
y2 = y;
end
if (x2=1) && (x2<=lebar) && ...
(y2=1) && (y2<=tinggi)
% Lakukan interpolasi bilinear
p = floor(y2);
q = floor(x2);
a = y2-p;
b = x2-q;
if (floor(x2)==lebar) || ...
(floor(y2) == tinggi)
G(y, x) = F(floor(y2), floor(x2));
else
intensitas = (1-a)*((1-b)*F(p,q) + ...
b * F(p, q+1)) + ...
a *((1-b)* F(p+1, q) + ...
b * F(p+1, q+1));
G(y, x) = intensitas;
end
28
else
G(y, x) = 0;
end
end
end
4. Buka kembali jendela Octave 3.6.3
5. Klik kanan pada bagian tepi atas Jendela Octave 3.6.3
6. Pilih edit lalu paste pada pilihan tersebut .
7.Ketikan G = uint8(G);Di Line
8.Pilih dan ketik sintak
F = imread(‘D:Imagekotatua.png');
G = spheri(F, 1.8);
9. Ketik imshow(G)untuk menampilkan gambar .
2.14 Transformasibilinear
Transformasi bilinear mempunyai fungsi pemetaan seperti berikut:
𝑥′
= 𝑎1 𝑥 + 𝑎2 𝑦 + 𝑎3 𝑥𝑦 + 𝑎4 (5.27)
𝑦′
= 𝑏1 𝑥 + 𝑏2 𝑦 + 𝑏3 𝑥𝑦 + 𝑏4 (5.28)
Transformasi ini termasuk dalam transformasi nonlinear mengingat terdapat pencampuran xy.
1. Buka Aplikasi Octave 3.6.3
2. Buka aplikasi Notepad pada windows ( Langkah ini bisa dilewati apabila ingin langsung
mengetikan sintax pada jendela Octave 3.6.3 )
3. Ketik Sintax berikut pada Notepad .
function G = tbilin(F, a1, a2, a3, a4, b1, b2, b3, b4)
% Fungsi untuk melakukan transformasi bilinear
dimensi = size(F);
tinggi = dimensi(1);
29
lebar = dimensi(2);
for y=1 : tinggi
for x=1 : lebar
x2 = a1 * x + a2 * y + a3 * x * y + a4;
y2 = b1 * x + b2 * y + b3 * x * y + b4;
if (x2=1) && (x2<=lebar) && ...
(y2=1) && (y2<=tinggi)
% Lakukan interpolasi bilinear
p = floor(y2);
q = floor(x2);
a = y2-p;
b = x2-q;
if (floor(x2)==lebar) || ...
(floor(y2) == tinggi)
G(y, x) = F(floor(y2), floor(x2));
else
intensitas = (1-a)*((1-b)*F(p,q) + ...
b * F(p, q+1)) + ...
a *((1-b)* F(p+1, q) + ...
b * F(p+1, q+1));
G(y, x) = intensitas;
end
else
G(y, x) = 0;
end
end
end
4. Buka kembali jendela Octave 3.6.3
5. Klik kanan pada bagian tepi atas Jendela Octave 3.6.3
6. Pilih edit lalu paste pada pilihan tersebut .
7.Ketikan G = uint8(G);Di Line
8.Pilih dan ketik sintak
30
F = imread(‘D:Imagekotatua.png');
G = tbilin(F, 1.2,0.1,0.005,-45,0.1,1,0.005,-30);
9. Ketik imshow(G)untuk menampilkan gambar .
31
BAB III
PENUTUP
3.1. Kesimpulan
Operasi geometrik adalah operasi pada citra yang dilakukan secara geometris seperti
translasi, rotasi, dan penyekalaan. Pada operasi seperti ini terdapat pemetaan geometrik, yang
menyatakan hubungan pemetaan antara piksel pada citra masukan dan piksel pada citra
keluaran.
3.2. Kritikdan saran
Dalam penulisan makalah ini jauh dari kata sempurna. Oleh karena itu penulis mengharapkan
saran dan kritik yang membangun dari para pembaca untuk meningkatkan kualitas dari isi
makalah ini dikemudian hari.
32
DAFTAR PUSTAKA
Kadir, Abdul & Adhi Susanto. (2013). Teori dan Aplikasi Pengolahan Citra. ANDI. Yogyakarta.

More Related Content

What's hot

Pertemuan 4-metode-pencarian-dan-pelacakan
Pertemuan 4-metode-pencarian-dan-pelacakanPertemuan 4-metode-pencarian-dan-pelacakan
Pertemuan 4-metode-pencarian-dan-pelacakanwillyhayon
 
Contoh peyelesaian logika fuzzy
Contoh peyelesaian logika fuzzyContoh peyelesaian logika fuzzy
Contoh peyelesaian logika fuzzyZaenal Khayat
 
Perbedaan sistem linier dan non linier
Perbedaan sistem linier dan non linierPerbedaan sistem linier dan non linier
Perbedaan sistem linier dan non linierNiken_af
 
Pengolahan Citra Digital (Resume materi kuliah)
Pengolahan Citra Digital (Resume materi kuliah)Pengolahan Citra Digital (Resume materi kuliah)
Pengolahan Citra Digital (Resume materi kuliah)Abdullah Azzam Al Haqqoni
 
Pengolahan Citra 3 - Operasi-operasi Digital
Pengolahan Citra 3 - Operasi-operasi DigitalPengolahan Citra 3 - Operasi-operasi Digital
Pengolahan Citra 3 - Operasi-operasi DigitalNur Fadli Utomo
 
Makalah persamaan differensial
Makalah persamaan differensialMakalah persamaan differensial
Makalah persamaan differensialnafis_apis
 
Iterasi gauss seidel
Iterasi gauss seidelIterasi gauss seidel
Iterasi gauss seidelNur Fadzri
 
Makalah metode posisi palsu
Makalah metode posisi palsuMakalah metode posisi palsu
Makalah metode posisi palsuokti agung
 
Fungsi Dua Peubah ( Kalkulus 2 )
Fungsi Dua Peubah ( Kalkulus 2 )Fungsi Dua Peubah ( Kalkulus 2 )
Fungsi Dua Peubah ( Kalkulus 2 )Kelinci Coklat
 
Teori bahasa-dan-otomata
Teori bahasa-dan-otomataTeori bahasa-dan-otomata
Teori bahasa-dan-otomataBanta Cut
 
Materi 3 Finite State Automata
Materi 3   Finite State AutomataMateri 3   Finite State Automata
Materi 3 Finite State Automataahmad haidaroh
 
Penyelesaian sistem persamaan linear dengan metode iterasi gauss seidel
Penyelesaian sistem persamaan linear dengan metode iterasi gauss seidelPenyelesaian sistem persamaan linear dengan metode iterasi gauss seidel
Penyelesaian sistem persamaan linear dengan metode iterasi gauss seidelBAIDILAH Baidilah
 
Integral Lipat Dua ( Kalkulus 2 )
Integral Lipat Dua ( Kalkulus 2 )Integral Lipat Dua ( Kalkulus 2 )
Integral Lipat Dua ( Kalkulus 2 )Kelinci Coklat
 
Transformasi linier " Matematika Geodesi "
Transformasi linier " Matematika Geodesi "Transformasi linier " Matematika Geodesi "
Transformasi linier " Matematika Geodesi "Dedy Kurniawan
 
Algoritma untuk mengecek bilangan di antara 2 bilangan masukan
Algoritma untuk mengecek bilangan di antara 2 bilangan masukanAlgoritma untuk mengecek bilangan di antara 2 bilangan masukan
Algoritma untuk mengecek bilangan di antara 2 bilangan masukanputraindo
 

What's hot (20)

pewarnaan graf
pewarnaan grafpewarnaan graf
pewarnaan graf
 
Pertemuan 4-metode-pencarian-dan-pelacakan
Pertemuan 4-metode-pencarian-dan-pelacakanPertemuan 4-metode-pencarian-dan-pelacakan
Pertemuan 4-metode-pencarian-dan-pelacakan
 
Contoh peyelesaian logika fuzzy
Contoh peyelesaian logika fuzzyContoh peyelesaian logika fuzzy
Contoh peyelesaian logika fuzzy
 
Modul praktikum pengolahan citra digital
Modul praktikum pengolahan citra digitalModul praktikum pengolahan citra digital
Modul praktikum pengolahan citra digital
 
Perbedaan sistem linier dan non linier
Perbedaan sistem linier dan non linierPerbedaan sistem linier dan non linier
Perbedaan sistem linier dan non linier
 
Pengolahan Citra Digital (Resume materi kuliah)
Pengolahan Citra Digital (Resume materi kuliah)Pengolahan Citra Digital (Resume materi kuliah)
Pengolahan Citra Digital (Resume materi kuliah)
 
Pengolahan Citra 3 - Operasi-operasi Digital
Pengolahan Citra 3 - Operasi-operasi DigitalPengolahan Citra 3 - Operasi-operasi Digital
Pengolahan Citra 3 - Operasi-operasi Digital
 
Makalah persamaan differensial
Makalah persamaan differensialMakalah persamaan differensial
Makalah persamaan differensial
 
Turunan Fungsi Kompleks
Turunan Fungsi KompleksTurunan Fungsi Kompleks
Turunan Fungsi Kompleks
 
Iterasi gauss seidel
Iterasi gauss seidelIterasi gauss seidel
Iterasi gauss seidel
 
Jenis-Jenis Format Citra
Jenis-Jenis Format CitraJenis-Jenis Format Citra
Jenis-Jenis Format Citra
 
Makalah metode posisi palsu
Makalah metode posisi palsuMakalah metode posisi palsu
Makalah metode posisi palsu
 
Fungsi Dua Peubah ( Kalkulus 2 )
Fungsi Dua Peubah ( Kalkulus 2 )Fungsi Dua Peubah ( Kalkulus 2 )
Fungsi Dua Peubah ( Kalkulus 2 )
 
Teori bahasa-dan-otomata
Teori bahasa-dan-otomataTeori bahasa-dan-otomata
Teori bahasa-dan-otomata
 
notasi leibniz
notasi leibniznotasi leibniz
notasi leibniz
 
Materi 3 Finite State Automata
Materi 3   Finite State AutomataMateri 3   Finite State Automata
Materi 3 Finite State Automata
 
Penyelesaian sistem persamaan linear dengan metode iterasi gauss seidel
Penyelesaian sistem persamaan linear dengan metode iterasi gauss seidelPenyelesaian sistem persamaan linear dengan metode iterasi gauss seidel
Penyelesaian sistem persamaan linear dengan metode iterasi gauss seidel
 
Integral Lipat Dua ( Kalkulus 2 )
Integral Lipat Dua ( Kalkulus 2 )Integral Lipat Dua ( Kalkulus 2 )
Integral Lipat Dua ( Kalkulus 2 )
 
Transformasi linier " Matematika Geodesi "
Transformasi linier " Matematika Geodesi "Transformasi linier " Matematika Geodesi "
Transformasi linier " Matematika Geodesi "
 
Algoritma untuk mengecek bilangan di antara 2 bilangan masukan
Algoritma untuk mengecek bilangan di antara 2 bilangan masukanAlgoritma untuk mengecek bilangan di antara 2 bilangan masukan
Algoritma untuk mengecek bilangan di antara 2 bilangan masukan
 

Similar to Tutorial Operasi Geometrik

Tugas mandiri pengolahan citra digital
Tugas mandiri pengolahan citra digitalTugas mandiri pengolahan citra digital
Tugas mandiri pengolahan citra digitalanggysanggy
 
Pcd 5 - untuk spada
Pcd 5 - untuk spadaPcd 5 - untuk spada
Pcd 5 - untuk spadadedidarwis
 
229334287 laporan-praktikum-dhani
229334287 laporan-praktikum-dhani229334287 laporan-praktikum-dhani
229334287 laporan-praktikum-dhaniDex Dun
 
TM pengolahan citra digital
TM pengolahan citra digitalTM pengolahan citra digital
TM pengolahan citra digitalFiki Mardani
 
TM pengolahan citra digital
TM pengolahan citra digitalTM pengolahan citra digital
TM pengolahan citra digitalhegie13
 
Pengantar grafika1
Pengantar grafika1Pengantar grafika1
Pengantar grafika1Hanz Skyblue
 
Pcd topik1 - fundamental
Pcd   topik1 - fundamentalPcd   topik1 - fundamental
Pcd topik1 - fundamentalSyafrizal
 
Grafika 130631100018 ainun_najib_modul1
Grafika 130631100018 ainun_najib_modul1Grafika 130631100018 ainun_najib_modul1
Grafika 130631100018 ainun_najib_modul1Ainun Najib
 
Tutorial pengolahan citra menggunakan octave
Tutorial pengolahan citra menggunakan octaveTutorial pengolahan citra menggunakan octave
Tutorial pengolahan citra menggunakan octaveTumiarsimamora
 
Segmentasi Citra Wajah Menggunakan Metode Level Set
Segmentasi Citra Wajah  Menggunakan Metode Level SetSegmentasi Citra Wajah  Menggunakan Metode Level Set
Segmentasi Citra Wajah Menggunakan Metode Level SetHadi Santoso
 
ASLI_ 16_MODUL PRAKTIKUM PENGOLAHAN CITRA DIGITAL v2023.pdf
ASLI_ 16_MODUL PRAKTIKUM PENGOLAHAN CITRA DIGITAL v2023.pdfASLI_ 16_MODUL PRAKTIKUM PENGOLAHAN CITRA DIGITAL v2023.pdf
ASLI_ 16_MODUL PRAKTIKUM PENGOLAHAN CITRA DIGITAL v2023.pdfDikywahyu5
 
Laporan tugasgrafikakomputer merancangbangun3ddenganopeng-ldanvb6.docx
Laporan tugasgrafikakomputer merancangbangun3ddenganopeng-ldanvb6.docxLaporan tugasgrafikakomputer merancangbangun3ddenganopeng-ldanvb6.docx
Laporan tugasgrafikakomputer merancangbangun3ddenganopeng-ldanvb6.docxkomzud
 
Operasi_Ketetanggaan_Piksel.pptx
Operasi_Ketetanggaan_Piksel.pptxOperasi_Ketetanggaan_Piksel.pptx
Operasi_Ketetanggaan_Piksel.pptxRizal682472
 
Laporan Tugas Grafika Komputer bangun 2 dimensi Code Block
Laporan Tugas Grafika Komputer bangun 2 dimensi Code BlockLaporan Tugas Grafika Komputer bangun 2 dimensi Code Block
Laporan Tugas Grafika Komputer bangun 2 dimensi Code BlockIhsan Nurhalim
 

Similar to Tutorial Operasi Geometrik (20)

Tugas mandiri pengolahan citra digital
Tugas mandiri pengolahan citra digitalTugas mandiri pengolahan citra digital
Tugas mandiri pengolahan citra digital
 
Pcd 5 - untuk spada
Pcd 5 - untuk spadaPcd 5 - untuk spada
Pcd 5 - untuk spada
 
229334287 laporan-praktikum-dhani
229334287 laporan-praktikum-dhani229334287 laporan-praktikum-dhani
229334287 laporan-praktikum-dhani
 
TM pengolahan citra digital
TM pengolahan citra digitalTM pengolahan citra digital
TM pengolahan citra digital
 
Ayuk pcd
Ayuk pcdAyuk pcd
Ayuk pcd
 
TM pengolahan citra digital
TM pengolahan citra digitalTM pengolahan citra digital
TM pengolahan citra digital
 
Pengantar grafika1
Pengantar grafika1Pengantar grafika1
Pengantar grafika1
 
Pcd topik1 - fundamental
Pcd   topik1 - fundamentalPcd   topik1 - fundamental
Pcd topik1 - fundamental
 
Grafika 130631100018 ainun_najib_modul1
Grafika 130631100018 ainun_najib_modul1Grafika 130631100018 ainun_najib_modul1
Grafika 130631100018 ainun_najib_modul1
 
Tutorial pengolahan citra menggunakan octave
Tutorial pengolahan citra menggunakan octaveTutorial pengolahan citra menggunakan octave
Tutorial pengolahan citra menggunakan octave
 
Segmentasi Citra Wajah Menggunakan Metode Level Set
Segmentasi Citra Wajah  Menggunakan Metode Level SetSegmentasi Citra Wajah  Menggunakan Metode Level Set
Segmentasi Citra Wajah Menggunakan Metode Level Set
 
Laporan koreksi geometri citra satelit landsat
Laporan koreksi geometri citra satelit landsatLaporan koreksi geometri citra satelit landsat
Laporan koreksi geometri citra satelit landsat
 
ASLI_ 16_MODUL PRAKTIKUM PENGOLAHAN CITRA DIGITAL v2023.pdf
ASLI_ 16_MODUL PRAKTIKUM PENGOLAHAN CITRA DIGITAL v2023.pdfASLI_ 16_MODUL PRAKTIKUM PENGOLAHAN CITRA DIGITAL v2023.pdf
ASLI_ 16_MODUL PRAKTIKUM PENGOLAHAN CITRA DIGITAL v2023.pdf
 
Laporan tugasgrafikakomputer merancangbangun3ddenganopeng-ldanvb6.docx
Laporan tugasgrafikakomputer merancangbangun3ddenganopeng-ldanvb6.docxLaporan tugasgrafikakomputer merancangbangun3ddenganopeng-ldanvb6.docx
Laporan tugasgrafikakomputer merancangbangun3ddenganopeng-ldanvb6.docx
 
Tugas Proyek Matematika
Tugas Proyek MatematikaTugas Proyek Matematika
Tugas Proyek Matematika
 
Makalah allin
Makalah allinMakalah allin
Makalah allin
 
Pcd 4
Pcd 4Pcd 4
Pcd 4
 
LN s04-machine vision-s2
LN s04-machine vision-s2LN s04-machine vision-s2
LN s04-machine vision-s2
 
Operasi_Ketetanggaan_Piksel.pptx
Operasi_Ketetanggaan_Piksel.pptxOperasi_Ketetanggaan_Piksel.pptx
Operasi_Ketetanggaan_Piksel.pptx
 
Laporan Tugas Grafika Komputer bangun 2 dimensi Code Block
Laporan Tugas Grafika Komputer bangun 2 dimensi Code BlockLaporan Tugas Grafika Komputer bangun 2 dimensi Code Block
Laporan Tugas Grafika Komputer bangun 2 dimensi Code Block
 

Recently uploaded

MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAAndiCoc
 
Keterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTKeterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTIndraAdm
 
contoh penulisan nomor skl pada surat kelulusan .pptx
contoh penulisan nomor skl pada surat kelulusan  .pptxcontoh penulisan nomor skl pada surat kelulusan  .pptx
contoh penulisan nomor skl pada surat kelulusan .pptxHR MUSLIM
 
Dasar-Dasar Sakramen dalam gereja katolik
Dasar-Dasar Sakramen dalam gereja katolikDasar-Dasar Sakramen dalam gereja katolik
Dasar-Dasar Sakramen dalam gereja katolikThomasAntonWibowo
 
PEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptxPEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptxsukmakarim1998
 
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptxPendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptxdeskaputriani1
 
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfREFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfirwanabidin08
 
aksi nyata - aksi nyata refleksi diri dalam menyikapi murid.pdf
aksi nyata - aksi nyata refleksi diri dalam menyikapi murid.pdfaksi nyata - aksi nyata refleksi diri dalam menyikapi murid.pdf
aksi nyata - aksi nyata refleksi diri dalam menyikapi murid.pdfwalidumar
 
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi SelatanSosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatanssuser963292
 
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)MustahalMustahal
 
MAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdf
MAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdfMAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdf
MAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdfChananMfd
 
Hiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaa
HiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaaHiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaa
Hiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaafarmasipejatentimur
 
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptx
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptxPPT AKUNTANSI KEUANGAN MENENGAH DUA.pptx
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptxssuser8905b3
 
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...asepsaefudin2009
 
Perumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxPerumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxadimulianta1
 
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdf
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdfBab 6 Kreatif Mengungap Rasa dan Realitas.pdf
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdfbibizaenab
 
Paparan Refleksi Lokakarya program sekolah penggerak.pptx
Paparan Refleksi Lokakarya program sekolah penggerak.pptxPaparan Refleksi Lokakarya program sekolah penggerak.pptx
Paparan Refleksi Lokakarya program sekolah penggerak.pptxIgitNuryana13
 
CAPACITY BUILDING Materi Saat di Lokakarya 7
CAPACITY BUILDING Materi Saat di Lokakarya 7CAPACITY BUILDING Materi Saat di Lokakarya 7
CAPACITY BUILDING Materi Saat di Lokakarya 7IwanSumantri7
 
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfContoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfCandraMegawati
 
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptxPPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptxdpp11tya
 

Recently uploaded (20)

MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
 
Keterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTKeterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UT
 
contoh penulisan nomor skl pada surat kelulusan .pptx
contoh penulisan nomor skl pada surat kelulusan  .pptxcontoh penulisan nomor skl pada surat kelulusan  .pptx
contoh penulisan nomor skl pada surat kelulusan .pptx
 
Dasar-Dasar Sakramen dalam gereja katolik
Dasar-Dasar Sakramen dalam gereja katolikDasar-Dasar Sakramen dalam gereja katolik
Dasar-Dasar Sakramen dalam gereja katolik
 
PEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptxPEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptx
 
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptxPendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
 
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfREFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
 
aksi nyata - aksi nyata refleksi diri dalam menyikapi murid.pdf
aksi nyata - aksi nyata refleksi diri dalam menyikapi murid.pdfaksi nyata - aksi nyata refleksi diri dalam menyikapi murid.pdf
aksi nyata - aksi nyata refleksi diri dalam menyikapi murid.pdf
 
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi SelatanSosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
 
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
 
MAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdf
MAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdfMAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdf
MAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdf
 
Hiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaa
HiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaaHiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaa
Hiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptx
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptxPPT AKUNTANSI KEUANGAN MENENGAH DUA.pptx
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptx
 
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...
 
Perumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxPerumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptx
 
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdf
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdfBab 6 Kreatif Mengungap Rasa dan Realitas.pdf
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdf
 
Paparan Refleksi Lokakarya program sekolah penggerak.pptx
Paparan Refleksi Lokakarya program sekolah penggerak.pptxPaparan Refleksi Lokakarya program sekolah penggerak.pptx
Paparan Refleksi Lokakarya program sekolah penggerak.pptx
 
CAPACITY BUILDING Materi Saat di Lokakarya 7
CAPACITY BUILDING Materi Saat di Lokakarya 7CAPACITY BUILDING Materi Saat di Lokakarya 7
CAPACITY BUILDING Materi Saat di Lokakarya 7
 
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfContoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
 
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptxPPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
 

Tutorial Operasi Geometrik

  • 1. 1 TUGAS MANDIRI Tutorial Operasi Geometrik Mata Kuliah: Pengolahan Citra Digital l 130210097 : Rina Permata Sari Kode Kelas : 142-T128P-M5 Dosen : Cosmas Eko Suharyanto PROGRAM STUDI TEKNIK INFORMATIKA UNIVERSITAS PUTERA BATAM 2015
  • 2. 2 KATA PENGANTAR ِِ‫م‬ْ‫ي‬ ِ‫ح‬ ْ‫الر‬ ِ‫من‬ْ‫ح‬ ‫ه‬‫الر‬ ِ ‫ه‬‫اَّلل‬ ِ‫م‬ْ‫س‬ِ‫ب‬ Assalamu’alaikum Wr.Wb Puji syukur kami panjatkan ke hadirat Allah Subhanahu wata’ala, karena berkat rahmat-Nya kami dapat menyelesaikan makalah yang berjudul “Tutorial Operasi Geometrik. Makalah ini diajukan guna memenuhi tugas mata kuliah Pengolahan Citra Digital. Kami mengucapkan terima kasih kepada semua pihak yang telah membantu sehingga makalah ini dapat diselesaikan sesuai dengan waktunya. Makalah ini masih jauh dari sempurna. Oleh karena itu kami mengharapkan kritik dan saran yang bersifat membangun demi kesempurnaan makalah ini. Semoga makalah ini memberikan informasi bagi masyarakat dan bermanfaat untuk pengembangan ilmu pengetahuan bagi kita semua. Batam, Juni 2015 Penulis Kelompok
  • 3. 3 DAFTAR ISI KATA PENGANTAR........................................................................................................................ 2 DAFTAR ISI................................................................................................................................ 3 BAB I..........................................................................................................................................4 PENDAHULUAN........................................................................................................................ 4 1.1 Penagantar Pengolahan Citra...................................................................................................4 BAB II.........................................................................................................................................5 PEMBAHASAN .......................................................................................................................... 5 2.1 Penggeseran citra .................................................................................................................... 5 2.2 Pemutaran citra....................................................................................................................... 6 2.3 Interpolasi piksel..................................................................................................................... 8 2.4 Pemutaran citra berdasarkan sebarang koordinat .......................................................................9 2.5 Pemutaran citra secara utuh ................................................................................................... 11 2.6 Pembesaran citra................................................................................................................... 13 2.7 Pengecilan citra..................................................................................................................... 15 2.8 Pembesaran citra dengan skala vertikal dan horizontal............................................................. 16 2.9 Pencerminan citra.................................................................................................................. 18 2.10 Transformasi affine ............................................................................................................. 19 2.11 Efek ripple .......................................................................................................................... 23 2.12 Efek twirl............................................................................................................................ 24 2.13 Transformasi spherical......................................................................................................... 26 2.14 Transformasi bilinear........................................................................................................... 28 BAB III........................................................................................................................................ 31 PENUTUP ................................................................................................................................... 31 3.1. Kesimpulan.......................................................................................................................... 31 3.2. Kritik dan saran.................................................................................................................... 31 DAFTAR PUSTAKA....................................................................................................................... 32
  • 4. 4 BAB I PENDAHULUAN 1.1 PengantarPengolahanCitra Pengolahan citra adalah salah satu cabang dari ilmu informatika. Pengolahan citra berkutat pada usaha untuk melakukan transformasi suatu citra/gambar menjadi citra lain dengan menggunakan teknik tertentu. Pengolahan citra merupakan bidang yang bersifat multidisiplin, yang terdiri dari banyak aspek, antara lain fisika, elektronika, matematika, seni dan teknologi komputer. Pengolahan citra (image processing) memiliki hubungan yang sangat erat dengan disiplin ilmu yang lain. jika sebuah ilmu disiplin ilmu dinyatakan dengan bentuk proses suatu input menjadi output, maka pengolahan citra memiliki input berupa citra serta output juga berupa citra. Secara umum, istilah pengolahan citra digital menyatakan “pemrosesan gambar berdimensi- dua melalui komputer digital” (Jain, 1989). Menurut Efford (2000), pengolahan citra adalah istilah umum untuk berbagai teknik yang k eberadaannya untuk memanipulasi dan memodifikasi citra dengan berbagai cara. Foto adalah contoh gambar berdimensi dua yang bisa diolah dengan mudah.Setiap foto dalam bentuk citra digital (misalnya berasal dari kamera digital) dapat diolah melalui perangkat-lunak tertentu. Operasi geometrik adalah operasi pada citra yang dilakukan secara geometris seperti translasi, rotasi, dan penyekalaan. Pada operasi seperti ini terdapat pemetaan geometrik, yang menyatakan hubungan pemetaan antara piksel pada citra masukan dan piksel pada citra keluaran. Secara prinsip, terdapat dua cara yang dapat dipakai. Pertama yaitu pemetaan ke depan dan kedua berupa pemetaan ke belakang.
  • 5. 5 BAB II PEMBAHASAN 2.1 Penggeserancitra Penggeseran citra ke arah mendatar atau vertikal dapat dilaksanakan dengan mudah. Rumus yang digunakan sebagai berikut: 𝑥 𝑏𝑎𝑟𝑢 = 𝑥 𝑙𝑎𝑚𝑎 + 𝑠 𝑥 (5.1) 𝑦 𝑏𝑎𝑟𝑢 = 𝑦𝑙𝑎𝑚𝑎 + 𝑠 𝑦 (5.2) Untuk penyederhanaan pembahasan, sx dan sy dianggap bertipe bilangan bulat. Turorialnya adalah sebagai berikut : 1. Buka Aplikasi Octave 3.6.3 2. Buka aplikasi Notepad pada windows ( Langkah ini bisa dilewati apabila ingin langsung mengetikan sintax pada jendela Octave 3.6.3 ) 3. Ketik Sintax berikut pada Notepad . F = imread(‘D:Imagekelompok.jpg); [tinggi, lebar] = size(F); sx = 45; % Penggesaran arah horisontal sy = -35; % Penggesaran arah vertikal F2 = double(F); G = zeros(size(F2)); for y=1 : tinggi for x=1 : lebar xlama = x - sx; ylama = y - sy; if (xlama>=1) && (xlama<=lebar) && ... (ylama>=1) && (ylama<=tinggi) G(y, x) = F2(ylama, xlama); else G(y, x) = 0; end
  • 6. 6 end end 4. Buka kembali jendela Octave 3.6.3 5. Klik kanan pada bagian tepi atas Jendela Octave 3.6.3 6. Pilih edit lalu paste pada pilihan tersebut . 7. Ketikan G = uint8(G);Di Line selanjutnya dan figure(1); imshow(G);untuk menampilkan hasil penggeseran Citra tersebut . Gambar. Contoh penggeseran citra 2.2 Pemutaran citra Suatu citra dapat diputar dengan sudut 𝜃 seiring arah jarum jam atau berlawanan arah jarum jam dengan pusat putaran pada koordinat (0,0). Gambar 5.3 menjelaskan bentuk pemutaran citra. Adapun rumus yang digunakan untuk memutar citra dengan sudut 𝜃 berlawanan arah jam berupa: 𝑥 𝑏𝑎𝑟𝑢 = 𝑥 ∗ 𝐶𝑜𝑠( 𝜃) + 𝑦 ∗ 𝑆𝑖𝑛( 𝜃) (5.3) 𝑦 𝑏𝑎𝑟𝑢 = 𝑦 ∗ 𝐶𝑜𝑠( 𝜃) − 𝑥 ∗ 𝑆𝑖𝑛(𝜃) (5.4) Turorialnya adalah sebagai berikut : 1. Buka Aplikasi Octave 3.6.3 2. Buka aplikasi Notepad pada windows ( Langkah ini bisa dilewati apabila ingin langsung mengetikan sintax pada jendela Octave 3.6.3 ) 3. Ketik Sintax berikut pada Notepad .
  • 7. 7 F = imread(‘D:Imagegedung.jpg’); [tinggi, lebar] = size(F); sudut = 10; % Sudut pemutaran rad = pi * sudut/180; cosa = cos(rad); sina = sin(rad); F2 = double(F); for y=1 : tinggi for x=1 : lebar x2 = round(x * cosa + y * sina); y2 = round(y * cosa - x * sina); if (x2>=1) && (x2<=lebar) && ... (y2>=1) && (y2<=tinggi) G(y, x) = F2(y2, x2); else G(y, x) = 0; end end end 4. Buka kembali jendela Octave 3.6.3 5. Klik kanan pada bagian tepi atas Jendela Octave 3.6.3 6. Pilih edit lalu paste pada pilihan tersebut . 7. Ketikan G = uint8(G);Di Line selanjutnya dan figure(1); imshow(G);untuk menampilkan hasil penggeseran Citra tersebut . Gambar. Contohpemutarancitra
  • 8. 8 2.3 Interpolasi piksel Hasil pemutaran citra menggunakan rotasi.m menimbulkan efek bergerigi pada objek citra. Hal itu diakibatkan oleh penggunaan nilai intensitas didasarkan pada piksel tetangga terdekat, yang dilakukan melalui: x2 = round(x * cosa + y * sina); y2 = round(y * cosa - x * sina); Penggunaan fungsi round (pembulatan ke atas) merupakan upaya untuk menggunakan intensitas piksel terdekat. Alternatif lain dilakukan dengan menggunakan floor (pembulatan ke bawah). Turorialnya adalah sebagai berikut : 1. Buka Aplikasi Octave 3.6.3 2. Buka aplikasi Notepad pada windows ( Langkah ini bisa dilewati apabila ingin langsung mengetikan sintax pada jendela Octave 3.6.3 ) 3. Ketik Sintax berikut pada Notepad . F = imread(‘D:Imagegedung.png'); [tinggi, lebar] = size(F); sudut = 15; % Sudut pemutaran rad = pi * sudut/180; cosa = cos(rad); sina = sin(rad); F2 = double(F); for y=1 : tinggi for x=1 : lebar x2 = x * cosa + y * sina; y2 = y * cosa - x * sina; if (x2>=1) && (x2<=lebar) && ... (y2>=1) && (y2<=tinggi) % Lakukan interpolasi bilinear p = floor(y2); q = floor(x2); a = y2-p; b = x2-q;
  • 9. 9 if (x2 == lebar) || (y2 == tinggi) G(y, x) = F(floor(y2), floor(x2)); else intensitas = (1-a)*((1-b)*F(p,q) + ... b * F(p, q+1)) + ... a *((1-b)* F(p+1, q) + ... b * F(p+1, q+1)); G(y, x) = intensitas; end else G(y, x) = 0; end end end 4. Buka kembali jendela Octave 3.6.3 5. Klik kanan pada bagian tepi atas Jendela Octave 3.6.3 6. Pilih edit lalu paste pada pilihan tersebut . 7. Ketikan G = uint8(G);Di Line selanjutnya dan figure(1); imshow(G);untuk menampilkan hasil penggeseran Citra tersebut . 2.4 Pemutaran citra berdasarkansebarang koordinat Operasi pemutaran citra dapat dilakukan dengan pusat di mana saja; tidak harus dari (0, 0). Turorialnya adalah sebagai berikut : 1. Buka Aplikasi Octave 3.6.3 2. Buka aplikasi Notepad pada windows ( Langkah ini bisa dilewati apabila ingin langsung mengetikan sintax pada jendela Octave 3.6.3 ) 3. Ketik Sintax berikut pada Notepad . F = imread(‘D:Imagepintu.jpg); [tinggi, lebar] = size(F);
  • 10. 10 sudut = 10; % Sudut pemutaran rad = pi * sudut/180; cosa = cos(rad); sina = sin(rad); F2 = double(F); for y=1 : tinggi for x=1 : lebar x2 = round(x * cosa + y * sina); y2 = round(y * cosa - x * sina); if (x2>=1) && (x2<=lebar) && ... (y2>=1) && (y2<=tinggi) G(y, x) = F2(y2, x2); else G(y, x) = 0; end end end 4. Buka kembali jendela Octave 3.6.3 5. Klik kanan pada bagian tepi atas Jendela Octave 3.6.3 6. Pilih edit lalu paste pada pilihan tersebut . 7. Ketikan G = uint8(G);Di Line selanjutnya dan figure(1); imshow(G);untuk menampilkan hasil penggeseran Citra tersebut . Gambar. Contoh Pemutaran citra berdasarkan sebarang koordinat
  • 11. 11 2.5 Pemutaran citra secara utuh Pada seluruh contoh yang telah diberikan, ada bagian gambar yang hilang ketika pemutaran dilaksanakan. Namun, adakalanya dihendaki agar pemutaran citra tidak membuat ada bagian citra asli hilang. Untuk keperluan ini, ukuran citra hasil pemutaran harus diubah sesuai dengan sudut putaran. Turorialnya adalah sebagai berikut : 1. Buka Aplikasi Octave 3.6.3 2. Buka aplikasi Notepad pada windows ( Langkah ini bisa dilewati apabila ingin langsung mengetikan sintax pada jendela Octave 3.6.3 ) 3. Ketik Sintax berikut pada Notepad . F = imread(‘D:Imagepintu.jpg); [tinggi, lebar] = size(F); sudut = 45; % Sudut pemutaran rad = pi * sudut/180; cosa = cos(rad); sina = sin(rad); x11 = 1; y11 = 1; x12 = lebar; y12 = 1; x13 = lebar; y13 = tinggi; x14 = 1; y14 = tinggi; m = floor(tinggi/2); n = floor(lebar/2); % Menentukan pojok x21 = ((x11-n) * cosa + (y11-m) * sina + n); y21 = ((y11-m) * cosa - (x11-n) * sina + m); x22 = ((x12-n) * cosa + (y12-m) * sina + n); y22 = ((y12-m) * cosa - (x12-n) * sina + m); x23 = ((x13-n) * cosa + (y13-m) * sina + n);
  • 12. 12 y23 = ((y13-m) * cosa - (x13-n) * sina + m); x24 = ((x14-n) * cosa + (y14-m) * sina + n); y24 = ((y14-m) * cosa - (x14-n) * sina + m); ymin = min([y21 y22 y23 y24]); xmin = min([x21 x22 x23 x24]); ymak = max([y21 y22 y23 y24]); xmak = max([x21 x22 x23 x24]); lebar_baru = xmak - xmin + 1; tinggi_baru = ymak - ymin + 1; tambahan_y = floor((tinggi_baru-tinggi)/2); tambahan_x = floor((lebar_baru-lebar)/2); F2=zeros(tinggi_baru, lebar_baru); for y=1 : tinggi for x=1 : lebar F2(y+tambahan_y, x+tambahan_x) = F(y, x); end end 4. Buka kembali jendela Octave 3.6.3 5. Klik kanan pada bagian tepi atas Jendela Octave 3.6.3 6. Pilih edit lalu paste pada pilihan tersebut . 7. Ketikan G = uint8(G);Di Line selanjutnya dan figure(1); imshow(G);untuk menampilkan hasil penggeseran Citra tersebut
  • 13. 13 . 2.6 Pembesarancitra Suatu citra dapat diperbesar dengan membuat setiap piksel menjadi beberapa piksel. Turorialnya adalah sebagai berikut : 1. Buka Aplikasi Octave 3.6.3 2. Buka aplikasi Notepad pada windows ( Langkah ini bisa dilewati apabila ingin langsung mengetikan sintax pada jendela Octave 3.6.3 ) 3. Ketik Sintax berikut pada Notepad . function G = perbesar(berkas, sy,sx) F = imread(berkas); [tinggi, lebar] = size(F); tinggi_baru = tinggi * sy; lebar_baru = lebar * sx; F2 = double(F); for y=1 : tinggi_baru y2 = ((y-1) / sy) + 1; for x=1 : lebar_baru x2 = ((x-1) / sx) + 1; G(y, x) = F(floor(y2), floor(x2)); Gambar. Contoh Pemutaran utuh
  • 14. 14 end end 4. Buka kembali jendela Octave 3.6.3 5. Klik kanan pada bagian tepi atas Jendela Octave 3.6.3 6. Pilih edit lalu paste pada pilihan tersebut . 7. Ketikan G = uint8(G);Di Line 8. Selanjutnya ketik Img = perbesar('D:Imagegerbang.jpg', 3, 3); 9. Dan imshow(G);untuk menampilkan hasil penggeseran Citra tersebut . Gambar. Contoh Pembesaran Citra
  • 15. 15 2.7 Pengecilancitra Bagaimana kalau ingin memperkecil citra? Secara prinsip, pengecilan citra berarti mengurangi jumlah piksel. Algoritma yang digunakan untuk mewujudkan perbesar.m maupun perbesar2.m dapat digunakan untuk keperluan ini dengan m berupa bilangan pecahan seperti 1/2, ¼, 1/8, dan seterusnya. Turorialnya adalah sebagai berikut : 1. Buka Aplikasi Octave 3.6.3 2. Buka aplikasi Notepad pada windows ( Langkah ini bisa dilewati apabila ingin langsung mengetikan sintax pada jendela Octave 3.6.3 ) 3. Ketik Sintax berikut pada Notepad . function G = perbesar(berkas, sy,sx) F = imread(berkas); [tinggi, lebar] = size(F); tinggi_baru = tinggi * sy; lebar_baru = lebar * sx; F2 = double(F); for y=1 : tinggi_baru y2 = ((y-1) / sy) + 1; for x=1 : lebar_baru x2 = ((x-1) / sx) + 1; G(y, x) = F(floor(y2), floor(x2)); end end 4. Buka kembali jendela Octave 3.6.3 5. Klik kanan pada bagian tepi atas Jendela Octave 3.6.3 6. Pilih edit lalu paste pada pilihan tersebut . 7. Ketikan G = uint8(G);Di Line 8. Selanjutnya ketik Img = perbesar2(‘D:Imagegerbang.jpg, 0.5, 0.5);
  • 16. 16 9. Dan imshow(G);untuk menampilkan hasil penggeseran Citra tersebut . 2.8 Pembesarancitra dengan skala vertikaldan horizontal Fungsi perbesar dan perbesar2 dapat digunakan untuk melakukan perbesaran/pengecilan dengan skala horizontal dan vertikal yang berbeda. Turorialnya adalah sebagai berikut : 1. Buka Aplikasi Octave 3.6.3 2. Buka aplikasi Notepad pada windows ( Langkah ini bisa dilewati apabila ingin langsung mengetikan sintax pada jendela Octave 3.6.3 ) Gambar. Contoh memperkecil citra
  • 17. 17 3. Ketik Sintax berikut pada Notepad . function G = perbesar(berkas, sy,sx) F = imread(berkas); [tinggi, lebar] = size(F); tinggi_baru = tinggi * sy; lebar_baru = lebar * sx; F2 = double(F); for y=1 : tinggi_baru y2 = ((y-1) / sy) + 1; for x=1 : lebar_baru x2 = ((x-1) / sx) + 1; G(y, x) = F(floor(y2), floor(x2)); end end 4. Buka kembali jendela Octave 3.6.3 5. Klik kanan pada bagian tepi atas Jendela Octave 3.6.3 6. Pilih edit lalu paste pada pilihan tersebut . 7. Selanjutnya ketik Img = perbesar(‘D:Imagesuasana.jpg, 0.5, 2.5); 8. Dan imshow(G);untuk menampilkan hasil penggeseran Citra tersebut . Gambar. Contoh besar vertical dan Horisontal
  • 18. 18 2.9 Pencerminancitra Pencerminan yang umum dilakukan berupa pencerminan secara vertikal dan pencerminan secara horizontal. Turorialnya adalah sebagai berikut : 1. Buka Aplikasi Octave 3.6.3 2. Buka aplikasi Notepad pada windows ( Langkah ini bisa dilewati apabila ingin langsung mengetikan sintax pada jendela Octave 3.6.3 ) 3. Ketik Sintax berikut pada Notepad . function G = cerminh(F) [tinggi, lebar] = size(F); for y=1 : tinggi for x=1 : lebar x2 = lebar - x + 1; y2 = y; G(y, x) = F(y2, x2); end end end Atau function H = cerminv(F) [tinggi, lebar] = size(F); for y=1 : tinggi for x=1 : lebar x2 = x; y2 = tinggi - y + 1; G(y, x) = F(y2, x2); end end end
  • 19. 19 4. Buka kembali jendela Octave 3.6.3 5. Klik kanan pada bagian tepi atas Jendela Octave 3.6.3 6. Pilih edit lalu paste pada pilihan tersebut . 7. Ketikan G = uint8(G);Di Line 8. Ketik F = imread(‘D:Imagekelompok.jpg); untuk membaca gambar . 9. Ketik G = cerminh(F); imshow(G) atau G = cerminv(F); imshow(G) untuk menampilkan gambar . 2.10 Transformasiaffine Transformasi affine adalah transformasi linear yang menyertakan penskalaan, pemutaran, penggeseran, dan shearing (pembengkokan). Transformasi affine dapat dinyatakan dengan persamaan seperti berikut: [ 𝑥′ 𝑦′ ] = [ 𝑎11 𝑎12 𝑎21 𝑎22 ] [ 𝑥 𝑦] + [ 𝑡 𝑥 𝑡 𝑦 ] (5.10) Persamaan di atas dapat ditulis pula menjadi seperti berikut: Gambar. Contoh pencerminan citra
  • 20. 20 [ 𝑥′ 𝑦′ 1 ] = [ 𝑎11 𝑎12 𝑡 𝑥 𝑎21 𝑎22 𝑡 𝑦 0 0 1 ] [ 𝑥 𝑦 1 ] (5.11) Berdasarkan persamaan di atas, terlihat bahwa transformasi affine memiliki enam derajat kebebasan: dua untuk translasi (tx dan ty) dan empat buah untuk rotasi, penskalaan, stretching, dan shearing (a11, a12, a21, dan a22). Turorialnya adalah sebagai berikut : 1. Buka Aplikasi Octave 3.6.3 2. Buka aplikasi Notepad pada windows ( Langkah ini bisa dilewati apabila ingin langsung mengetikan sintax pada jendela Octave 3.6.3 ) 3. Ketik Sintax berikut pada Notepad . function G = taffine(F, a11, a12, a21, a22, tx, ty) [tinggi, lebar] = size(F); for y=1 : tinggi for x=1 : lebar x2 = a11 * x + a12 * y + tx; y2 = a21 * x + a22 * y + ty; if (x2>=1) && (x2<=lebar) && ... (y2>=1) && (y2<=tinggi) % Lakukan interpolasi bilinear p = floor(y2); q = floor(x2); a = y2-p; b = x2-q; if (floor(x2)==lebar) || ... (floor(y2) == tinggi) G(y, x) = F(floor(y2), floor(x2)); else intensitas = (1-a)*((1-b)*F(p,q) + ... b * F(p, q+1)) + ... a *((1-b)* F(p+1, q) + ... b * F(p+1, q+1));
  • 21. 21 G(y, x) = intensitas; end else G(y, x) = 0; end end end 4. Buka kembali jendela Octave 3.6.3 5. Klik kanan pada bagian tepi atas Jendela Octave 3.6.3 6. Pilih edit lalu paste pada pilihan tersebut . 7. Ketikan G = uint8(G);Di Line 8. Pilih dan ketik sintak berikut sesuai dengan keinginan . Contoh penggunaan fungsi taffine untuk melakukan pembengkokan: F = imread(‘D:Imagekelompok.jpg); G = taffine(F,1,0.15,0,1,0,0); imshow(G) Contoh berikut digunakan untuk memutar gambar: rad = 10 * pi / 180; G = taffine(F,cos(rad),sin(rad), … -sin(rad),cos(rad),0,0); imshow(G) Contoh penggabungan rotasi dan translasi: G = taffine(F,cos(rad),sin(rad),-sin(rad), … cos(rad),-30,-50); Contoh penggabungan rotasi, penskalaan, dan translasi:
  • 22. 22 G = taffine(F,2 * cos(rad),sin(rad),-sin(rad), … 2 * cos(rad),-30,-50); Perlu diketahui, angka seperti 2 di depan cos(rad) menyatakan bahwa hasilnya adalah kebalikannya, yaitu ½ kalinya. Gambar. Contoh effek Taffine
  • 23. 23 2.11 Efek ripple Efek ripple (riak) adalah aplikasi transformasi citra yang membuat gambar terlihat bergelombang. Efek riakdapaat dibuat baik pada arah x maupun y. Transformasinya seperti berikut: 𝑥 = 𝑥′ + 𝑎 𝑥 𝑠𝑖𝑛 2𝜋𝑦′ 𝑇𝑥 (5.12) 𝑦 = 𝑦′ + 𝑎 𝑦 𝑠𝑖𝑛 2𝜋𝑥′ 𝑇𝑦 (5.13) Dalam hal ini, ax dan ay menyatakan amplitudoriak gelombang sinus, sedangkan Tx dan Ty menyatakan periode gelombang sinus. Turorialnya adalah sebagai berikut : 1. Buka Aplikasi Octave 3.6.3 2. Buka aplikasi Notepad pada windows ( Langkah ini bisa dilewati apabila ingin langsung mengetikan sintax pada jendela Octave 3.6.3 ) 3. Ketik Sintax berikut pada Notepad . function G = ripple(F, ax, ay, tx, ty) % RIPPLE Berfungsi untuk melakukan transformasi 'ripple'. dimensi = size(F); tinggi = dimensi(1); lebar = dimensi(2); for y=1 : tinggi for x=1 : lebar x2 = x + ax * sin(2 * pi * y / tx); y2 = y + ay * sin(2 * pi * x / ty); if (x2=1) && (x2<=lebar) && ... (y2=1) && (y2<=tinggi) % Lakukan interpolasi bilinear p = floor(y2); q = floor(x2); a = y2-p; b = x2-q;
  • 24. 24 if (floor(x2)==lebar) || ... (floor(y2) == tinggi) G(y, x) = F(floor(y2), floor(x2)); else intensitas = (1-a)*((1-b)*F(p,q) + ... b * F(p, q+1)) + ... a *((1-b)* F(p+1, q) + ... b * F(p+1, q+1)); G(y, x) = intensitas; end else G(y, x) = 0; end end end 4. Buka kembali jendela Octave 3.6.3 5. Klik kanan pada bagian tepi atas Jendela Octave 3.6.3 6. Pilih edit lalu paste pada pilihan tersebut . 7.Ketikan G = uint8(G); Di Line 8.Pilih dan ketik sintak F = imread(‘D:imagegedung.png'); G = ripple(F,10,15,120, 250); 9. Ketik imshow(G)untuk menampilkan gambar . 2.12 Efek twirl Transformasi twirl(olak atau puntiran) dilakukan dengan memutar citra berdasarkan titik pusat citra, tetapi tidak bersifat linear. Turorialnya adalah sebagai berikut : 1. Buka Aplikasi Octave 3.6.3 2. Buka aplikasi Notepad pada windows ( Langkah ini bisa dilewati apabila ingin langsung mengetikan sintax pada jendela Octave 3.6.3 )
  • 25. 25 3. Ketik Sintax berikut pada Notepad . function G = twirl(F) % TWIRL Berfungsi untuk melakukan transformasi 'twirl' dimensi = size(F); tinggi = dimensi(1); lebar = dimensi(2); xc = round(lebar / 2); yc = round(tinggi / 2); alpha = 43 * pi / 180; rmaks = 0.5 * sqrt(xc^2 + yc ^ 2); % 1/2 diagonal citra for y=1 : tinggi for x=1 : lebar r = sqrt((x-xc)^2+(y-yc)^2); beta = atan2(y-yc, x-xc) + … alpha * (rmaks - r) / rmaks; x2 = xc + r * cos(beta); y2 = yc + r * sin(beta); if (x2=1) && (x2<=lebar) && ... (y2=1) && (y2<=tinggi) % Lakukan interpolasi bilinear p = floor(y2); q = floor(x2); a = y2-p; b = x2-q; if (floor(x2)==lebar) || ... (floor(y2) == tinggi) G(y, x) = F(floor(y2), floor(x2)); else intensitas = (1-a)*((1-b)*F(p,q) + ... b * F(p, q+1)) + ... a *((1-b)* F(p+1, q) + ...
  • 26. 26 b * F(p+1, q+1)); G(y, x) = intensitas; end else G(y, x) = 0; end end end 4. Buka kembali jendela Octave 3.6.3 5. Klik kanan pada bagian tepi atas Jendela Octave 3.6.3 6. Pilih edit lalu paste pada pilihan tersebut . 7. Ketikan G = uint8(G);Di Line 8. Pilih dan ketik sintak F = imread(‘D:Imagekotatua.png'); G = swirl(F); 9. Ketik imshow(G)untuk menampilkan gambar . 2.13 Transformasispherical Transformasi spherical memberikan efek bulatan (bola), seperti melihat gambar menggunakan lensa pembesar. 1. Buka Aplikasi Octave 3.6.3 2. Buka aplikasi Notepad pada windows ( Langkah ini bisa dilewati apabila ingin langsung mengetikan sintax pada jendela Octave 3.6.3 ) 3. Ketik Sintax berikut pada Notepad . function G = spheri(F, rho) % SPHERI Berfungsi untukmelakukan transformasi 'spherical' dimensi = size(F); tinggi = dimensi(1); lebar = dimensi(2); xc = round(lebar / 2);
  • 27. 27 yc = round(tinggi / 2); rmaks = xc; % 1/2 lebar gambar for y=1 : tinggi for x=1 : lebar r = sqrt((x-xc)^2+(y-yc)^2); z = sqrt(rmaks^2-r^2); bx = (1 - 1/rho) * asin((x-xc)/... sqrt((x-xc)^2+z^2)); by = (1 - 1/rho) * asin((y-yc)/... sqrt((y-yc)^2+z^2)); if r <= rmaks x2 = x - z * tan(bx); y2 = y - z * tan(by); else x2 = x; y2 = y; end if (x2=1) && (x2<=lebar) && ... (y2=1) && (y2<=tinggi) % Lakukan interpolasi bilinear p = floor(y2); q = floor(x2); a = y2-p; b = x2-q; if (floor(x2)==lebar) || ... (floor(y2) == tinggi) G(y, x) = F(floor(y2), floor(x2)); else intensitas = (1-a)*((1-b)*F(p,q) + ... b * F(p, q+1)) + ... a *((1-b)* F(p+1, q) + ... b * F(p+1, q+1)); G(y, x) = intensitas; end
  • 28. 28 else G(y, x) = 0; end end end 4. Buka kembali jendela Octave 3.6.3 5. Klik kanan pada bagian tepi atas Jendela Octave 3.6.3 6. Pilih edit lalu paste pada pilihan tersebut . 7.Ketikan G = uint8(G);Di Line 8.Pilih dan ketik sintak F = imread(‘D:Imagekotatua.png'); G = spheri(F, 1.8); 9. Ketik imshow(G)untuk menampilkan gambar . 2.14 Transformasibilinear Transformasi bilinear mempunyai fungsi pemetaan seperti berikut: 𝑥′ = 𝑎1 𝑥 + 𝑎2 𝑦 + 𝑎3 𝑥𝑦 + 𝑎4 (5.27) 𝑦′ = 𝑏1 𝑥 + 𝑏2 𝑦 + 𝑏3 𝑥𝑦 + 𝑏4 (5.28) Transformasi ini termasuk dalam transformasi nonlinear mengingat terdapat pencampuran xy. 1. Buka Aplikasi Octave 3.6.3 2. Buka aplikasi Notepad pada windows ( Langkah ini bisa dilewati apabila ingin langsung mengetikan sintax pada jendela Octave 3.6.3 ) 3. Ketik Sintax berikut pada Notepad . function G = tbilin(F, a1, a2, a3, a4, b1, b2, b3, b4) % Fungsi untuk melakukan transformasi bilinear dimensi = size(F); tinggi = dimensi(1);
  • 29. 29 lebar = dimensi(2); for y=1 : tinggi for x=1 : lebar x2 = a1 * x + a2 * y + a3 * x * y + a4; y2 = b1 * x + b2 * y + b3 * x * y + b4; if (x2=1) && (x2<=lebar) && ... (y2=1) && (y2<=tinggi) % Lakukan interpolasi bilinear p = floor(y2); q = floor(x2); a = y2-p; b = x2-q; if (floor(x2)==lebar) || ... (floor(y2) == tinggi) G(y, x) = F(floor(y2), floor(x2)); else intensitas = (1-a)*((1-b)*F(p,q) + ... b * F(p, q+1)) + ... a *((1-b)* F(p+1, q) + ... b * F(p+1, q+1)); G(y, x) = intensitas; end else G(y, x) = 0; end end end 4. Buka kembali jendela Octave 3.6.3 5. Klik kanan pada bagian tepi atas Jendela Octave 3.6.3 6. Pilih edit lalu paste pada pilihan tersebut . 7.Ketikan G = uint8(G);Di Line 8.Pilih dan ketik sintak
  • 30. 30 F = imread(‘D:Imagekotatua.png'); G = tbilin(F, 1.2,0.1,0.005,-45,0.1,1,0.005,-30); 9. Ketik imshow(G)untuk menampilkan gambar .
  • 31. 31 BAB III PENUTUP 3.1. Kesimpulan Operasi geometrik adalah operasi pada citra yang dilakukan secara geometris seperti translasi, rotasi, dan penyekalaan. Pada operasi seperti ini terdapat pemetaan geometrik, yang menyatakan hubungan pemetaan antara piksel pada citra masukan dan piksel pada citra keluaran. 3.2. Kritikdan saran Dalam penulisan makalah ini jauh dari kata sempurna. Oleh karena itu penulis mengharapkan saran dan kritik yang membangun dari para pembaca untuk meningkatkan kualitas dari isi makalah ini dikemudian hari.
  • 32. 32 DAFTAR PUSTAKA Kadir, Abdul & Adhi Susanto. (2013). Teori dan Aplikasi Pengolahan Citra. ANDI. Yogyakarta.