Senin, 06 Juli 2009

Jawaban Tugas 7

Deteksi Warna Kulit

Satu fungsi image adalah satu penyajian matematis dari satu image, antara lain: f ( x) = f ( x,y ) intensitas cahaya atau daya pada posisi x. Satu dapat tulis: f ( x) = i( x). r ( x) dengan i (x ) iluminasi dan r (x ) pemantulan. Keduanya adalah terbatas: MEMASUKI<= i( x) <= dan memasuki<= r ( x) <= 1, sesuai dengan total pemantulan batas serapan dan penjumlahan. Pentingnya r (x ) dalam hal ini, tapi dengan cahaya struktur dan bentuk dari menaungi i(x ) permainan satu peran penting. Dengan tampilan hitam dan putih , f ( x) adalah satu nilai skalar; di image spektral multi f (x ) adalah satu nilai vektor. Image yang punya f 3 dimensi: f ( x) = { fred (x ), fgreen (x ), fblue (x )}. Pencitraan image diambil dari satelit atau pesawat udara, menghasilkan satu image yang mana dapat bisa berada pada dimensi 30 sampai dimensi 256 . Untuk 3 - D menggambar satu x= penggunaan {x,y,x }, dan untuk satu gugus berkala image: f ( x,t ).

Satu model pendigitan dideskripsikan pada koordinat digtal ruang dan waktu, memanggil sampling, dan nilai intensitas tersebut, disebut dengan kuantisasi. Kamera CCD dan scanner sering mempergunakan persegi untuk melakukan sampling; pancaran pemasukan kemudian adalah terintegrasi berlalu area atau bagian dari ini. Untuk menggambar image yang mana harus diperlihatkan pada televisi, segiempat memiliki sisi dengan rasio 4:3 ( rasio aspek) atau 16:9 untuk layar lebar paling baru standar TV. Format lain digunakan juga pada kamera CCD percobaan seperti titik bersudut enam. Ini mempunyai keuntungan pada satu titik yang punya memiliki jenis sesuatu dari titik berdekatan.

Ketika memilih satu sistem kamera lensa zoom, pastikan bahwa resolusinya cukup tinggi jadi saat itu resolusi paling kecil punya satu luas permukan dari paling tidak pada suatu titik tertentu. Banyaknya pixel yang diperlukan tergantung pada kebutuhan yang diukur dan dengan akurasi yang dihitung. Lebih tinggi daya pisah, makin banyak tempat yang diperlukan untuk penyimpanan ini. Waktu kalkulasi untuk algoritma juga bertambah, misal seperti n.ln (n ), n2 atau n3, n menjadi beberapa titik.

Itulah sebabnya mengapa daya pisah piramida dipergunakan: antara lain dari satu 512*512 memperoleh image, kita hitung pertama 256*256, 128*128, 64*64, dsb. image. Menemukan objek dapat terjadi pada 64*64 gambar. Menentukan permukaan dari satu objek kemudian lebih tepat pada 512*512 gambar. Tentu, waktu yang ada harus dibebani siap sedia dibutuhkan ke bangun piramida seperti halnya ingatan ekstra memerlukan simpan image. Bagaimanapun, sejumlah titik pada image ekstra tidak akan pernah lebih dari sejumlah titik pada image asli (melihat bab 7.1.1). Sejumlah bytes memerlukan untuk menyimpan data intermediate, seperti itu tepi dari objek, dapat kurang

Jawaban Tugas 7

Pengenalan angka dan huruf menggunakan Jaringan Syaraf Buatan (JSB)

Secara umum dan sederhana, citra dapatdidefinisikan sebagai representasi visual dari suatu objek. Lebih jauh citra juga dapat diartikan sebagai gambaran yang representatif mengenai suatu objek sedemikian sehingga citra tersebut dapat memberikan kesan yang mendalam mengenai objek yang dimaksud. Jika ingin mendefinisikannya lebih bebas lagi, citra dapat didefinisikan sebagai bentuk visual yang dapat diterima secara baik oleh indera penglihatan, apapun bentuknya. Dalam bidang komputer, citra atau disebut juga image merupakan representasi visual dari suatu objek setelah mengalami berbagai transformasi data dari berbagai bentuk rangkaian numerik.

Untuk mendapatkan data yang akurat dan konsisten dari setiap sampel, digunakan suatu metode sederhana yaitu dengan cara menghitung jumlah pixel aktif yang terdapat pada bagian-bagian dari sampel. Adapun algoritma umum dari pengekstrakan data numerik dari setiap sampel adalah sebagai berikut :
1. Setiap sampel yang diamati, dibagi menjadi beberapa area, misalnya 4 kolom dan 5 baris,sehingga akan terdapat 20 area pengamatan; 2. jumlah pixel yang aktif dari setiap area yang ada dihitung secara akurat;
3. dihasilkan sejumlah 20 data numerik dengan atribut kolom dan baris yang diharapkan dapat mewakili data ciri dari sampel yang diamati. Setelah melalui tahapan normalisasi, data-data numerik tadi akan menjadi data input pada JSB. Dengan demikian jumlah area yang ada pada setiap sampel akan bersesuaian dengan jumlah neuron input JSB yang akan digunakan. Agar dapat dihasilkan kumpulan data yang seragam, maka setiap sampel yang akan diamati haruslah memiliki jumlah area pembagian
yang sama.

Jawaban Tugas 7

Penggunaan Analisa Struktur Link pada Image Retrieval System
Senatha Cahya Christaneka, 201114398 (2005)

Beberapa penelitian pada Web Search telah mendemonstrasikan bahwa analisa struktur link sangat efektif dalam mendapatkan authoritative web pages (web page yang mengandung informasi dengan kualitas tinggi terhadap suatu topik). Informasi seperti bagaimana page berhubungan dengan page lainnya biasanya digunakan untuk menyusun algoritma searching dan dapat meningkatkan kemampuan search engine untuk merangking page berkualitas. Pembahasan Tugas Akhir ini akan menganalisa image retrieval system yang menggunakan analisa struktur hyperlink. Dasar pemikiran utama dari sistem ini adalah bahwa suatu page p akan menampilkan (atau menghubungkan ke) suatu image apabila pembuat page mempertimbangkan image tersebut akan memberikan nilai tambah kepada viewer dari page tersebut. Dengan kata lain dapat diasumsikan bahwa image yang terdapat di suatu authoritative page pada topik t merupakan kandidat yang bagus untuk image berkualitas pada topik tersebut. Gambar 1 menunjukkan contoh output image yang dihasilkan pada query ‘Tennis Player’, ‘Formula One Grand Prix’, dan ‘Frank Lampard’. Beberapa kelebihan dari image retrieval system ini adalah sebagai berikut :

1. Tidak memerlukan analisa image
2. Tidak diperlukan perubahan format query. Query yang digunakan untuk mendapatkan web page juga akan digunakan untuk mendapatkan image
3. Tidak bergantung pada nama file dan image caption yang diberikan oleh pembuat page. Hal ini memungkinkan untuk mendapatkan image yang sesuai dengan query walaupun image tersebut memiliki nama yang tidak berhubungan, seperti ‘image1‘


Secara umum input dari sistem ini berupa keyword atau kata kunci pencarian dan output dari sistem adalah image yang relevan dengan keyword tersebut. Selain itu sistem juga akan memberikan informasi tambahan tentang image tersebut, seperti urlcasal image tersebut dan ukuran image. Arsitektur sistem berupa diagram urutan proses yang dilakukan dapat dilihat pada gambar 2. Image yang terdapat pada halaman web yang relevan dengan suatu topik merupakan kandidat yang bagus untuk menjadi image berkualitas tentang topik tersebut. Oleh karena itu untuk dapat mendapatkan image yang berkualitas terhadap suatu topik sebelumnya harus didapatkan terlebih dahulu page yang relevan dengan topik tersebut. Query yang merupakan input dari user akan diteruskan ke Google untuk mendapatkan Authoritative Page melalui Google API. Authoritative page hasil dari Google API tersebut disebut sebagai root set. Proses selanjutnya adalah memperluas root set menjadi base set dengan menambahkan page yang ditunjuk (outlink) dan page yang menunjuk (inlink) page pada root set. Inlink akan didapatkan menggunakan GoogleAPI dan outlink didapatkan melalui proses parsing. Pada saat parsing juga akan didapatkan image yang terkandung pada page tersebut. Hasil dari proses ini adalah database topical page-image collection yang berisi page-page base set beserta dengan relasi antar page dan image yang terkandung didalamnya.


Proses ranking image digunakan untuk mendapatkan image dengan tingkat relevansi terbesar terhadap suatu query. Proses utama dari tahap ini adalah perhitungan nilai rangking image menggunakan metode analisa struktur link. Namun, pada tahap ini juga terdapat beberapa komponen tambahan yang berperan menilai tingkat relevansi suatu image terhadap query, yaitu proses filtering non-authoritative image berdasarkan nama file, perhitungan similarity nama file image, dan proses filtering non-authoritative berdasarkan size dari image. Terdapat tiga metode yang digunakan untuk menghitung nilai ranking image yang telah didapatkan melalui proses sebelumnya. Semua metode yang digunakan pada proses perhitungan image ini berdasarkan pada algoritma analisa struktur link, jadi tidak dilakukan analisa content dari image untuk menentukan ranking suatu image. Metode yang pertama adalah metode in-degree rank, metode yang kedua adalah metode HITS, dan metode yang ketiga adalah cocitation. Metode yang pertama menghitung ranking image dengan cara menghitung jumlah page yang menunjuk page tempat image tersebut berasal. Metode HITS menghitung ranking image dengan cara menghitung nilai hub dan authority page yang memuat page tersebut terlebih dahulu. Ranking image dengan metode ini merupakan nilai authority dari page tempat image tersebut berasal. Metode cocitation akan menghitung ranking image dengan memanfaatkan matriks cocitation. Matriks cocitation akan menunjukkan kemiripan topik antar image berdasarkan relasi antar image tersebut.
Pada image retrieval system, validasi dan evaluasi hasil sulit dilakukan, bahkan pada document-based information retrieval biasa karena sejauh ini belum ada semacam benchmark yang dapat digunakan untuk mengukur performansi sistem. Pendekatan yang digunakan untuk menguji performa sistem ini adalah dengan menggunakan pendekatan precision measurement. Pendekatan ini dilakukan dengan cara mengukur presisi image-image yang dihasilkan. Presisi image diukur dengan cara melihat berapa banyak image yang relevan dengan query dibandingkan dengan jumlah output yang dihasilkan. Masalah berikutnya yang dihadapi adalah kesulitan dalam menentukan apakah suatu image itu relevan atau tidak terhadap query user. Apabila image yang dihasilkan dapat secara jelas menggambarkan bahwa image tersebut relevan atau tidak terhadap query maka tidak akan sulit untuk menghakimi image tersebut. Namun, suatu image dapat saja dianggap relevan oleh seorang user, tetapi user lainnya juga dapat mengatakan bahwa image tersebut tidak relevan. Image ini disebut dengan image yang ambigu. Contoh image yang ambigu terhadap query ‘Car Picture’ dan ‘Frank Lampard’ dapat dilihat pada gambar 3.
Gambar 4 menunjukkan tampilan web yang digunakan untuk menampilkan image yang didapatkan. Sistem ini telah diuji coba pada 7 buah query dengan spesifikasi yang berbeda-beda. Dari hasil uji coba dapat disimpulkan hal-hal sebagai berikut :
  1. Sistem ini mampu menghasilkan image yang tidak menggambarkan query user tetapi masih berhubungan erat dengan query. Image-image Desi Bebek, Untung Angsa, dan Gober Bebek dapat muncul pada hasil dari query ‘Donald Duck’ karena hubungan semua karakter tersebut dengan query sangat dekat.
  2. Penggunaan metode ranking InDegree dan HITS dapat menghasilkan beberapa output image yang berasal dari satu web page yang sama. Hal ini disebabkan karena ranking image pada metode ini merupakan ranking page tempat image tersebut berasal. Jadi beberapa image pada satu halaman web dapat memiliki nilai ranking yang sama besar.
  3. Penggunaan analisa struktur link tidak melakukan analisa image sama sekali jadi algoritma ini tidak akan mampu mengatasi query yang mengandung spesifikasi image seperti warna, orientasi, dan beberapa fitur spesifik lainnya. Image-image yang relevan dengan query ‘Jaguar Car’ dapat dihasilkan oleh sistem, tetapi sistem tidak akan dapat menghasilkan image ‘Red Jaguar Car’.
  4. Outlink yang diambil sangat berpengaruh terhadap tingkat presisi sistem karena pada suatu web page juga terdapat link menuju page lain yang tidak memiliki kemiripan topik (non-informative link). Semakin banyak non-informative link yang dapat difilter maka semakin tinggi pula tingkat presisi sistem.






Jawaban Tugas 4

program:
void CMbohDlg::OnButton1()
{ int i,j,red,green,blue,gray; long int warna,warnagray;
CDC* pDC = m_pic1.GetDC(); CDC dcMem1; CRect rect; BITMAP bm;
HBITMAP hBitmap=(HBITMAP)::LoadImage(AfxGetInstanceHandle(),"a.bmp",IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE|LR_CREATEDIBSECTION);
if(hBitmap)
{ if(m_bmpBitmap.DeleteObject()) m_bmpBitmap.Detach(); m_bmpBitmap.Attach(hBitmap);
}
m_pic1.GetClientRect(rect); m_bmpBitmap.GetBitmap(&bm);
dcMem1.CreateCompatibleDC(pDC); dcMem1.SelectObject(&m_bmpBitmap);
for(i=0;iStretchBlt(0,0,rect.Width(),rect.Height(),&dcMem1,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);
}

void CMbohDlg::OnButton2()
{ int i,j,red,green,blue,th; long int warna,wgray,xgray; CDC* pDC = m_pic2.GetDC(); CDC dcMem1;
CRect rect; BITMAP bm;
HBITMAP hBitmap=(HBITMAP)::LoadImage(AfxGetInstanceHandle(),"a.bmp",IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE|LR_CREATEDIBSECTION);
if(hBitmap)
{
if(m_bmpBitmap.DeleteObject()) m_bmpBitmap.Detach(); m_bmpBitmap.Attach(hBitmap);
}
m_pic2.GetClientRect(rect); m_bmpBitmap.GetBitmap(&bm);
dcMem1.CreateCompatibleDC(pDC); dcMem1.SelectObject(&m_bmpBitmap);
th= int (256/16);
for(i=0;iStretchBlt(0,0,rect.Width(),rect.Height(),&dcMem1,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);
}

//fungsi menggubah warna ke rgb
void WarnaToRGB(long int warna,int *Red, int *Green, int *Blue)
{ *Red = warna & 0x000000FF; *Green = (warna & 0x0000FF00) >> 8;
*Blue = (warna & 0x00FF0000) >> 16; }

//fungsi mengubah rgb ke warna
long int RGBToWarna(int Red, int Green, int Blue)
{ return(Red+(Green<<8)+(blue<<16));}

Jawaban Tugas 5

Program di bawah ini merupakan program utama dari program untuk pengenalan angka dari 0 - 9 :

//Konversi dari data pixel ke RGB dan dari data RGB ke data Pixel:
void WarnaToRGB(long int warna,int *Red, int *Green, int *Blue)
{
*Red = warna & 0x000000FF;
*Green = (warna & 0x0000FF00) >> 8;
*Blue = (warna & 0x00FF0000) >> 16;
}
long int RGBToWarna(int Red, int Green, int Blue){return(Red+(Green<<8)+(Blue<<16));
}

//Program untuk melakukan load angka (*.bmp).
void CAngkaDlg::OnLoad1()
{static char BASED_CODE szFilter[]="Bitmap Files (*.bmp)|*.bmp||";
CFileDialog m_ldFile(TRUE,"*.bmp",name, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,szFilter);
if(m_ldFile.DoModal()==IDOK) { name=m_ldFile.GetPathName();
}
CDC* pDC = m_pic1.GetDC(); CDC dcMem;
CRect rect; BITMAP bm;
HBITMAP hBitmap=(HBITMAP)::LoadImage(AfxGetInstanceHandle(),name,IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);
if(hBitmap) {
if(m_bmpBitmap.DeleteObject()) m_bmpBitmap.Detach(); m_bmpBitmap.Attach(hBitmap);
}
m_pic1.GetClientRect(rect); m_bmpBitmap.GetBitmap(&bm);
dcMem.CreateCompatibleDC(pDC); dcMem.SelectObject(&m_bmpBitmap);
pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0, bm.bmWidth,bm.bmHeight,SRCCOPY);
}

//Program untuk menampilkan proyeksi integral horizontal dari angka .
void CAngkaDlg::OnHip1() {
int i,j; int red,green,blue; long int warna;
CDC* pDC = m_pic1.GetDC(); CDC dcMem; CRect rect; BITMAP bm;
HBITMAP hBitmap=(HBITMAP)::LoadImage(AfxGetInstanceHandle(),name,IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);
m_pic1.GetClientRect(rect); m_bmpBitmap.GetBimap(&bm);
dcMem.CreateCompatibleDC(pDC); dcMem.SelectObject(&m_bmpBitmap);
for(j=0;j<,bm.bmWidth;j++){
hx1[j]=0;
for(i=0;i<,bm.bmHeight;i++)
{
warna=dcMem.GetPixel(j,i);
WarnaToRGB(warna,&red,&green,&blue);
hx1[j]+=(float)(255-red)/255;}
hx1[j]=hx1[j]/2;
}
CDC* pDC1 = m_pic3.GetDC();
for(i=1;iMoveTo(i*0.75,0);
pDC1->LineTo(i*0.75,hx1[i]); }
pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0, bm.bmWidth,bm.bmHeight,SRCCOPY);
}

//Program untuk menampilkan proyeksi integral vertikal dari angka.
void CAngkaDlg::OnVip1() {
int i,j; int warna,red,green,blue; CDC* pDC = m_pic1.GetDC();
CDC dcMem1; CRect rect; BITMAP bm;
HBITMAP hBitmap=(HBITMAP)::LoadImage(AfxGetInstanceHandle(),name,IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);
if(hBitmap) {
if(m_bmpBitmap.DeleteObject()) m_bmpBitmap.Detach();
m_bmpBitmap.Attach(hBitmap); }
m_pic1.GetClientRect(rect); m_bmpBitmap.GetBitmap(&bm);
dcMem1.CreateCompatibleDC(pDC); dcMem1.SelectObject(&m_bmpBitmap);
for(j=0;j<,bm.bmHeight;j++) {
hy1[j]=0;
for(i=0;i<,bm.bmWidth;i++) {
warna=dcMem1.GetPixel(j,i);
warnaToRGB(warna,&red,&green,&blue);
hy1[j]+=(float)(255-red)/255; }
hy1[j]=hy1[j]/2;
}
CDC*pDC1= m_pic2.GetDC(); for(i=0;i
pDC1->MoveTo(0,0.75*i); pDC1->LineTo(hy1[i],0.75*i);
}}