Merancang WPAP Generator dengan Algoritma Sieve of Erathosthenes
-
Upload
rio-fernando -
Category
Documents
-
view
315 -
download
1
description
Transcript of Merancang WPAP Generator dengan Algoritma Sieve of Erathosthenes
-
Oleh : Smoosh TIF4C
Art of programming, begitu Donald Knuth menyebut prosesi disain algoritma di mahakaryanya The
Art of Computer Programming. Yap, programming adalah sebuah seni, dan programmer adalah
seorang artis. Adalah amat menarik, untuk mengkombinasikan art of programming dengan
mainstream digital arts seperti music, painting, dan aliran lainnya.
WPAP, sebagai salah satu digital art yang unique, indah, penuh cita rasa, dan begitu wah, adalah
sebuah fokus yang pantas untuk dipandang sebagai aliran digital art yang menantang untuk di solve
dengan apa yang saya sebut sebagai programming way.
Programming way adalah menterjemahkan kompleksitas seni mutual sebagai langkah yang
terstruktur secara matematis, dengan kata lain melakukan injeksi matematis dalam pemahaman
langkah pengerjaan atas suatu karya seni, sehingga bisa menimbulkan pola yang akan dibangun
sebagai algoritma.
Kali ini, saya ingin menuliskan buah pemikiran atas analisa solusi kasus mengenai problemasi
pembuatan WPAP instant oleh programmer yang tidak memiliki kemampuan seni mainstream yang
praktis (seperti saya sendiri). Dan tentu saja, hasil dari sesuatu yang instant tidak akan pernah
menyamai sebuah karya yang dibangun dengan skill dan penuh perasaan.
Sedikit kilasan, Prosesi pembuatan WPAP bisa di rangkum ke dalam langkah sebagai berikut :
Pemetaan struktur lekuk wajah menjadi box box trapesium
Pewarnaan masing masing box dengan pemaduan yang menghasilkan keunikan
Itulah intinya, setidaknya bagi saya yang sama sekali tidak mengerti disain digital ini. Apa itu
kedengaran mudah? Tentu tudak! Pemetaan struktur wajah memerlukan keahlian khusus, dan
metode pewarnaan inilah yang menjadi permasalahan para art-noob, harus berseni! Jika komposisi
warnanya salah, maka karya anda akan terlihat mati.
Dalam analisa solusi ini, metode yang dimanfaatkan adalah Sieve Of Eratosthenes
(http://en.wikipedia.org/wiki/Sieve_of_Eratosthenes). Sieve Of Eratosthenes atau biasa disebut
Eratos adalah metode prosedural yang sederhana namun amat cerdas yang diciptakan untuk
menyelesaikan pencarian bilangan prima dengan kecepatan dan alokasi memori yang minimum.
Lalu, kenapa ini bisa berkaitan dengan WPAP?
-
Eratos memiliki langkah praktis yang cerdas untuk menemukan bila
langkahnya bisa dituliskan sebagai berikut :
Memanfaatkan sebuah pointer (penanda)
Semua bilangan yang ditemui pointer adalah prima
Pointer memulai dari angka 2
Setiap kelipatan dari bilangan yang telah ditemui pointer tidak
Silahkan link di atas jika ingin memahami lebih jauh mengenai langkah Eratos. Nah untuk
menerapkannya dalam WPAP, kita hanya perlu merombak sedikit perintah dari langkah Eratos yang
telah dituliskan sebelumnya. Pemetaan wajah
dasar :
Kenali gambar dalam bentuk pixel (ada banyak metodenya,
OCR atau metode yang menggunakan image pixelling lainnya
Bandingkan RGB nya, jika RGB memiliki selisih cukup jauh
Pola pembagian bisa ditentukan sendiri, atau mengikuti pola
dari melakukan beberapa riset, yak
Jika sebuah pixel
pixel terdekat
Jika tidak maka pixel tersebut akan bergabung dengan grup pixel dengan
selisih terendah
Jika sebuah pixel
pixel terdekat
Jika tidak maka pixel tersebut akan bergabung dengan grup pixel dengan
selisih terendah
Jika sebuah pixel
pixel terdekat
Jika tidak maka pixel tersebut akan bergabung dengan grup pixel dengan
selisih terendah
Eratos memiliki langkah praktis yang cerdas untuk menemukan bilangan prima, secara garis besar
langkahnya bisa dituliskan sebagai berikut :
Memanfaatkan sebuah pointer (penanda)
Semua bilangan yang ditemui pointer adalah prima
Pointer memulai dari angka 2
Setiap kelipatan dari bilangan yang telah ditemui pointer tidak lagi dijangkau
Silahkan link di atas jika ingin memahami lebih jauh mengenai langkah Eratos. Nah untuk
menerapkannya dalam WPAP, kita hanya perlu merombak sedikit perintah dari langkah Eratos yang
Pemetaan wajah menjadi box misalnya, kita perlu beberapa proses
Kenali gambar dalam bentuk pixel (ada banyak metodenya, menfaatkan
menggunakan image pixelling lainnya lain)
RGB nya, jika RGB memiliki selisih cukup jauh
ola pembagian bisa ditentukan sendiri, atau mengikuti pola standar yang saya dapat
kukan beberapa riset, yakni :
sebuah pixel memiliki selisih R >=50 terhadap R rata rata
pixel terdekat, maka pixel tersebut akan membuat grup pixel baru
Jika tidak maka pixel tersebut akan bergabung dengan grup pixel dengan
selisih terendah
sebuah pixel memiliki selisih G >=30 terhadap G rata rata
pixel terdekat, maka pixel tersebut akan membuat grup pixel baru
Jika tidak maka pixel tersebut akan bergabung dengan grup pixel dengan
selisih terendah
sebuah pixel memiliki selisih B >=50 terhadap B rata rata
pixel terdekat, maka pixel tersebut akan membuat grup pixel baru
Jika tidak maka pixel tersebut akan bergabung dengan grup pixel dengan
selisih terendah
ngan prima, secara garis besar
lagi dijangkau
Silahkan link di atas jika ingin memahami lebih jauh mengenai langkah Eratos. Nah untuk
menerapkannya dalam WPAP, kita hanya perlu merombak sedikit perintah dari langkah Eratos yang
alnya, kita perlu beberapa proses
part code dari OMR,
standar yang saya dapat
>=50 terhadap R rata rata sebuah grup
pixel tersebut akan membuat grup pixel baru
Jika tidak maka pixel tersebut akan bergabung dengan grup pixel dengan
rata rata sebuah grup
pixel tersebut akan membuat grup pixel baru
Jika tidak maka pixel tersebut akan bergabung dengan grup pixel dengan
rata rata sebuah grup
pixel tersebut akan membuat grup pixel baru
Jika tidak maka pixel tersebut akan bergabung dengan grup pixel dengan
-
Jika sebuah pixel
rata sebuah grup
pixel baru
Jika tidak maka pixel tersebut akan bergabung dengan grup pixel dengan
selisih terendah
Jika sebuah pixel
rata sebuah grup
pixel baru
Jika tidak maka pixel tersebut akan bergabung dengan grup pixel dengan
selisih terendah
Jika sebuah pixel
rata sebuah grup
pixel baru
Jika tidak maka pixel tersebut akan bergabung dengan grup pixel dengan
selisih terendah
Jika sebuah pixel
dan B rata rata
membuat grup pixel baru
Jika tidak maka pixel tersebut akan bergabung dengan grup pixel dengan
selisih terendah
Tentu saja, hasil riset tersebut masih amat
mengenai seni lukis digital. Langkah selanjutnya adalah
Petakan masing masing grup pixel sebagai sebuah box box dengan mengganti setiap
pixel yang berbtasan menjadi 000000 (hitam)
Pemetaan box selesai
Tidak semudah teorinya, praktisnya akan ditemukan banyak sekali kesusahan dalam
kasus IF diatas menjadi sebuah program, dan sekali lagi diingatkan, ini bukan tutoria
melainkan tulisan inspirasi pemikiran, bagi yang tertarik boleh mencoba (cukup woth it kalo
dijadikan bahan TA)
Nah, dimana Eratos nya? Belum, kasus IF diatas sangat tidak praktis jika program harus mengecek
masing masing pixel dengan sedemikian IF
= 8MP, maka akan ada 8 ribu pixel ya
sebuah pixel memiliki selisih R >=30 dan G >=25 terhadap R
uah grup pixel terdekat, maka pixel tersebut akan membuat grup
pixel baru
Jika tidak maka pixel tersebut akan bergabung dengan grup pixel dengan
selisih terendah
sebuah pixel memiliki selisih G >=25 dan B >=30 terhadap
uah grup pixel terdekat, maka pixel tersebut akan membuat grup
pixel baru
Jika tidak maka pixel tersebut akan bergabung dengan grup pixel dengan
selisih terendah
sebuah pixel memiliki selisih R >=40 dan B>=35 terhadap R
uah grup pixel terdekat, maka pixel tersebut akan membuat grup
pixel baru
Jika tidak maka pixel tersebut akan bergabung dengan grup pixel dengan
selisih terendah
sebuah pixel memiliki selisih R >=25, G >= 25, dan B>=25
rata rata sebuah grup pixel terdekat, maka pixel tersebut akan
membuat grup pixel baru
Jika tidak maka pixel tersebut akan bergabung dengan grup pixel dengan
selisih terendah
Tentu saja, hasil riset tersebut masih amat amatir apalagi oleh seorang yang bisa dikatakan artless
Langkah selanjutnya adalah
masing masing grup pixel sebagai sebuah box box dengan mengganti setiap
menjadi 000000 (hitam)
Tidak semudah teorinya, praktisnya akan ditemukan banyak sekali kesusahan dalam
kasus IF diatas menjadi sebuah program, dan sekali lagi diingatkan, ini bukan tutoria
melainkan tulisan inspirasi pemikiran, bagi yang tertarik boleh mencoba (cukup woth it kalo
h, dimana Eratos nya? Belum, kasus IF diatas sangat tidak praktis jika program harus mengecek
masing masing pixel dengan sedemikian IF (bayangkan saja, gambar yang diambil oleh Sony Experia
= 8MP, maka akan ada 8 ribu pixel yang harus di cek), untuk itu digunakan Eratos.
terhadap R dan G rata
pixel tersebut akan membuat grup
Jika tidak maka pixel tersebut akan bergabung dengan grup pixel dengan
terhadap G dan B rata
pixel tersebut akan membuat grup
Jika tidak maka pixel tersebut akan bergabung dengan grup pixel dengan
dan B>=35 terhadap R dan B rata
pixel tersebut akan membuat grup
Jika tidak maka pixel tersebut akan bergabung dengan grup pixel dengan
, dan B>=25 terhadap R, G,
pixel tersebut akan
Jika tidak maka pixel tersebut akan bergabung dengan grup pixel dengan
amatir apalagi oleh seorang yang bisa dikatakan artless
masing masing grup pixel sebagai sebuah box box dengan mengganti setiap RGB
Tidak semudah teorinya, praktisnya akan ditemukan banyak sekali kesusahan dalam menerapkan
kasus IF diatas menjadi sebuah program, dan sekali lagi diingatkan, ini bukan tutorial programming
melainkan tulisan inspirasi pemikiran, bagi yang tertarik boleh mencoba (cukup woth it kalo
h, dimana Eratos nya? Belum, kasus IF diatas sangat tidak praktis jika program harus mengecek
(bayangkan saja, gambar yang diambil oleh Sony Experia
untuk itu digunakan Eratos.
-
Data pixel diurut dengan pola R, G, dan B menaik
Memanfaatkan 7 pointer (penanda), masing masing pointer bekerja di R, G, B, RG, GB, RB,
dan RGB.
Semua pixel yang ditemui pointer adalah new group
Masing masing pointer memulai dari pixel dengan area kerja bernilai terendah
Setiap pixel dengan R