Anda di halaman 1dari 6

PENGOLAHAN CITRA

TUGAS 2 PRAKTIKUM PENGOLAHAN CITRA

Disusun oleh :

Muhammad Habibi (065117702)

PROGRAM STUDI ILMU KOMPUTER


FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS PAKUAN
BOGOR
2019
1. Siapkan image (minimal 2 image), untuk melakukan percobaan pada sebuah
aplikasi matlab, contoh pada gambar 1 dan gambar 2. Yang di gunakan untuk
sebagai Input proses.

Gambar 1. Contoh gambar 1 untuk di Input ke matlab

Gambar 2. Contoh gambar 2 untuk di Input ke matlab

1
2. Olah kedua gambar tersebut kedalam filter median, jelaskan bagaimana
prosesnya dan output yang keluar seperti apa. Median adalah filter terbaik
dari dua filter sebelumnya, dalam menghilangkan derau atau bitnik pada citra.
Nilai terbaik ditentukan oleh nilai median dari setiap piksel dan ke delapan
piksel tetangga hasil proses output pada gamabar 3 dan gambar 4.

Gambar 3. Filter median pada gambar pertama

Gambar 4. Filter median pada gambar kedua

2
3. Geser gambar ke 1 dengan arah horizontal sebesar 25, dan arah vertikal
sebesar 40. Adalah setiap elemen pixel citra input ke posisi baru pada citra
output dimana dimensi dari kedua citra inputan ataupun outpu itu sama hasil
pada gambar 5.

Gambar 5. Menamplikan pengeseran gambar 1

4. Tampilkan Putar gambar ke 2 sebesar 30 derajat menggunakan kodingan


“memutar citra secara utuh, Suatu citra dapat diputar dengan sudut 0 seiring
arah jarum jam atau berlawanan arah jarum jam dengan pada pusat putaran
pada koordinat (0,0).

Gambar 6. Menamplikan gambar yang di ubah koordinat nya

3
5. Di setiap nomor (1-5) jabarkan setiap prosesnya yaitu:
1. Proses mebaca citra gambar ke matlab dengan script
Img=imread(‘d:/santuy.jpg’);
Imgshow(‘img’);
2. Memproses gambar tersebut kedalam filter median dengan script
berikut
F = imread('D:/a62.jpg');
[tinggi, lebar] = size(F);
for baris=2:tinggi-1
for kolom=2:lebar-1
data = [F(baris-1, kolom-1) ...
F(baris-1, kolom) ...
F(baris-1, kolom+1) ...
F(baris, kolom-1) ...
F(baris, kolom) ...
F(baris, kolom+1) ...
F(baris+1, kolom-1) ...
F(baris+1, kolom) ...
F(baris+1, kolom+1)];

%sorting atau pengurutan


for i = 1:8
for j = i+1 : 9
if data(i) > data(j)
tmp = data(i);
data(i) = data(j);
data(j) = tmp;
end
end
end

%ambil nilai median


G(baris, kolom) = data(5);
end
end

figure(1);
imshow(G);
clear;
3. Proses Putar gambar ke 2 sebesar 30 derajat menggunakan kodingan
memutar citra secara utuh berikut script nya
F = imread('D:/a62.jpg');
[tinggi, lebar]=size(F);
sudut = 30; %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);

4
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);
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= round(xmak-xmin+1);
tinggi_baru= round(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
figure(1);
imshow(uint8(F2));
% PUTAR CITRA
m=floor(tinggi_baru/2);
n=floor(lebar_baru/2);
for y=1 : tinggi_baru
for x=1 : lebar_baru
x2=round((x-n)*cosa+(y-m)*sina+n);
y2=round((y-m)*cosa-(x-n)*sina+n);
if(x2>=1)&&(x2<=lebar_baru)&&...
(y2>=1)&&(y2<=tinggi_baru)
G(y,x)=F2(y2,x2);
else
G(y,x)= 0;
end
end
end
figure(2);
G=uint8(G);
imshow(G);
clear all;

Anda mungkin juga menyukai