Merancang WPAP Generator dengan Algoritma Sieve of Erathosthenes

download Merancang WPAP Generator dengan Algoritma Sieve of Erathosthenes

of 4

description

Dokumen ini akan menunjukkan ide orisinal saya untuk membuat generator image WPAP.WPAP adalah metode editing image yang memerlukan skill digital art yang khusus. WPAP generator memungkinan orang awam untuk membuat versi WPAP image mereka sendiri.

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