SlideShare a Scribd company logo
1 of 77
UPI CONVENTION CENTER [UPI-CC]
UNIVERSITAS PUTRA INDONESIA “ YPTK “
PADANG, 08 Agustus 2012
5. Hidup Penuh Kepasrahan dan Ketundukan5. Hidup Penuh Kepasrahan dan Ketundukan
3. Menghilangkan Energi Negatif3. Menghilangkan Energi Negatif
2. Mempermudah Datangnya Rezeki2. Mempermudah Datangnya Rezeki
6. Sukses Dunia dan Akhirat6. Sukses Dunia dan Akhirat
1. Memperpanjang Usia1. Memperpanjang Usia
4. Hidup Damai Dan Tenteram4. Hidup Damai Dan Tenteram
Dahsyatnya Efek Ikhlas Bagi Kita
Sumber : (Mohammad Irsyad, 2012), Dalam Buku “Hilangkan Stres dengan Terapi HIPN IKHLAS”Sumber : (Mohammad Irsyad, 2012), Dalam Buku “Hilangkan Stres dengan Terapi HIPN IKHLAS”
Dari Ibnu Abbas Ra, Sesungguhnya Rasulullah
Saw Bersabda : Empat Hal (Kenikmatan) Bila
Seseorang Dikaruniai Allah Seluruhnya, Maka
Ia Telah Meraih Kebaikan Dunia Dan Akhirat,
Yaitu :
1.Hati Yang Bersyukur,
2.Lisan Yang Bedzikir,
3.Tubuh Yang Sabar Akan Ujian,
4.Keluarga yang sakinah-mawadah-warhmah”
Sumber Hr : Thabrany & BaihaqiSumber Hr : Thabrany & Baihaqi
Empat Hal yang Membuat Bahagia Dunia-Akhirat
- Teknik Pengambilan
a. Transformasi geometris
b. Nilai dinamik rendah
c. Adanya efek noise dan blur
- Pre-processing
a. koleksi geometris (rotasi, translasi, zoom)
b. peningkatan nilai dinamik pixel (histograme)
c. perbaikan kualitas citra (filtering)
KONSEP WARNA
Format Warna
RGB
r-g Color
Normalized RGB
HSV
YCrCb
TSL
Deteksi Warna
Static Threshold
Distance Threshold
Dynamic Threshold
Format Warna Pada Gambar
Gambar (Digital) adalah sekumpulan titik yang
disusun dalam bentuk matriks, dan nilainya
menyatakan suatu derajat kecerahan (derajat
keabuan/gray-scale). Derajat keabuan 8 bit
menyatakan 256 derajat kecerahan.
Pada gambar berwarna nilai setiap titiknya adalah
nilai derajat keabuan pada setiap kompoen warna
RGB. Bila masing-masing komponen R,G dan B
mempunyai 8 bit, maka satu titik dinyatakan
dengan (8+8+8)=24 bit atau 224
derajat keabuan
Format RGB
Format RGB (Red, Green & Blue) adalah format dasar
yang digunakan oleh banyak peralatan elektronik
seperti monitor, LCD atau TV untuk menampilkan
sebuah gambar.
Pada format RGB, suatu warna didefinisikan sebagai
kombinasi (campuran) dari komponen warna R, G
dan B.
Format RGBPada format warna RGB 24 bit,
maka nilai R, G dan B masing-
masing 0-255
Warna R G B
Hitam 0 0 0
Merah 255 0 0
Hijau 0 255 0
Biru 0 0 255
Kuning 255 255 0
Magenta 255 0 255
Cyan 0 255 255
Putih 255 255 255
Abu-Abu 127 127 127
Orange 255 110 0
Ungu 128 0 255
Coklat 128 25 0
Pink 255 190 220
Navy 0 0 120
R-G Color Space
Nilai r-g digunakan untuk mendeteksi warna kulit,
J. Fritsch, S. Lang, M. Kleinehagenbrock, G. A. Fink and G. Sagerer,
Improving Adaptive Skin Color Segmentation by Incorporating Results
from Face Detection, Proc. IEEE Int. Workshop on Robot and Human
Interactive Communication (ROMAN), Berlin, Germany,September 2002.
IEEE.
Nilainya berada 0-1 pada setiap komponen r dan g
BGR
R
r
++
=
BGR
G
g
++
=
Normalized RGB
BGR
R
r
++
=
BGR
G
g
++
=
BGR
B
b
++
=
Vladimir Vezhnevets Vassili Sazonov
Alla Andreeva, ”A Survey on Pixel-Based
Skin Color Detection Technique”,
Graphics and Media Laboratory, Faculty
of Computational Mathematics and
Cybernetics Moscow State University,
Moscow, Russia.
HSV (Hue, Saturation, Value)
CIE
(Commission Internationale de l’Eclairage)
RGB XYZ CIE
CMY
(Cyan Magenta Yellow)
Y = 0.299R+0.587G+0.114B
Cr = R−Y
Cb = B−Y
TSL (Tint, Saturation, Lightness)
BGRL
G
g
gr
g
gr
T
gr
S
114.0587.0299.0
0,0
0,
4
3
2
)/arctan(
0,
4
1
2
)/arctan(
)(5
9
2
1
22
++=








=
<+
>+
=






+
=
π
π
Dimana:
3
1
3
1
−
++
=
−
++
=
BGR
G
g
BGR
R
r
Deteksi Warna
Mendeteksi adanya warna-warna tertentu
Menentukan posisi pixel dengan warna yang
ditentukan
Aplikasi: Deteksi rambu-rambu lalu lintas, deteksi
bola dengan warna tertentu, deteksi obyek
berdasarkan warna, deteksi kulit (skin detection)
Threshold RGB
Untuk warna-warna dasar, nilai RGB cukup efektif
dalam melakukan deteksi meskipun cara ini
bukan cara terbaik.
Nilai threshold dapat dipelajari berdasarkan pola
warna atau ditentukan secara intuitif, tetapi
threshold RGB ini sangat rentan terhadap
kestabilan cahaya
Aplikasi untuk menentukan nilai threshold
terbaik dalam suatu permasalahan dapat
dilakukan menggunakan teknik-teknik machine
learning.
Contoh Threshold RGB
Nilai threshold : R>163; 43<G<222, 32<B<250
Nilai Threshold RGB
Nilai threshold : 112<R<168; 70<G<149, 44<B<118
Threshold HSV
Untuk warna-warna natural, nilai HSV cukup
efektif dalam melakukan deteksi.
Nilai threshold dapat dipelajari berdasarkan pola
warna atau ditentukan secara intuitif.
Dibandingkan dengan RGB, threshold HSV ini
cenderung lebih stabil terhadap perubahan
cahaya.
Aplikasinya seperti pada threshold untuk warna
buah, warna pada pemandangan atau warna-
warna pada obyek yang bukan buatan manusia.
Threshold YCrCb
YCrCb adalah format warna Yellow, Crominan Red
dan Crominan Blue.
Range nilai masing-masing komponen :
o 0≤Y≤255
o -255≤Cr≤255
o -255≤Cb≤255
Threshold YCrCb
Nilai threshold : 41<R<145; 10<G<52, -16<B<-4
Color Thresholding
Static Thresholding: nilai threshold dicari secara
intuisi. Berarti kita harus mempelajari warna pada
gambar dulu sebelum menentukan nilai threshold.
Distance Threshold: nilai threshold adalah nilai batas
jarak dari sebuah warna dengan warna referensi.
Dynamic Threshold: nilai threshold dicari
menggunakan algoritma searching atau klasifikasi.
Static Color thresholding


 ⊆⊆⊆
=
lainyanguntuk0,
IbbIg,gIr,runtuk,1
P
Dimana : Ir, Ig, Ib adalah interval untuk warna r, g
dan b yang ditentukan secara spesifik
Misalkan untuk mengambil warna merah dilakukan dengan:
IF r>200 and g<64 and b<64 THEN warna=merah
Nilai threshold
Distance Color thresholding
Bila diketahu warna acuan mempunyai nilai elemen warna c1, c2 dan c3.
Maka setiap warna w1, w2 dan w3 dapat dihitung jaraknya dengan warna
referensi dengan cara:
( )∑
∑
−=
−=
i
ii
i
ii
cwd
cwd
2
(Jarak Manhattan)
(Jarak Euclidian)
Nilai threshold ditentukan dengan besarnya jarak warna maksimum dari
sebuah warna dan warna referensi.
Dynamic Color Threshold
Threshold dapat dipilih apakah threshold global atau
threshold local
Threshold menggunakan distance threshold dari
warna-warna di sekitar obyek yang dimaksud
Color Thresholding Dinamik
Dengan Rata-Rata Acuan
Sebelumnya diambil gambar-gambar contoh
sebagai acuan untuk menentukan threholding
dari warna yang diinginkan.
Dari data warna-warna tersebut diambil rata-rata
dari setiap elemen warna:
Thresholding dilakukan dengan jarak d dari setiap
rata-rata elemen warna
bluerata-rataadalahb
greenrata-rataadalah
redrata-rataadalah
g
r
Color Thresholding Dinamik
Dengan Rata-Rata Acuan
Perbandingan Thresholding Static dan Dinamik
Thresholding
Dinamik
Thresholding
Static
Aplikasi Color Detection SKIN DETECTION
Menggunakan deteksi warna kulit (skin detection)
dapat dilakukan menggunakan format RGB atau YCrCb
Mendeteksi warna kulit banyak digunakan untuk
aplikasi pengenalan wajah, deteksi badan atau anggota
badan.
Sangat sulit mendapatkan sistem deteksi warna kulit
yang bersifat general, karena ada perbedaan warna
kulit pada masing-masing ras (melayu, cina, eropa,
latin atau afrika )
Aplikasi Color Detection
DETEKSI DAN PENGENALAN BUAH
Setiap buah mempunyai warna yang spesifik
Color thresholding dapat digunakan untuk
mendeteksi dimana letak buah
Color histogram dapat digunakan un tuk mengenali
buah.
Aplikasi Color Detection
DETEKSI KEMATANGAN TOMAT
Kematangan tomat dapat dibedakan menjadi tiga fase
yaitu hijau, campur-warna dan merah
Dengan deteksi warna RGB atau HSV atay YCrCb
dapat dideteksi kematangan tomat
Aplikasi Color Detection
DETEKSI RAMBU-RAMBU LALU LINTAS
Deteksi rambu-rambu lalu lintas dapat dilakukan
menggunakan color thresholding baik RGB atau
HSV, karena rambu-rambu lalu lintas mempunyai
warna dan bentuk yang spesifik.
Deteksi rambu-rambu lalu lintas dapat digunakan
untuk dipasang pada kendaraan sebagai co-pilot
atau smart navigation
Palet Warna
Bagaimana sebuah citra direpresentasikan dalam file?
Pertama-tama seperti halnya jika kita ingin melukis sebuah
gambar, kita harus memiliki palet dan kanvas
 Palet: kumpulan warna yang dapat membentuk citra, sama halnya
seperti kita hendak melukis dengan cat warna, kita memiliki palet yang
bisa kita isikan berbagai warna cat air
 Setiap warna yang berbeda dalam palet tersebut kita beri nomor
(berupa angka)
 Contoh untuk citra monokrom (warnanya hanya putih-abuabu-hitam),
berarti kita memiliki palet sbb:
Kanvas & Matriks
Setelah itu kita dapat menggambar menggunakan warna-warna
dalam palet tersebut di atas sebuah kanvas
Sebuah kanvas dapat kita anggap sebagai sebuah matriks dimana
setiap elemen dari matriks tersebut bisa kita isikan dengan salah
satu warna dari palet
Informasi tentang palet (korespondensi antara warna dengan
angka) disimpan dalam komputer (program pembuka citra seperti
Paint, Photoshop, dll) sehingga sebuah file citra dalam komputer
hanya perlu menyimpan angka-angka yang merepresentasikan
sebuah warna.
 sebuah citra direpresentasikan dalam sebuah matriks yang
berisi angka-angka
Contoh
201 188 181 185 180 147 140 149 155 138 144 144 145
199 200 201 188 139 132 147 150 143 123 112 102 117
207 221 222 136 90 111 125 145 140 138 122 104 97
231 219 200 90 65 84 84 107 95 92 92 99 89
227 223 181 74 72 89 92 86 77 63 50 55 65
217 211 166 85 47 75 82 83 75 42 42 39 40
208 195 179 131 54 68 66 72 46 21 15 24 19
198 187 181 141 53 54 55 59 37 21 37 66 90
195 184 170 134 52 38 42 45 35 43 98 152 172
186 175 171 169 100 34 34 27 44 85 139 170 184
167 156 142 144 112 48 32 46 84 133 166 172 186
142 139 131 120 108 67 30 76 102 123 153 171 178
145 134 128 125 117 70 38 91 101 105 125 146 157
=
Alur
 Jika kita menyimpan gambar kucing tadi ke dalam sebuah file
(kucing.bmp), maka yang disimpan dalam file tersebut adalah angka-
angka yang diperoleh dari matriks kanvas.
File kucing.bmp:
Header
Angka-
angka dari
matriks
Informasi palet dan format file citra
Program pembuka citra
(Paint, Photoshop, dll)
input
Ditampilkan di layar
Representasi dalam File
Untuk Windows Bitmap Files (.bmp)
Ada header berisi informasi jumlah baris dan kolom dalam
citra, informasi palet, dll
Header langsung diikuti dengan angka-angka dalam matriks,
disusun perbaris
Baris pertama langsung diikuti baris kedua, dst
Bagaimana mengetahui awal suatu baris? (misal untuk
membedakan citra berukuran 100x200 dengan 200x100) 
lihat informasi jumlah baris dan jumlah kolom di header
Header Baris 1 ….. Baris terakhir
Representasi dalam File
 Ada bermacam format representasi citra dalam file, seperti bmp, tif, jpg, dan
sebagainya.
 Format BMP merupakan format yang kurang efisien, karena semua informasi
angka dalam baris disimpan semua. Misalkan ukuran header adalah H byte,
ukuran citra 100x100 byte monokrom, maka ukuran file bmp tersebut adalah :
H + data citra = H + 10000 Byte
 Bagian data citra (10000 byte) sebenarnya bisa dikompresi agar ukuran file
tidak terlalu besar. Salah satu cara kompresi adalah dengan terlebih dahulu
mentransformasikan citra ke ruang yang berbeda (contoh: format file JPEG)
 Topik ini lebih lanjut akan kita bahas di bahasan tentang Transformasi
Kaitannya dengan frekuensi?
Citra  ambil 1 baris  plot (sumbu x: posisi piksel dalam baris,
sumbu y: intensitas keabuan/warna)
Columns 1-9 : 71 70 70 70 73 77 81 83 73
……………………..
Columns 307-315: 92 93 84 93 96 79 121 218 232
Columns 316-324: 233 74 0 11 24 14 14 13 11
……………………..
Columns 397 through 400 : 24 8 13 15
Kaitannya dengan Frekuensi?
 Frekuensi dapat dilihat
perbaris dan perkolom
atau perbidang
clear all
Im=imread('meridian.png');
figure(1), imshow(Im);
Im(1:3,1:3,:)
figure(2), imshow(Im(:,:,1));
figure(3), imshow(Im(:,:,2));
figure(4), imshow(Im(:,:,3));
img1=rgb2gray(Im);
subplot(2,2,1);
imshow(img1);
title('Gambar Asli');
grayImg=mat2gray(img1);
subplot(2,2,2);
imhist(grayImg);
title('Histogram Meridiana');
clear all
Im=imread('meridian.png');
figure(1), imshow(Im);
Im(1:3,1:3,:)
figure(2), imshow(Im(:,:,1));
figure(3), imshow(Im(:,:,2));
figure(4), imshow(Im(:,:,3));
[N,M,K]=size(Im);
H(1:256)=0;
for n=1:N
for m=1:M
H(Im(n,m,1)+1) = H(Im(n,m,1)+1) + 1 ;
end
end
figure(5), plot(H);
J(1:256)=0;
for n=1:N
for m=1:M
J(Im(n,m,2)+1) = J(Im(n,m,2)+1) + 1 ;
end
end
figure(6), plot(J);
K(1:256)=0;
for n=1:N
for m=1:M
K(Im(n,m,3)+1) = K(Im(n,m,3)+1) + 1 ;
end
end
figure(7), plot(K);
clear all
Im=imread('Beruang.png');
figure(1), imshow(Im);
%Im(1:3,1:3,:)
%figure(2), imshow(Im(:,:,1));
%figure(3), imshow(Im(:,:,2));
%figure(4), imshow(Im(:,:,3));
[N,M,K]=size(Im);
H(1:256)=0;
Lmax=0;
Lmin=0;
for n=1:N
for m=1:M
H(Im(n,m)+1) = H(Im(n,m)+1) + 1 ;
Lmax=max(Lmax,Im(n,m));
Lmin=min(Lmin,Im(n,m));
end
end
figure(2), plot(H);
for n=1:N
for m=1:M
Im1(n,m)=(Im(n,m)-Lmin)*(255/(Lmax-Lmin));
end
end
figure(3), imshow(Im1);
Im2=histeq(Im);
figure(4), imshow(Im2);
clear all
Im=imread('Beruang.png');
figure(1), imshow(Im);
%Im(1:3,1:3,:)
%figure(2), imshow(Im(:,:,1));
%figure(3), imshow(Im(:,:,2));
%figure(4), imshow(Im(:,:,3));
[N,M,K]=size(Im);
H(1:256)=0;
Lmax=0;
Lmin=0;
for n=1:N
for m=1:M
H(Im(n,m)+1) = H(Im(n,m)+1) + 1 ;
Lmax=max(Lmax,Im(n,m));
Lmin=min(Lmin,Im(n,m));
end
end
figure(2), plot(H);
for n=1:N
for m=1:M
Im1(n,m)=(Im(n,m)-Lmin)*(255/(Lmax-Lmin));
end
end
figure(3), imshow(Im1);
Im2=histeq(Im);
figure(4), imshow(Im2);
clear all
Im=double(imread('meridian.png'));
figure(1), imshow(uint8(Im));
A=[-1 0 1;-2 0 2; -1 0 1];
B=[-1 -2 -1;0 0 0; 1 2 1];
[N,M,K]=size(Im);
[N1,M1]=size(A);
C1(1:N,1:M)=0;
C2(1:N,1:M)=0;
Sumt(1:N,1:M)=0;
for n=1:N
for m=1:M
Y(n,m)=0.299*Im(n,m,1)+0.114*Im(n,m,2)*0.587*Im(n,m,3);
end
end
figure(2), imshow(uint8(Y));
for n=2:N-1
for m=2:M-1
Sum1=0;Sum2=0;
for i=-(N1-1)/2:(N1-1)/2
for j=-(M1-1)/2:(M1-1)/2
Sum1 = Sum1 + A(i+2,j+2)*Y(n+i,m+j);
Sum2 = Sum2 + B(i+2,j+2)*Y(n+i,m+j);
end
end
C1(n-1,m-1)=Sum1;
C2(n-1,m-1)=Sum2;
Sumt(n-1,m-1)=Sum1+Sum2;
end
end
figure(3), imshow(uint8(abs(C1)));
figure(4), imshow(uint8(abs(C2)));
figure(5), imshow(uint8(abs(Sumt)));
Cara Mengetahui Informasi VideoCara Mengetahui Informasi Video
f = imread('lena.tif');
f = double(f);
wm = imread('dip.tif');
wm = rgb2gray(wm);
alpha = 0.3;
[m,n] = size(f);
fwm = zeros(m,n);
[r,c] = size(wm);
fwm(101:100+r, 101:100+c) =wm;
hf = (1-alpha) * f + alpha * fwm;
hf = uint8(hf);
figure, imshow(hf);
% Kembalikan watermark
hf = double(hf);
iwm = hf - (1-alpha)*f;
iwm = uint8(iwm);
figure, imshow(iwm);
f = imread('lena.tif');
f = double(f);
wm = imread('dip.tif');
wm = rgb2gray(wm);
alpha = 0.3;
[m,n] = size(f);
fwm = zeros(m,n);
[r,c] = size(wm);
fwm(101:100+r, 101:100+c) =wm;
hf = 4*(floor(f./4)) + floor(fwm./64);
hf = uint8(hf);
figure, imshow(hf);
% Kembalikan watermark
hf = double(hf);
iwm = hf - 4*(floor(hf./4));
iwm = iwm/3;
figure, imshow(iwm);
Cara Mengetahui Informasi VideoCara Mengetahui Informasi Video
>> info=imaqhwinfo('winvideo',1);
>> info.SupportedFormats'
ans =
'YUY2_1280x720'
'YUY2_160x120'
'YUY2_176x144'
'YUY2_1920x1080'
'YUY2_320x240'
'YUY2_352x288'
'YUY2_640x480'
Contoh Penggunaan Frame_1.mContoh Penggunaan Frame_1.m
1 clear all
2 vid=videoinput('winvideo',1,'YUY2_160x120');
3 preview(vid);
4 data=getsnapshot(vid);
5 data1=ycbcr2rgb(data);
6 figure(2), imshow(data1);
7 imwrite(data1,'test1.bmp');
Contoh Penggunaan Frame_2.mContoh Penggunaan Frame_2.m
clear all
% Membaca dari camera
vid=videoinput('winvideo',1,'YUY2_160x120');
preview(vid);
for j = 1:60
data=getsnapshot(vid);
data1=ycbcr2rgb(data);
figure(2), imshow(data1);
imwrite(data1,[int2str(j),'.bmp']);
end
Contoh Penggunaan Frame_3.mContoh Penggunaan Frame_3.m
clear all
% Membaca dari camera% Membaca dari camera
vid=videoinput('winvideo',1,'YUY2_160x120');
preview(vid);
for j = 1:60
data=getsnapshot(vid);
data1=ycbcr2rgb(data);
figure(2), imshow(data1);
imwrite(data1,[int2str(j),'.bmp']);
end
% Konversi ke dalam File Video AVI% Konversi ke dalam File Video AVI
aviobj = avifile(‘soe.avi');
aviobj.quality = 80;
aviobj.COMPRESSION ='None';
for i=1:60
image=imread([int2str(i),'.bmp']);
aviobj=addframe(aviobj,image);
end
aviobj=close(aviobj);
% Record your voice for 5 seconds.
recObj = audiorecorder(44100, 16, 2);
disp('Start speaking.')
recordblocking(recObj, 5);
disp('End of Recording.');
% Play back the recording.
play(recObj);
% Store data in double-precision array.
myRecording = getaudiodata(recObj);
plot(myRecording);
wavwrite(myRecording,'Test.wav');
save('Test1','myRecording','-double');
% Plot the samples.
myRecording1(:,1)=myRecording(:,1);
%myRecording1(2:end,1)=myRecording(:,1);
myRecording1(:,2)=myRecording(:,1)-myRecording(:,2);
myRecording1(:,2)=myRecording1(:,1)+myRecording1(:,2);
save('Test2.wav','myRecording1','-double');
plot(myRecording);
Proses Merekam Suara *.wav
------------------------------------------------------------
Konversi dari Jpg ke bmp (Citra Thresholding)
-------------------------------------------------------------
citra = imread('Soe.jpg');
[baris, kolom, layer] = size(citra);
citra = double(citra);
for i = 1:baris
for j = 1:kolom
for k = 1:layer
if citra(i, j, k) < 120
citraThresholding(i, j, k) = 0;
else
citraThresholding(i, j, k) = 1;
end
end
end
end
imshow(citraThresholding);
imwrite(citraThresholding, 'SoeThreshold.bmp', 'bmp');
-------------------------------------------------------------
Konversi dari Jpg ke bmp (Citra Negatif)
-------------------------------------------------------------
citra = imread('Soe.jpg');
[baris, kolom, layer] = size(citra);
citra=double(citra);
for i = 1:baris
for j = 1:kolom
for k = 1:layer
citraNegatif(i, j, k) = 255 - citra(i, j, k);
end
end
end
citraNegatif = uint8(citraNegatif);
imshow(citraNegatif);
imwrite(citraNegatif, 'SoeNegatif.bmp', 'bmp');
-------------------------------------------------------------
Citra di Gabung
-------------------------------------------------------------
citra1 = imread('Soe.jpg');
citra2 = imread('Debie.jpg');
[baris, kolom, layer] = size(citra1);
citra1 = double(citra1);
citra2 = double(citra2);
for i = 1:baris
for j = 1:kolom
for k = 1:layer
citraGabung(i,j,k) = citra1(i,j,k) + citra2(i,j,k);
end
end
end
citraGabung = uint8(citraGabung);
imshow(citraGabung);
imwrite(citraGabung, 'Soeku.bmp', 'bmp');
-------------------------------------------------------------
Citra dikalikan
-------------------------------------------------------------
citra1 = imread('Soe.jpg');
citra2 = imread('Debie.jpg');
[baris, kolom, layer] = size(citra1);
citra1 = double(citra1);
citra2 = double(citra2);
for i = 1:baris
for j = 1:kolom
for k = 1:layer
citraKali(i,j,k) = citra1(i,j,k) + citra2(i,j,k);
end
end
end
citraKali = uint8(citraKali);
imshow(citraKali);
imwrite(citraKali, 'citraKali.bmp', 'bmp');
-------------------------------------------------------------
Citra diterangkan
-------------------------------------------------------------
citra = imread('Soe.jpg');
[baris, kolom, layer] = size(citra);
citra = double(citra);
for i = 1:baris
for j = 1:kolom
for k = 1:layer
citraBrightPlus(i, j, k) = citra(i, j, k) + 50;
end
end
end
citraBrightPlus = uint8(citraBrightPlus);
imshow(citraBrightPlus);
imwrite(citraBrightPlus,'SoeBrightPlus.bmp','bmp');
-------------------------------------------------------------
Citra dikalikan dengan Skalar
-------------------------------------------------------------
citra = imread('Soe.jpg');
[baris, kolom, layer] = size(citra);
citra=double(citra);
for i = 1:baris
for j = 1:kolom
for k = 1:layer
citraPerkalianSkalar(i,j,k)= 1.5 * citra(i,j,k);
end
end
end
citraPerkalianSkalar = uint8(citraPerkalianSkalar);
imshow(citraPerkalianSkalar);
imwrite(citraPerkalianSkalar, 'GohankaliSkalar.bmp', 'bmp');
-------------------------------------------------------------
Citra direlokasi (Horizontal)
-------------------------------------------------------------
citra = imread('Soe.jpg');
[baris, kolom, layer] = size(citra);
citra=double(citra);
for i = 1:baris
for j = 1:kolom
for k = 1:layer
citraFlipHorisontal(i,j,k)=citra(i,kolom-j+1,k);
end
end
end
citraFlipHorisontal = uint8(citraFlipHorisontal);
imshow(citraFlipHorisontal);
imwrite(citraFlipHorisontal, 'SoeFlipHorisontal.bmp', 'bmp');
-------------------------------------------------------------
Citra direlokasi (Vertikal)
-------------------------------------------------------------
citra = imread('Soe.jpg');
[baris, kolom, layer] = size(citra);
citra=double(citra);
for i = 1:baris
for j = 1:kolom
for k = 1:layer
citraFlipVertikal(i,j,k)=citra(baris-i+1,j,k);
end
end
end
citraFlipVertikal = uint8(citraFlipVertikal);
imshow(citraFlipVertikal);
imwrite(citraFlipVertikal, 'SoeFlipVertikal.bmp', 'bmp');
-------------------------------------------------------------
Citra direlokasi (Dicerminkan seperti aslinya)
-------------------------------------------------------------
citra = imread('Soe.jpg');
[baris, kolom, layer] = size(citra);
citra=double(citra);
for i = 1:baris
for j = 1:kolom
for k = 1:layer
citraCerminOrigin(i,j,k)=citra(baris-i+1,kolom-j+1,k);
end
end
end
citraCerminOrigin = uint8(citraCerminOrigin);
imshow(citraCerminOrigin);
imwrite(citraCerminOrigin, 'SoeCerminOrigin.bmp', 'bmp');
-------------------------------------------------------------
Citra dirubah ke binary
-------------------------------------------------------------
clear all;
Im = imread ('jsf02.bmp');
[M,N,L] = size(Im);
figure(1), imshow(uint8(Im));
%Dikonversikan dari Citra Warna ke Gray Level
for i = 1:M
for j = 1:N
Im1(i,j)=(0.299*double(Im(i,j,1))) + (0.587*double(Im(i,j,2))) + (0.114*double(Im(i,j,3))) ;
end
end
figure(2), imshow(uint8(Im1));
%Ditranfer dari Gray Level ke Biner
Imb(i,j)=Im1(i,j);
for i = 1:M
for j = 1:N
if Im1(i,j)<125
Imb(i,j)=0;
else
Imb(i,j)=255;
end
end
end
figure(3), imshow(uint8(Imb));
clear all
% Membaca dari camera
vid=videoinput('winvideo',1,'YUY2_160x120');
preview(vid);
for j = 1:60
data=getsnapshot(vid);
data1=ycbcr2rgb(data);
figure(2), imshow(data1);
imwrite(data1,[int2str(j),'.bmp']);
end
% Konversi ke dalam File Video AVI
aviobj = avifile('flameDetecteds.avi');
aviobj.quality = 80;
aviobj.COMPRESSION ='None';
for i=1:60
image=imread([int2str(i),'.bmp']);
aviobj=addframe(aviobj,image);
end
aviobj=close(aviobj);
Proses Pembacaan Dari Kamera
% Baca File Video dari Camera ke hasil konversi AVI
importFile = ‘soe.avi';
%input('Source filename: ', 's');
%%% Open file
[importFID,errorMsg]=fopen(importFile,'r','ieee-be');
% [importFID,errorMsg]=fopen(importFile,'r');
if importFID~=-1,
% Get the filesize.
fseek(importFID,0,'eof');
totalMsgLength=ftell(importFID)*8;
fseek(importFID,0,'bof');
end
Proses Baca Dari .avi ke image
% Konversi ke dalam File Video mpeg
%%% Read file bytewise and store the input message
[data_in,readCount]=fread(importFID,[1,totalMsgLength],'uint8');
[baris,kolom] = size(data_in);
data_in = uint8(transpose(data_in));
r = rem(kolom,188);
if r ~= 0
for i = 1:188-r
data_in(kolom+i) = 0;
end
end
Tsym = 1e-06;
Ts = 0.000224*2176/9072/188;
% Setting Stop Time
St = Ts*kolom;
Proses Konversi Dari .avi ke mpeg
%function writempeg(stream_in)
stream_out = transpose(data_in);
mpegfid = fopen('hasils.mpg','wb','ieee-be'); % IEEE Big Endian
%mpegfid = fopen(stream_in,'wb','ieee-be'); % IEEE Big Endian
fwrite(mpegfid,stream_out,'uint8'); % Read bitstream into byte
fclose(mpegfid);
% Tampilkan dalam Layar% Tampilkan dalam Layar
readerobj = mmreader('hasils.mpg');
vidFrames = read(readerobj);
numFrames = get(readerobj,'numberofFrames');
vidHeight = readerobj.Height;
vidWidth = readerobj.Width;
for k = 1 : numFrames
mov(k).cdata = vidFrames(:,:,:,k);
mov(k).colormap = [];
end
hf = figure;
%set(hf, 'position', [150 150 vidWidth vidHeight])
%movie(hf, mov, 1, readerobj.FrameRate);
movie(mov, 1, readerobj.FrameRate);
Proses Konversi Dari .avi ke mpeg
TUGAS INDIVIDU SYARAT UAS KAPITA SELEKTATUGAS INDIVIDU SYARAT UAS KAPITA SELEKTA
Buat suatu karya ilmiah dengan topik, pilih salah satu topik dibawah ini : 
 
“Video Compression Dari Citra bmp-AVI-MPEG Dengan MatLab ”
“Video Compression Dari Citra jpg-MPEG-WMV Dengan MatLab”
“Video Compression Dari Citra gif-AVI-FLY Dengan MatLab”
atau jurnal yang terkait dengan topik diatas.
Ada  pun ketentuannya adalah:
 
Minimal  5 referensi/daftar pustaka tahun terbit paling akhir 2010.  
Paling sedikit 2 Halaman selain daftar pustaka.
Berisi abstrak, pendahuluan,  isi, dan kesimpulan.        
 
Note: - Jurnal setiap mahasiswa harus ada yang berbeda min. 2 judul,
Dari 5 judul, jika sama maka akan dianggap plagiat
- Hari ini ringkasannya dikumpul via email : soe@upiyptk.org s.d
Jam 16:00 WIB
- Hari Senin / 03 Maret 2014 disesuaikan dengan Jadwal Admisi PPs (Pascasarjana)
di laporkan hasil review dari jurnal yang telah dicari dan Sesuai dengan ketentuan
diatas. (Sebagai Soal Ujian UAS sekaligusSebagai Soal Ujian UAS sekaligus)
CARA MENULIS KARYA ILMIAHCARA MENULIS KARYA ILMIAH
Judul
Apakah: - Informatif ?
- Hemat kata ?
- Sesuai isi ?
Topik
Apakah: - Original ?
- Penting ?
- Aplikabel / implikabel ?
- Tidak obsolete ? (bukan hal baru)
AbstrakAbstrak
1.Adakah Tujuan – Metode – Hasil – Kesimpulan ?.
2.Apakah semua isi abstrak dapat ditemukan dalam makalah ?.
3.Adakah kata kunci ?.
4.Sesuaikah dengan isi ?.
A. Pendahuluan
1.Adakah latar belakang dan tujuan penelitian yang jelas ?
B. Metode
1.Apakah metode diuraikan secara lengkap ?
2.Apakah metode yang digunakan tidak obsolute ?
C. HasilC. Hasil
1.Apakah hasil yang diperoleh diuraikan secara jelas tanpa melibatkan
interpretasi subjektif peneliti ?
2.Apakah hasil yang diperoleh sesuai dengan tujuan penelitian ?
D. PembahasanD. Pembahasan
1.Apakah keterbatasan penelitian dijelaskan secara lengkap ? Adakah upaya
peneliti untuk menguranginya ?
2.Apakah hasil yang diperoleh plausibel ?
3.Apakah peneliti membahas hasil penelitian sejenis terdahulu dan
membandingkannya dengan hasil peneliti sendiri ? Apakah materi studi
banding tidak obsolete ?
4.Apakah tujuan penelitian tercapai ?
CARA MENULIS KARYA ILMIAHCARA MENULIS KARYA ILMIAH
E. Daftar Pustaka
1.Apakah perujukan dilakukan secara memadai / adakah
indikasi ke arah plagiarisme ?
2.Apakah penulisan rujukan dalam-teks dan daftar pustaka
dilakukan secara konsisten sesuai dengan salah satu sistem
perujukan ?
3.Apakah rujukan dalam-teks sesuai dengan daftar pustaka ?
F. Lain-lainF. Lain-lain
1.Apakah bahasa Indonesia yang digunakan sesuai dengan
kaidah dan tata bahasa Indonesia yang formal ?
2.Apakah isi makalah disajikan secara jelas, sistematik, dan
berkelanjutan ?
3.Apakah penggunaan bahasa Inggris dilakukan secara baik ?
CARA MENULIS KARYA ILMIAHCARA MENULIS KARYA ILMIAH
CARA MENULIS KARYA ILMIAHCARA MENULIS KARYA ILMIAH
Alternatif judul untuk sebuah Karya Ilmiah ini yaitu:
1.Jejaring Saraf Tiruan Menggunakan Algoritma
Backpropagation untuk Memprediksi Prestasi Calon
Mahasiswa Universitas Putra Indonesia “YPTK” Padang:
Penekanan penelitian pada “penilaian cara dan hasil penggunaan
jejaring saraf tiruan dengan algoritma backpropagation”. Data
Universitas Putra Indonesia hanya sebagai contoh.
2.Prediksi Prestasi Calon Mahasiswa Universitas Putra
Indonesia “YPTK” Padang menggunakan Jejaring Saraf Tiruan
dengan Algoritma Backpropagation: Penekanan penelitian pada
“prediksi prestasi calon mahasiswa” di suatu lokasi tertentu, jejaring
saraf tiruan hanya sebagai alat bantu.
Compresi File PdfCompresi File Pdf
Alamat Compresi Pdf adar menjadi lebih
kecil :
www.compres.pdf.co.uk

More Related Content

More from soe sumijan

Perencanaan Infrastruktur (Trends Infrastructures)
Perencanaan Infrastruktur (Trends Infrastructures)Perencanaan Infrastruktur (Trends Infrastructures)
Perencanaan Infrastruktur (Trends Infrastructures)soe sumijan
 
Chapter 3 slides (Distributed Systems)
Chapter 3 slides (Distributed Systems)Chapter 3 slides (Distributed Systems)
Chapter 3 slides (Distributed Systems)soe sumijan
 
Chapter 2 slides
Chapter 2 slidesChapter 2 slides
Chapter 2 slidessoe sumijan
 
Chapter 1 slides
Chapter 1 slidesChapter 1 slides
Chapter 1 slidessoe sumijan
 
Computer Vision Pertemuan 06
Computer Vision Pertemuan 06Computer Vision Pertemuan 06
Computer Vision Pertemuan 06soe sumijan
 
Computer Vision Pertemuan 05
Computer  Vision Pertemuan 05Computer  Vision Pertemuan 05
Computer Vision Pertemuan 05soe sumijan
 
Computer Vision Pertemuan 04
Computer  Vision Pertemuan 04Computer  Vision Pertemuan 04
Computer Vision Pertemuan 04soe sumijan
 
e-Government (Strategi dan Implementasinya untuk Pemerinyahan)
e-Government (Strategi dan Implementasinya untuk Pemerinyahan)e-Government (Strategi dan Implementasinya untuk Pemerinyahan)
e-Government (Strategi dan Implementasinya untuk Pemerinyahan)soe sumijan
 
Multimedia dan Computer Vision
Multimedia dan Computer VisionMultimedia dan Computer Vision
Multimedia dan Computer Visionsoe sumijan
 

More from soe sumijan (10)

Perencanaan Infrastruktur (Trends Infrastructures)
Perencanaan Infrastruktur (Trends Infrastructures)Perencanaan Infrastruktur (Trends Infrastructures)
Perencanaan Infrastruktur (Trends Infrastructures)
 
Chapter 3 slides (Distributed Systems)
Chapter 3 slides (Distributed Systems)Chapter 3 slides (Distributed Systems)
Chapter 3 slides (Distributed Systems)
 
Chapter 2 slides
Chapter 2 slidesChapter 2 slides
Chapter 2 slides
 
Chapter 1 slides
Chapter 1 slidesChapter 1 slides
Chapter 1 slides
 
Computer Vision Pertemuan 06
Computer Vision Pertemuan 06Computer Vision Pertemuan 06
Computer Vision Pertemuan 06
 
Computer Vision Pertemuan 05
Computer  Vision Pertemuan 05Computer  Vision Pertemuan 05
Computer Vision Pertemuan 05
 
Computer Vision Pertemuan 04
Computer  Vision Pertemuan 04Computer  Vision Pertemuan 04
Computer Vision Pertemuan 04
 
e-Government (Strategi dan Implementasinya untuk Pemerinyahan)
e-Government (Strategi dan Implementasinya untuk Pemerinyahan)e-Government (Strategi dan Implementasinya untuk Pemerinyahan)
e-Government (Strategi dan Implementasinya untuk Pemerinyahan)
 
Pertemuan 01-02
Pertemuan 01-02Pertemuan 01-02
Pertemuan 01-02
 
Multimedia dan Computer Vision
Multimedia dan Computer VisionMultimedia dan Computer Vision
Multimedia dan Computer Vision
 

Aplikasi sistem real time

  • 1. UPI CONVENTION CENTER [UPI-CC] UNIVERSITAS PUTRA INDONESIA “ YPTK “ PADANG, 08 Agustus 2012
  • 2. 5. Hidup Penuh Kepasrahan dan Ketundukan5. Hidup Penuh Kepasrahan dan Ketundukan 3. Menghilangkan Energi Negatif3. Menghilangkan Energi Negatif 2. Mempermudah Datangnya Rezeki2. Mempermudah Datangnya Rezeki 6. Sukses Dunia dan Akhirat6. Sukses Dunia dan Akhirat 1. Memperpanjang Usia1. Memperpanjang Usia 4. Hidup Damai Dan Tenteram4. Hidup Damai Dan Tenteram Dahsyatnya Efek Ikhlas Bagi Kita Sumber : (Mohammad Irsyad, 2012), Dalam Buku “Hilangkan Stres dengan Terapi HIPN IKHLAS”Sumber : (Mohammad Irsyad, 2012), Dalam Buku “Hilangkan Stres dengan Terapi HIPN IKHLAS”
  • 3. Dari Ibnu Abbas Ra, Sesungguhnya Rasulullah Saw Bersabda : Empat Hal (Kenikmatan) Bila Seseorang Dikaruniai Allah Seluruhnya, Maka Ia Telah Meraih Kebaikan Dunia Dan Akhirat, Yaitu : 1.Hati Yang Bersyukur, 2.Lisan Yang Bedzikir, 3.Tubuh Yang Sabar Akan Ujian, 4.Keluarga yang sakinah-mawadah-warhmah” Sumber Hr : Thabrany & BaihaqiSumber Hr : Thabrany & Baihaqi Empat Hal yang Membuat Bahagia Dunia-Akhirat
  • 4. - Teknik Pengambilan a. Transformasi geometris b. Nilai dinamik rendah c. Adanya efek noise dan blur - Pre-processing a. koleksi geometris (rotasi, translasi, zoom) b. peningkatan nilai dinamik pixel (histograme) c. perbaikan kualitas citra (filtering)
  • 5.
  • 6.
  • 7.
  • 8. KONSEP WARNA Format Warna RGB r-g Color Normalized RGB HSV YCrCb TSL Deteksi Warna Static Threshold Distance Threshold Dynamic Threshold
  • 9.
  • 10. Format Warna Pada Gambar Gambar (Digital) adalah sekumpulan titik yang disusun dalam bentuk matriks, dan nilainya menyatakan suatu derajat kecerahan (derajat keabuan/gray-scale). Derajat keabuan 8 bit menyatakan 256 derajat kecerahan. Pada gambar berwarna nilai setiap titiknya adalah nilai derajat keabuan pada setiap kompoen warna RGB. Bila masing-masing komponen R,G dan B mempunyai 8 bit, maka satu titik dinyatakan dengan (8+8+8)=24 bit atau 224 derajat keabuan
  • 11. Format RGB Format RGB (Red, Green & Blue) adalah format dasar yang digunakan oleh banyak peralatan elektronik seperti monitor, LCD atau TV untuk menampilkan sebuah gambar. Pada format RGB, suatu warna didefinisikan sebagai kombinasi (campuran) dari komponen warna R, G dan B.
  • 12. Format RGBPada format warna RGB 24 bit, maka nilai R, G dan B masing- masing 0-255 Warna R G B Hitam 0 0 0 Merah 255 0 0 Hijau 0 255 0 Biru 0 0 255 Kuning 255 255 0 Magenta 255 0 255 Cyan 0 255 255 Putih 255 255 255 Abu-Abu 127 127 127 Orange 255 110 0 Ungu 128 0 255 Coklat 128 25 0 Pink 255 190 220 Navy 0 0 120
  • 13. R-G Color Space Nilai r-g digunakan untuk mendeteksi warna kulit, J. Fritsch, S. Lang, M. Kleinehagenbrock, G. A. Fink and G. Sagerer, Improving Adaptive Skin Color Segmentation by Incorporating Results from Face Detection, Proc. IEEE Int. Workshop on Robot and Human Interactive Communication (ROMAN), Berlin, Germany,September 2002. IEEE. Nilainya berada 0-1 pada setiap komponen r dan g BGR R r ++ = BGR G g ++ =
  • 14. Normalized RGB BGR R r ++ = BGR G g ++ = BGR B b ++ = Vladimir Vezhnevets Vassili Sazonov Alla Andreeva, ”A Survey on Pixel-Based Skin Color Detection Technique”, Graphics and Media Laboratory, Faculty of Computational Mathematics and Cybernetics Moscow State University, Moscow, Russia.
  • 16. CIE (Commission Internationale de l’Eclairage) RGB XYZ CIE
  • 18. Y = 0.299R+0.587G+0.114B Cr = R−Y Cb = B−Y
  • 19. TSL (Tint, Saturation, Lightness) BGRL G g gr g gr T gr S 114.0587.0299.0 0,0 0, 4 3 2 )/arctan( 0, 4 1 2 )/arctan( )(5 9 2 1 22 ++=         = <+ >+ =       + = π π Dimana: 3 1 3 1 − ++ = − ++ = BGR G g BGR R r
  • 20.
  • 21. Deteksi Warna Mendeteksi adanya warna-warna tertentu Menentukan posisi pixel dengan warna yang ditentukan Aplikasi: Deteksi rambu-rambu lalu lintas, deteksi bola dengan warna tertentu, deteksi obyek berdasarkan warna, deteksi kulit (skin detection)
  • 22. Threshold RGB Untuk warna-warna dasar, nilai RGB cukup efektif dalam melakukan deteksi meskipun cara ini bukan cara terbaik. Nilai threshold dapat dipelajari berdasarkan pola warna atau ditentukan secara intuitif, tetapi threshold RGB ini sangat rentan terhadap kestabilan cahaya Aplikasi untuk menentukan nilai threshold terbaik dalam suatu permasalahan dapat dilakukan menggunakan teknik-teknik machine learning.
  • 23. Contoh Threshold RGB Nilai threshold : R>163; 43<G<222, 32<B<250
  • 24. Nilai Threshold RGB Nilai threshold : 112<R<168; 70<G<149, 44<B<118
  • 25. Threshold HSV Untuk warna-warna natural, nilai HSV cukup efektif dalam melakukan deteksi. Nilai threshold dapat dipelajari berdasarkan pola warna atau ditentukan secara intuitif. Dibandingkan dengan RGB, threshold HSV ini cenderung lebih stabil terhadap perubahan cahaya. Aplikasinya seperti pada threshold untuk warna buah, warna pada pemandangan atau warna- warna pada obyek yang bukan buatan manusia.
  • 26. Threshold YCrCb YCrCb adalah format warna Yellow, Crominan Red dan Crominan Blue. Range nilai masing-masing komponen : o 0≤Y≤255 o -255≤Cr≤255 o -255≤Cb≤255
  • 27. Threshold YCrCb Nilai threshold : 41<R<145; 10<G<52, -16<B<-4
  • 28. Color Thresholding Static Thresholding: nilai threshold dicari secara intuisi. Berarti kita harus mempelajari warna pada gambar dulu sebelum menentukan nilai threshold. Distance Threshold: nilai threshold adalah nilai batas jarak dari sebuah warna dengan warna referensi. Dynamic Threshold: nilai threshold dicari menggunakan algoritma searching atau klasifikasi.
  • 29. Static Color thresholding    ⊆⊆⊆ = lainyanguntuk0, IbbIg,gIr,runtuk,1 P Dimana : Ir, Ig, Ib adalah interval untuk warna r, g dan b yang ditentukan secara spesifik Misalkan untuk mengambil warna merah dilakukan dengan: IF r>200 and g<64 and b<64 THEN warna=merah Nilai threshold
  • 30. Distance Color thresholding Bila diketahu warna acuan mempunyai nilai elemen warna c1, c2 dan c3. Maka setiap warna w1, w2 dan w3 dapat dihitung jaraknya dengan warna referensi dengan cara: ( )∑ ∑ −= −= i ii i ii cwd cwd 2 (Jarak Manhattan) (Jarak Euclidian) Nilai threshold ditentukan dengan besarnya jarak warna maksimum dari sebuah warna dan warna referensi.
  • 31. Dynamic Color Threshold Threshold dapat dipilih apakah threshold global atau threshold local Threshold menggunakan distance threshold dari warna-warna di sekitar obyek yang dimaksud
  • 32. Color Thresholding Dinamik Dengan Rata-Rata Acuan Sebelumnya diambil gambar-gambar contoh sebagai acuan untuk menentukan threholding dari warna yang diinginkan. Dari data warna-warna tersebut diambil rata-rata dari setiap elemen warna: Thresholding dilakukan dengan jarak d dari setiap rata-rata elemen warna bluerata-rataadalahb greenrata-rataadalah redrata-rataadalah g r
  • 34. Perbandingan Thresholding Static dan Dinamik Thresholding Dinamik Thresholding Static
  • 35. Aplikasi Color Detection SKIN DETECTION Menggunakan deteksi warna kulit (skin detection) dapat dilakukan menggunakan format RGB atau YCrCb Mendeteksi warna kulit banyak digunakan untuk aplikasi pengenalan wajah, deteksi badan atau anggota badan. Sangat sulit mendapatkan sistem deteksi warna kulit yang bersifat general, karena ada perbedaan warna kulit pada masing-masing ras (melayu, cina, eropa, latin atau afrika )
  • 36. Aplikasi Color Detection DETEKSI DAN PENGENALAN BUAH Setiap buah mempunyai warna yang spesifik Color thresholding dapat digunakan untuk mendeteksi dimana letak buah Color histogram dapat digunakan un tuk mengenali buah.
  • 37. Aplikasi Color Detection DETEKSI KEMATANGAN TOMAT Kematangan tomat dapat dibedakan menjadi tiga fase yaitu hijau, campur-warna dan merah Dengan deteksi warna RGB atau HSV atay YCrCb dapat dideteksi kematangan tomat
  • 38. Aplikasi Color Detection DETEKSI RAMBU-RAMBU LALU LINTAS Deteksi rambu-rambu lalu lintas dapat dilakukan menggunakan color thresholding baik RGB atau HSV, karena rambu-rambu lalu lintas mempunyai warna dan bentuk yang spesifik. Deteksi rambu-rambu lalu lintas dapat digunakan untuk dipasang pada kendaraan sebagai co-pilot atau smart navigation
  • 39. Palet Warna Bagaimana sebuah citra direpresentasikan dalam file? Pertama-tama seperti halnya jika kita ingin melukis sebuah gambar, kita harus memiliki palet dan kanvas  Palet: kumpulan warna yang dapat membentuk citra, sama halnya seperti kita hendak melukis dengan cat warna, kita memiliki palet yang bisa kita isikan berbagai warna cat air  Setiap warna yang berbeda dalam palet tersebut kita beri nomor (berupa angka)  Contoh untuk citra monokrom (warnanya hanya putih-abuabu-hitam), berarti kita memiliki palet sbb:
  • 40. Kanvas & Matriks Setelah itu kita dapat menggambar menggunakan warna-warna dalam palet tersebut di atas sebuah kanvas Sebuah kanvas dapat kita anggap sebagai sebuah matriks dimana setiap elemen dari matriks tersebut bisa kita isikan dengan salah satu warna dari palet Informasi tentang palet (korespondensi antara warna dengan angka) disimpan dalam komputer (program pembuka citra seperti Paint, Photoshop, dll) sehingga sebuah file citra dalam komputer hanya perlu menyimpan angka-angka yang merepresentasikan sebuah warna.  sebuah citra direpresentasikan dalam sebuah matriks yang berisi angka-angka
  • 41. Contoh 201 188 181 185 180 147 140 149 155 138 144 144 145 199 200 201 188 139 132 147 150 143 123 112 102 117 207 221 222 136 90 111 125 145 140 138 122 104 97 231 219 200 90 65 84 84 107 95 92 92 99 89 227 223 181 74 72 89 92 86 77 63 50 55 65 217 211 166 85 47 75 82 83 75 42 42 39 40 208 195 179 131 54 68 66 72 46 21 15 24 19 198 187 181 141 53 54 55 59 37 21 37 66 90 195 184 170 134 52 38 42 45 35 43 98 152 172 186 175 171 169 100 34 34 27 44 85 139 170 184 167 156 142 144 112 48 32 46 84 133 166 172 186 142 139 131 120 108 67 30 76 102 123 153 171 178 145 134 128 125 117 70 38 91 101 105 125 146 157 =
  • 42. Alur  Jika kita menyimpan gambar kucing tadi ke dalam sebuah file (kucing.bmp), maka yang disimpan dalam file tersebut adalah angka- angka yang diperoleh dari matriks kanvas. File kucing.bmp: Header Angka- angka dari matriks Informasi palet dan format file citra Program pembuka citra (Paint, Photoshop, dll) input Ditampilkan di layar
  • 43. Representasi dalam File Untuk Windows Bitmap Files (.bmp) Ada header berisi informasi jumlah baris dan kolom dalam citra, informasi palet, dll Header langsung diikuti dengan angka-angka dalam matriks, disusun perbaris Baris pertama langsung diikuti baris kedua, dst Bagaimana mengetahui awal suatu baris? (misal untuk membedakan citra berukuran 100x200 dengan 200x100)  lihat informasi jumlah baris dan jumlah kolom di header Header Baris 1 ….. Baris terakhir
  • 44. Representasi dalam File  Ada bermacam format representasi citra dalam file, seperti bmp, tif, jpg, dan sebagainya.  Format BMP merupakan format yang kurang efisien, karena semua informasi angka dalam baris disimpan semua. Misalkan ukuran header adalah H byte, ukuran citra 100x100 byte monokrom, maka ukuran file bmp tersebut adalah : H + data citra = H + 10000 Byte  Bagian data citra (10000 byte) sebenarnya bisa dikompresi agar ukuran file tidak terlalu besar. Salah satu cara kompresi adalah dengan terlebih dahulu mentransformasikan citra ke ruang yang berbeda (contoh: format file JPEG)  Topik ini lebih lanjut akan kita bahas di bahasan tentang Transformasi
  • 45. Kaitannya dengan frekuensi? Citra  ambil 1 baris  plot (sumbu x: posisi piksel dalam baris, sumbu y: intensitas keabuan/warna) Columns 1-9 : 71 70 70 70 73 77 81 83 73 …………………….. Columns 307-315: 92 93 84 93 96 79 121 218 232 Columns 316-324: 233 74 0 11 24 14 14 13 11 …………………….. Columns 397 through 400 : 24 8 13 15
  • 46. Kaitannya dengan Frekuensi?  Frekuensi dapat dilihat perbaris dan perkolom atau perbidang
  • 47. clear all Im=imread('meridian.png'); figure(1), imshow(Im); Im(1:3,1:3,:) figure(2), imshow(Im(:,:,1)); figure(3), imshow(Im(:,:,2)); figure(4), imshow(Im(:,:,3)); img1=rgb2gray(Im); subplot(2,2,1); imshow(img1); title('Gambar Asli'); grayImg=mat2gray(img1); subplot(2,2,2); imhist(grayImg); title('Histogram Meridiana');
  • 48. clear all Im=imread('meridian.png'); figure(1), imshow(Im); Im(1:3,1:3,:) figure(2), imshow(Im(:,:,1)); figure(3), imshow(Im(:,:,2)); figure(4), imshow(Im(:,:,3)); [N,M,K]=size(Im); H(1:256)=0; for n=1:N for m=1:M H(Im(n,m,1)+1) = H(Im(n,m,1)+1) + 1 ; end end figure(5), plot(H); J(1:256)=0; for n=1:N for m=1:M J(Im(n,m,2)+1) = J(Im(n,m,2)+1) + 1 ; end end figure(6), plot(J); K(1:256)=0; for n=1:N for m=1:M K(Im(n,m,3)+1) = K(Im(n,m,3)+1) + 1 ; end end figure(7), plot(K);
  • 49. clear all Im=imread('Beruang.png'); figure(1), imshow(Im); %Im(1:3,1:3,:) %figure(2), imshow(Im(:,:,1)); %figure(3), imshow(Im(:,:,2)); %figure(4), imshow(Im(:,:,3)); [N,M,K]=size(Im); H(1:256)=0; Lmax=0; Lmin=0; for n=1:N for m=1:M H(Im(n,m)+1) = H(Im(n,m)+1) + 1 ; Lmax=max(Lmax,Im(n,m)); Lmin=min(Lmin,Im(n,m)); end end figure(2), plot(H); for n=1:N for m=1:M Im1(n,m)=(Im(n,m)-Lmin)*(255/(Lmax-Lmin)); end end figure(3), imshow(Im1); Im2=histeq(Im); figure(4), imshow(Im2);
  • 50. clear all Im=imread('Beruang.png'); figure(1), imshow(Im); %Im(1:3,1:3,:) %figure(2), imshow(Im(:,:,1)); %figure(3), imshow(Im(:,:,2)); %figure(4), imshow(Im(:,:,3)); [N,M,K]=size(Im); H(1:256)=0; Lmax=0; Lmin=0; for n=1:N for m=1:M H(Im(n,m)+1) = H(Im(n,m)+1) + 1 ; Lmax=max(Lmax,Im(n,m)); Lmin=min(Lmin,Im(n,m)); end end figure(2), plot(H); for n=1:N for m=1:M Im1(n,m)=(Im(n,m)-Lmin)*(255/(Lmax-Lmin)); end end figure(3), imshow(Im1); Im2=histeq(Im); figure(4), imshow(Im2);
  • 51. clear all Im=double(imread('meridian.png')); figure(1), imshow(uint8(Im)); A=[-1 0 1;-2 0 2; -1 0 1]; B=[-1 -2 -1;0 0 0; 1 2 1]; [N,M,K]=size(Im); [N1,M1]=size(A); C1(1:N,1:M)=0; C2(1:N,1:M)=0; Sumt(1:N,1:M)=0; for n=1:N for m=1:M Y(n,m)=0.299*Im(n,m,1)+0.114*Im(n,m,2)*0.587*Im(n,m,3); end end figure(2), imshow(uint8(Y)); for n=2:N-1 for m=2:M-1 Sum1=0;Sum2=0; for i=-(N1-1)/2:(N1-1)/2 for j=-(M1-1)/2:(M1-1)/2 Sum1 = Sum1 + A(i+2,j+2)*Y(n+i,m+j); Sum2 = Sum2 + B(i+2,j+2)*Y(n+i,m+j); end end C1(n-1,m-1)=Sum1; C2(n-1,m-1)=Sum2; Sumt(n-1,m-1)=Sum1+Sum2; end end figure(3), imshow(uint8(abs(C1))); figure(4), imshow(uint8(abs(C2))); figure(5), imshow(uint8(abs(Sumt)));
  • 52. Cara Mengetahui Informasi VideoCara Mengetahui Informasi Video f = imread('lena.tif'); f = double(f); wm = imread('dip.tif'); wm = rgb2gray(wm); alpha = 0.3; [m,n] = size(f); fwm = zeros(m,n); [r,c] = size(wm); fwm(101:100+r, 101:100+c) =wm; hf = (1-alpha) * f + alpha * fwm; hf = uint8(hf); figure, imshow(hf); % Kembalikan watermark hf = double(hf); iwm = hf - (1-alpha)*f; iwm = uint8(iwm); figure, imshow(iwm); f = imread('lena.tif'); f = double(f); wm = imread('dip.tif'); wm = rgb2gray(wm); alpha = 0.3; [m,n] = size(f); fwm = zeros(m,n); [r,c] = size(wm); fwm(101:100+r, 101:100+c) =wm; hf = 4*(floor(f./4)) + floor(fwm./64); hf = uint8(hf); figure, imshow(hf); % Kembalikan watermark hf = double(hf); iwm = hf - 4*(floor(hf./4)); iwm = iwm/3; figure, imshow(iwm);
  • 53. Cara Mengetahui Informasi VideoCara Mengetahui Informasi Video >> info=imaqhwinfo('winvideo',1); >> info.SupportedFormats' ans = 'YUY2_1280x720' 'YUY2_160x120' 'YUY2_176x144' 'YUY2_1920x1080' 'YUY2_320x240' 'YUY2_352x288' 'YUY2_640x480'
  • 54. Contoh Penggunaan Frame_1.mContoh Penggunaan Frame_1.m 1 clear all 2 vid=videoinput('winvideo',1,'YUY2_160x120'); 3 preview(vid); 4 data=getsnapshot(vid); 5 data1=ycbcr2rgb(data); 6 figure(2), imshow(data1); 7 imwrite(data1,'test1.bmp');
  • 55. Contoh Penggunaan Frame_2.mContoh Penggunaan Frame_2.m clear all % Membaca dari camera vid=videoinput('winvideo',1,'YUY2_160x120'); preview(vid); for j = 1:60 data=getsnapshot(vid); data1=ycbcr2rgb(data); figure(2), imshow(data1); imwrite(data1,[int2str(j),'.bmp']); end
  • 56. Contoh Penggunaan Frame_3.mContoh Penggunaan Frame_3.m clear all % Membaca dari camera% Membaca dari camera vid=videoinput('winvideo',1,'YUY2_160x120'); preview(vid); for j = 1:60 data=getsnapshot(vid); data1=ycbcr2rgb(data); figure(2), imshow(data1); imwrite(data1,[int2str(j),'.bmp']); end % Konversi ke dalam File Video AVI% Konversi ke dalam File Video AVI aviobj = avifile(‘soe.avi'); aviobj.quality = 80; aviobj.COMPRESSION ='None'; for i=1:60 image=imread([int2str(i),'.bmp']); aviobj=addframe(aviobj,image); end aviobj=close(aviobj);
  • 57. % Record your voice for 5 seconds. recObj = audiorecorder(44100, 16, 2); disp('Start speaking.') recordblocking(recObj, 5); disp('End of Recording.'); % Play back the recording. play(recObj); % Store data in double-precision array. myRecording = getaudiodata(recObj); plot(myRecording); wavwrite(myRecording,'Test.wav'); save('Test1','myRecording','-double'); % Plot the samples. myRecording1(:,1)=myRecording(:,1); %myRecording1(2:end,1)=myRecording(:,1); myRecording1(:,2)=myRecording(:,1)-myRecording(:,2); myRecording1(:,2)=myRecording1(:,1)+myRecording1(:,2); save('Test2.wav','myRecording1','-double'); plot(myRecording); Proses Merekam Suara *.wav
  • 58. ------------------------------------------------------------ Konversi dari Jpg ke bmp (Citra Thresholding) ------------------------------------------------------------- citra = imread('Soe.jpg'); [baris, kolom, layer] = size(citra); citra = double(citra); for i = 1:baris for j = 1:kolom for k = 1:layer if citra(i, j, k) < 120 citraThresholding(i, j, k) = 0; else citraThresholding(i, j, k) = 1; end end end end imshow(citraThresholding); imwrite(citraThresholding, 'SoeThreshold.bmp', 'bmp');
  • 59. ------------------------------------------------------------- Konversi dari Jpg ke bmp (Citra Negatif) ------------------------------------------------------------- citra = imread('Soe.jpg'); [baris, kolom, layer] = size(citra); citra=double(citra); for i = 1:baris for j = 1:kolom for k = 1:layer citraNegatif(i, j, k) = 255 - citra(i, j, k); end end end citraNegatif = uint8(citraNegatif); imshow(citraNegatif); imwrite(citraNegatif, 'SoeNegatif.bmp', 'bmp');
  • 60. ------------------------------------------------------------- Citra di Gabung ------------------------------------------------------------- citra1 = imread('Soe.jpg'); citra2 = imread('Debie.jpg'); [baris, kolom, layer] = size(citra1); citra1 = double(citra1); citra2 = double(citra2); for i = 1:baris for j = 1:kolom for k = 1:layer citraGabung(i,j,k) = citra1(i,j,k) + citra2(i,j,k); end end end citraGabung = uint8(citraGabung); imshow(citraGabung); imwrite(citraGabung, 'Soeku.bmp', 'bmp');
  • 61. ------------------------------------------------------------- Citra dikalikan ------------------------------------------------------------- citra1 = imread('Soe.jpg'); citra2 = imread('Debie.jpg'); [baris, kolom, layer] = size(citra1); citra1 = double(citra1); citra2 = double(citra2); for i = 1:baris for j = 1:kolom for k = 1:layer citraKali(i,j,k) = citra1(i,j,k) + citra2(i,j,k); end end end citraKali = uint8(citraKali); imshow(citraKali); imwrite(citraKali, 'citraKali.bmp', 'bmp');
  • 62. ------------------------------------------------------------- Citra diterangkan ------------------------------------------------------------- citra = imread('Soe.jpg'); [baris, kolom, layer] = size(citra); citra = double(citra); for i = 1:baris for j = 1:kolom for k = 1:layer citraBrightPlus(i, j, k) = citra(i, j, k) + 50; end end end citraBrightPlus = uint8(citraBrightPlus); imshow(citraBrightPlus); imwrite(citraBrightPlus,'SoeBrightPlus.bmp','bmp');
  • 63. ------------------------------------------------------------- Citra dikalikan dengan Skalar ------------------------------------------------------------- citra = imread('Soe.jpg'); [baris, kolom, layer] = size(citra); citra=double(citra); for i = 1:baris for j = 1:kolom for k = 1:layer citraPerkalianSkalar(i,j,k)= 1.5 * citra(i,j,k); end end end citraPerkalianSkalar = uint8(citraPerkalianSkalar); imshow(citraPerkalianSkalar); imwrite(citraPerkalianSkalar, 'GohankaliSkalar.bmp', 'bmp');
  • 64. ------------------------------------------------------------- Citra direlokasi (Horizontal) ------------------------------------------------------------- citra = imread('Soe.jpg'); [baris, kolom, layer] = size(citra); citra=double(citra); for i = 1:baris for j = 1:kolom for k = 1:layer citraFlipHorisontal(i,j,k)=citra(i,kolom-j+1,k); end end end citraFlipHorisontal = uint8(citraFlipHorisontal); imshow(citraFlipHorisontal); imwrite(citraFlipHorisontal, 'SoeFlipHorisontal.bmp', 'bmp');
  • 65. ------------------------------------------------------------- Citra direlokasi (Vertikal) ------------------------------------------------------------- citra = imread('Soe.jpg'); [baris, kolom, layer] = size(citra); citra=double(citra); for i = 1:baris for j = 1:kolom for k = 1:layer citraFlipVertikal(i,j,k)=citra(baris-i+1,j,k); end end end citraFlipVertikal = uint8(citraFlipVertikal); imshow(citraFlipVertikal); imwrite(citraFlipVertikal, 'SoeFlipVertikal.bmp', 'bmp');
  • 66. ------------------------------------------------------------- Citra direlokasi (Dicerminkan seperti aslinya) ------------------------------------------------------------- citra = imread('Soe.jpg'); [baris, kolom, layer] = size(citra); citra=double(citra); for i = 1:baris for j = 1:kolom for k = 1:layer citraCerminOrigin(i,j,k)=citra(baris-i+1,kolom-j+1,k); end end end citraCerminOrigin = uint8(citraCerminOrigin); imshow(citraCerminOrigin); imwrite(citraCerminOrigin, 'SoeCerminOrigin.bmp', 'bmp');
  • 67. ------------------------------------------------------------- Citra dirubah ke binary ------------------------------------------------------------- clear all; Im = imread ('jsf02.bmp'); [M,N,L] = size(Im); figure(1), imshow(uint8(Im)); %Dikonversikan dari Citra Warna ke Gray Level for i = 1:M for j = 1:N Im1(i,j)=(0.299*double(Im(i,j,1))) + (0.587*double(Im(i,j,2))) + (0.114*double(Im(i,j,3))) ; end end figure(2), imshow(uint8(Im1)); %Ditranfer dari Gray Level ke Biner Imb(i,j)=Im1(i,j); for i = 1:M for j = 1:N if Im1(i,j)<125 Imb(i,j)=0; else Imb(i,j)=255; end end end figure(3), imshow(uint8(Imb));
  • 68. clear all % Membaca dari camera vid=videoinput('winvideo',1,'YUY2_160x120'); preview(vid); for j = 1:60 data=getsnapshot(vid); data1=ycbcr2rgb(data); figure(2), imshow(data1); imwrite(data1,[int2str(j),'.bmp']); end % Konversi ke dalam File Video AVI aviobj = avifile('flameDetecteds.avi'); aviobj.quality = 80; aviobj.COMPRESSION ='None'; for i=1:60 image=imread([int2str(i),'.bmp']); aviobj=addframe(aviobj,image); end aviobj=close(aviobj); Proses Pembacaan Dari Kamera
  • 69. % Baca File Video dari Camera ke hasil konversi AVI importFile = ‘soe.avi'; %input('Source filename: ', 's'); %%% Open file [importFID,errorMsg]=fopen(importFile,'r','ieee-be'); % [importFID,errorMsg]=fopen(importFile,'r'); if importFID~=-1, % Get the filesize. fseek(importFID,0,'eof'); totalMsgLength=ftell(importFID)*8; fseek(importFID,0,'bof'); end Proses Baca Dari .avi ke image
  • 70. % Konversi ke dalam File Video mpeg %%% Read file bytewise and store the input message [data_in,readCount]=fread(importFID,[1,totalMsgLength],'uint8'); [baris,kolom] = size(data_in); data_in = uint8(transpose(data_in)); r = rem(kolom,188); if r ~= 0 for i = 1:188-r data_in(kolom+i) = 0; end end Tsym = 1e-06; Ts = 0.000224*2176/9072/188; % Setting Stop Time St = Ts*kolom; Proses Konversi Dari .avi ke mpeg
  • 71. %function writempeg(stream_in) stream_out = transpose(data_in); mpegfid = fopen('hasils.mpg','wb','ieee-be'); % IEEE Big Endian %mpegfid = fopen(stream_in,'wb','ieee-be'); % IEEE Big Endian fwrite(mpegfid,stream_out,'uint8'); % Read bitstream into byte fclose(mpegfid); % Tampilkan dalam Layar% Tampilkan dalam Layar readerobj = mmreader('hasils.mpg'); vidFrames = read(readerobj); numFrames = get(readerobj,'numberofFrames'); vidHeight = readerobj.Height; vidWidth = readerobj.Width; for k = 1 : numFrames mov(k).cdata = vidFrames(:,:,:,k); mov(k).colormap = []; end hf = figure; %set(hf, 'position', [150 150 vidWidth vidHeight]) %movie(hf, mov, 1, readerobj.FrameRate); movie(mov, 1, readerobj.FrameRate); Proses Konversi Dari .avi ke mpeg
  • 72. TUGAS INDIVIDU SYARAT UAS KAPITA SELEKTATUGAS INDIVIDU SYARAT UAS KAPITA SELEKTA Buat suatu karya ilmiah dengan topik, pilih salah satu topik dibawah ini :    “Video Compression Dari Citra bmp-AVI-MPEG Dengan MatLab ” “Video Compression Dari Citra jpg-MPEG-WMV Dengan MatLab” “Video Compression Dari Citra gif-AVI-FLY Dengan MatLab” atau jurnal yang terkait dengan topik diatas. Ada  pun ketentuannya adalah:   Minimal  5 referensi/daftar pustaka tahun terbit paling akhir 2010.   Paling sedikit 2 Halaman selain daftar pustaka. Berisi abstrak, pendahuluan,  isi, dan kesimpulan.           Note: - Jurnal setiap mahasiswa harus ada yang berbeda min. 2 judul, Dari 5 judul, jika sama maka akan dianggap plagiat - Hari ini ringkasannya dikumpul via email : soe@upiyptk.org s.d Jam 16:00 WIB - Hari Senin / 03 Maret 2014 disesuaikan dengan Jadwal Admisi PPs (Pascasarjana) di laporkan hasil review dari jurnal yang telah dicari dan Sesuai dengan ketentuan diatas. (Sebagai Soal Ujian UAS sekaligusSebagai Soal Ujian UAS sekaligus)
  • 73. CARA MENULIS KARYA ILMIAHCARA MENULIS KARYA ILMIAH Judul Apakah: - Informatif ? - Hemat kata ? - Sesuai isi ? Topik Apakah: - Original ? - Penting ? - Aplikabel / implikabel ? - Tidak obsolete ? (bukan hal baru) AbstrakAbstrak 1.Adakah Tujuan – Metode – Hasil – Kesimpulan ?. 2.Apakah semua isi abstrak dapat ditemukan dalam makalah ?. 3.Adakah kata kunci ?. 4.Sesuaikah dengan isi ?.
  • 74. A. Pendahuluan 1.Adakah latar belakang dan tujuan penelitian yang jelas ? B. Metode 1.Apakah metode diuraikan secara lengkap ? 2.Apakah metode yang digunakan tidak obsolute ? C. HasilC. Hasil 1.Apakah hasil yang diperoleh diuraikan secara jelas tanpa melibatkan interpretasi subjektif peneliti ? 2.Apakah hasil yang diperoleh sesuai dengan tujuan penelitian ? D. PembahasanD. Pembahasan 1.Apakah keterbatasan penelitian dijelaskan secara lengkap ? Adakah upaya peneliti untuk menguranginya ? 2.Apakah hasil yang diperoleh plausibel ? 3.Apakah peneliti membahas hasil penelitian sejenis terdahulu dan membandingkannya dengan hasil peneliti sendiri ? Apakah materi studi banding tidak obsolete ? 4.Apakah tujuan penelitian tercapai ? CARA MENULIS KARYA ILMIAHCARA MENULIS KARYA ILMIAH
  • 75. E. Daftar Pustaka 1.Apakah perujukan dilakukan secara memadai / adakah indikasi ke arah plagiarisme ? 2.Apakah penulisan rujukan dalam-teks dan daftar pustaka dilakukan secara konsisten sesuai dengan salah satu sistem perujukan ? 3.Apakah rujukan dalam-teks sesuai dengan daftar pustaka ? F. Lain-lainF. Lain-lain 1.Apakah bahasa Indonesia yang digunakan sesuai dengan kaidah dan tata bahasa Indonesia yang formal ? 2.Apakah isi makalah disajikan secara jelas, sistematik, dan berkelanjutan ? 3.Apakah penggunaan bahasa Inggris dilakukan secara baik ? CARA MENULIS KARYA ILMIAHCARA MENULIS KARYA ILMIAH
  • 76. CARA MENULIS KARYA ILMIAHCARA MENULIS KARYA ILMIAH Alternatif judul untuk sebuah Karya Ilmiah ini yaitu: 1.Jejaring Saraf Tiruan Menggunakan Algoritma Backpropagation untuk Memprediksi Prestasi Calon Mahasiswa Universitas Putra Indonesia “YPTK” Padang: Penekanan penelitian pada “penilaian cara dan hasil penggunaan jejaring saraf tiruan dengan algoritma backpropagation”. Data Universitas Putra Indonesia hanya sebagai contoh. 2.Prediksi Prestasi Calon Mahasiswa Universitas Putra Indonesia “YPTK” Padang menggunakan Jejaring Saraf Tiruan dengan Algoritma Backpropagation: Penekanan penelitian pada “prediksi prestasi calon mahasiswa” di suatu lokasi tertentu, jejaring saraf tiruan hanya sebagai alat bantu.
  • 77. Compresi File PdfCompresi File Pdf Alamat Compresi Pdf adar menjadi lebih kecil : www.compres.pdf.co.uk