Anda di halaman 1dari 9

Tugas Pengolahan Citra 8

Nama : Muhammad Luthfianis


NIM

: H1C008033

Citra awal yang digunakan adalah :

Citra di atas kemudian di ubah ke citra abu dengan kode berikut :


>> Img = imread('a.jpg');
>> Abu = uint8(0.2989 * double(Img(:,:,1)) + ...
0.5870*double(Img(:,:,2)) + ...
0.1141 * double(Img(:,:,3)));

>> imshow(Abu);

Citra abu di atas diubah ke dalam citra biner dengan kode berikut dan skala 0,175 :
>> F = im2bw(imread('a.jpg'), 0.175);
>> imshow (F);

Kemudian Citra di-not kan untuk membalik hasilnya, dan didapat citra seperti
berikut :

Untuk menghilangkan noise yang terdapat pada citra, maka citra dikenakan operasi
lagi, dengan trial n error didapat kode dan skala seperti berikut :
>> Img = imread('a.jpg');
>> BW = im2bw(Img, 0.175);
>> BW = not(BW);
>> H = ones(11);
>> G = dilasi(BW, H);
>> M = erosi(G, H);
>> imshow(M)

Kemudian mencari tepi dari citra biner di atas :


function [G] = tepibiner(F)
% TEPIBINER Berguna untuk mendapatkan tepi objek
% pada citra biner
[jum_baris, jum_kolom] = size(F);
G = zeros(jum_baris, jum_kolom);
for q = 2 : jum_baris - 1
for p = 2 : jum_kolom - 1
p0 = F(q, p+1);
p1 = F(q-1, p+1);
p2 = F(q-1, p);
p3 = F(q-1, p-1);
p4 = F(q, p-1);
p5 = F(q+1, p-1);
p6 = F(q+1, p);
p7 = F(q+1, p+1);
sigma = p0 + p1 + p2 + p3 + p4 + p5 + p6 + p7;
if sigma == 8
G(q, p) = 0;
else
G(q, p) = F(q, p);
end
end
end

>> Img = imread('a2.jpg');


>> G = tepibiner(Img);
>> imshow(G)

Kemudian Mencari Diameter, Luas, dan Keliling dari citra yang didapat
1. Diameter Citra

function [diameter, x1, y1, x2, y2] =


peroleh_diameter(BW)
% PEROLEH_DIAMETER Digunakan untuk menghitung panjang
objek
% pada citra BW (citra biner).
% Hasil:
% diameter : panjang objek
% x1, y1, x2, y2 : menyatakan dua titik yang
% mewakili panjang tersebut
U = get_contour(BW);
n = length(U);
jarak_maks = 0;
piksel1 = 0;
piksel2 = 0;
for p=1 : n-1
for q=p+1 : n
jarak = sqrt((U(p,1)-U(q,1)) ^ 2 + (U(p,2)-U(q,2)) ^ 2);

if jarak > jarak_maks


jarak_maks = jarak;
piksel1 = p;
piksel2 = q;
end
end
end
y1
x1
y2
x2

=
=
=
=

U(piksel1,
U(piksel1,
U(piksel2,
U(piksel2,

1);
2);
1);
2);

diameter = jarak_maks;
>>
>>
>>
>>
>>
>>
>>
>>

Img = imread('E:/a2.jpg');
BW = im2bw(Img, 0.175);
BW = not(BW);
H = ones(11);
G = dilasi(BW, H);
M = erosi(G, H);
[d,x1,y1,x2,y2] = peroleh_diameter(M);
d

d =

437.0229
>> X = [x1,x2]

X=

162 204
>> Y = [y1,y2];
>> line(X,Y, 'Color','r')

2. Luas Citra
function hasil = luas(BW)
% LUAS Untuk menghitung luas citra BW (citra biner)
[tinggi, lebar] = size(BW);
hasil = 0;
for p = 1 : tinggi
for q = 1 : lebar
if BW(p, q) == 1
hasil = hasil + 1;
end
end
end
>> cluas = imread('D:\Bin3.jpg');
>> luas(cluas)

ans =

2751

3. Keliling Citra
>> C=inbound_tracing(M);
>> [kode, x, y] = chain_code(C)

kode =

07000000000000006667707077770666676667676767666666666656656666
66666667766666666556665666666666670000000000000000700000007707
77067077007077000770000000000000000000000001100000000000000000
00000000000000707000070000000070007000700700000000000000706666
66666666666665444444444444455556554555444564545454545456454454
54544544444444444454544444554445445454456445454544554455454445

45444454555666656566666566666556666656666566566656656666666666
66766666666666665666666666666666556666665655565556656666666666
66666656666665666666566566666665656656666665666666666656666656
65666665665666666565666666656665665666666665666666666666667666
67766666664455564565456565456654555455454443444444444455444444
44334343333234333234233232222222222122221222222222222233232322
22322342222222223232223122222222222222222212222222222223222222
22222322222232122222122222222222222222222222222222223222222223
32322232222222222222234234221212222222222222122222222222222222
22222222322322323232232233223223222323333344333442344433443434
34433444333443434334334444343444444444444544444544444444454444
44444445444444445642222222222344444222222222222222222222222222
22222222222200000000100000000000000000000000000001000000000010
00001000000000000007000700000000000070000000000000010101101101
10011100000000001000700000070000000000001001222222222223122222
22222222222222232222322232222122221221222012201100111010011100
0101

x=

188

y=

36

Anda mungkin juga menyukai