Monthly Archives: Juli 2011

My goal

“that’s why we’re such successful inventors.
we know what people will need
before people even know they’re going to need it.
And now I’m going to tell you the future

tony stark – civil war comic

Kepengen buat kyk gini

coba liat video ini

jadi keinget flashback 5 tahun yang lalu. mirip banget ma Tugas Akhirku.
ini linknya atau di Perpustakaan Politeknik Negeri Batam juga ada. Read the rest of this entry

Program 8: razia orang cakep

Keluar sejenak dari fokus kita ya, tapi masih yang sederhana koq
sesuai dengan judulnya.
tau kalu kita cakep darimana hayoo??
pastinya kan dari wajahnya nih,
sebelum memulai belajar kali ini, ajak siapa gitu, mumpung malam minggu, berduaan di depan webcam.

source code dapat diambil disini

OpenCV: program 8, Razia orang cakep

mohon maaf bagi yang terkena razia orang cakep, diambil dari koran batam pos, 30 mei 2011 sewaktu Politeknik Negeri batam sukses jadi tuan rumah dan juara umum Kontes robot Regional 1 Sumatra, alna gak pede ma muka sendiri, haha…
Read the rest of this entry

Program 7b: Hough Transform Circle

Yup kita lanjut lagi. jika kemarin kita mencoba hough transform untuk mendeteksi garis. kini kita mencoba mendeteksi lingkaran walaupun gak begitu bulat sempurna ya.

source code dapat diambil disini

Program 7b: Hough Transform Circle

Read the rest of this entry

Program 7a: Hough Transform Line

Hough transform digunakan untuk mendeteksi adanya garis pada sebuah gambar, akan tetapi kini berkembang lebih lanjut, bahkan dapat mendeteksi lingkaran/ elipse maupun bentuk lainnya.

Jangan ditanya bagaimana prosesnya mendeteksinya, yang penting disini adalah team OpenCV sudah membuat fungsinya, dan kita belajar bagaimana mengolah output dari hough tranform ini. mulai dari yang sederhana terlebih dahulu yaitu garis.

Oia… kabar gembira nih, mulai dari latihan program 7 ini, source code sudah tidak dalam gambar lagi, karena layar monitor pc kantor (1024×768)  sudah tidak mencukupi untuk di printscreen source lagi. lain halnya kalu saya buat dirumah, monitor pc dirumah saya yang full HD (1920x 1080) .

lanjut lagi, source code nya disini canny & hough transform.txt
sorry bentuknya pdf, pasti agak berantakan 😦
gak bisa upload bentuk lain(kendala di wordpress-nya nih)

Dan ini bentuk dari eksekusi program houghnya.

Program 7: Hough Transfrom Line

CvMemStorage* storage = cvCreateMemStorage(0);

berfungsi semacam array buffer untuk penyimpanan data dari hough-nya

lines = cvHoughLines2( canny, storage, CV_HOUGH_PROBABILISTIC, 1, CV_PI/180, 80,30, 10 );

nah ini dia pemanggilan fungsi hough yang line-nya. terlihat, gambar yang diolah diambil dari gambarnya canny lalu output disimpan di strorage. mode yang dipakai adalah hough probabilistic. yang lebih effisien jika gambar hanya memiliki sedikit garis yang panjaaaang, (garis digambar kita kan pendek2 ya). angka 1 itu nilai rho resolusi jarak antar pixel  yang berelasinyakita setting 1, kemudian jangkauan derajat diisi 180 derajat (tp karena komputer pake satuan radian, kita mesti membaginya dalam radian, jadi digunakan phi/180). 30-nya nilai thresholdnya. 10-nya kagak ngerti dah.

for( i = 0; i < lines -> total; i++ ) {

untuk masing-masing koordinat garis dari urutan 0 hingga koordinat garis yang ke total.

cvLine( frame, line[0], line[1], CV_RGB(0,255,0), 2, 8 );

ini untuk buat garisnya dengan garna hijau ( CV_RGB(0,255,0)). ketebalan 2 linetype-nya 8

selesai deh program hough transformnya yang line-nya.
gampang buatnya, sulit ngejelasinnya. semoga teman-teman maklum ya.

tujuan belajar hough transform ini bagi saya untuk
mendeteksi garis pada lapangan bola robosoccer dan gawangnya, mendeteksi lingkaran pada bola. dan akhirnya mendeteksi koordinat posisi robot (ini yg paling susah).

pelajaran kita berikutnya adalah mendeteksi lingkaran.

mohon komentar dari teman-teman.
dan terima kash telah meluangkan waktu bersama blog toar.

Program 6: Canny Edge Detection

Pelajaran berikutnya setelah, tampilan webcam kita buat menjadi grayscale, kini kita akan menambahkan edge detection berupa canny

seperti biasa
source code bisa dibaca pada file gambarnya.
sebagai permulaan belajar, menulis lebih baik daripada copy paste.

Program 6: Canny

Read the rest of this entry

Program 5: Filter Grayscale

Nah jika sudah mencapai program 5 ini. berarti kita sudah menguasai dan sudah bisa menangani inputan program OpenCV ini. gambar sudah, video sudah, webcam juga sudah, kira-kira inputan dari mana lagi ya yang belum tertangani. Dipikirkan dulu, kemudian ntik kasih komentar ya dibawah.

Sekarang kita mulai masuk ke bagian kulit yang lebih dalam lagi dari OpenCV ini. Fungsi grayscale merupakan fungsi yang sangat penting dalam OpenCV. dikarenakan untuk mengolah gambar lebih lanjut, si OpenCV ini tidak begitu memerlukan gambar berwarna untuk menghemat waktu eksekusi.

coba dibayangkan kayak gini deh. 1 pixel memiliki sebuah warna RGB, yang masing-masing channel R,G,B memiliki rentang data dari 0-255. jika kita memproses data berwarna maka 1 pixel memakan memory 3byte. sedangkan jika kita ubah kedalam grayscale, kita cukup mewakili 1 pixel dengan 1channel warna yaitu grayscale.

Dikarenakan saya belajar OpenCV ini saya berkonsentrasi dalam robotic vision. maka disetiap pembelajaran saya mengusahakan menggunakan inputan berupa webcam, kecuali saya tidak punya webcam ataupun kondisi lapangan yang akan dideteksi.

sebagai permulaan, program webcam yang  saya gunakan seperti ini, sedikit berbeda dari program webcam sebelumnya, cuman gak banyak koq.

Program 5: Webcam only

Read the rest of this entry