Anda di halaman 1dari 9

Tugas Pengolahan Citra 8

Nama
NIM

: Muhammad Luthfianis
: 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 =
070000000000000066677070777706666766676767676666666666
566566666666666776666666655666566666666667000000000000
000070000000770777067077007077000770000000000000000000
000001100000000000000000000000000000007070000700000000
700070007007000000000000007066666666666666666544444444
444445555655455544456454545454545645445454544544444444
444454544444554445445454456445454544554455454445454444
545556666565666665666665566666566665665666566566666666
666676666666666666566666666666666655666666565556555665
666666666666666656666665666666566566666665656656666665
666666666656666656656666656656666665656666666566656656
666666656666666666666676666776666666445556456545656545
665455545545444344444444445544444444334343333234333234
233232222222222122221222222222222233232322223223422222
222232322231222222222222222222122222222222232222222222
232222223212222212222222222222222222222222222222322222
222332322232222222222222234234221212222222222222122222

222222222222222222223223223232322322332232232223233333
443334423444334434343443344433344343433433444434344444
444444454444454444444445444444444445444444445642222222
222344444222222222222222222222222222222222222222000000
001000000000000000000000000000010000000000100000100000
000000000700070000000000007000000000000001010110110110
011100000000001000700000070000000000001001222222222223
122222222222222222222322223222322221222212212220122011
001110100111000101
x=
188
y=
36

Anda mungkin juga menyukai