Codebox ini menunjukkan kepada Anda cara menggunakan perpustakaan ZXing (dilafalkan "Zebra Crossing") untuk mengidentifikasi kode QR dalam umpan webcam langsung. (Meskipun Pemrosesan memiliki pustaka kontribusi luar biasa yang disebut QRCode, ZXing jauh lebih cepat dan dapat melakukan pengenalan secara waktu nyata.) Sketsa tersebut mencari kode QR dengan ISBN buku O 'Reilly yang disandikan (ISBN adalah pengidentifikasi buku standar). Ketika menemukan satu, itu melapiskan gambar sampul buku ke video melalui kode QR.
Tentang QR Codes Sebelum melompat ke kode, sedikit latar belakang. Kode QR memiliki dua bagian dasar - tiga elemen posisi, yang merupakan blok persegi besar di tiga sudut, dan elemen data, yang merupakan segalanya. Elemen penentuan posisi membantu perangkat lunak menentukan lokasi dan orientasi kode QR. Elemen data mewakili data yang disandikan. Misalnya, itu bisa berupa nomor produk, URL, atau (dalam kasus kami di sini) ISBN. Kode ini juga memiliki beberapa informasi yang digunakan untuk koreksi kesalahan. Gambar berikut ini akan memberi Anda ide dasar:
Anda dapat menggunakan situs seperti Kaywa untuk menghasilkan kode. Berikut ini contoh cara membuat kode untuk "9780596510510," ISBN untuk buku Tom Igoe Making things Talk:
Menyiapkan sketsa
Hal pertama yang harus dilakukan adalah mengunduh ZXing dan menggunakan kompiler Java Anda untuk membuat dua file: core.jar dan javase.jar. Jika Anda merasa nyaman dengan Java, yang harus Anda lakukan adalah masuk ke direktori "core" dan "javase" dan jalankan semut untuk membuat file jar.
Jika tidak, saya telah menyusunnya untuk Anda. (Tapi, jangan beri tahu siapa pun - ini mungkin melanggar beberapa persyaratan lisensi atau yang lainnya. Cukup unduh javase.jar dan core.jar. (File jar seperti file zip untuk Java yang mengompres dan bundel banyak file.)
Setelah Anda memiliki file jar, jalankan Pemrosesan dan kemudian gunakan "Sketsa -> Tambahkan File" untuk menambahkannya ke proyek Anda. Kemudian tempelkan kode sketsa ke jendela kode utama. Anda bisa mendapatkannya dari file qr_codes.pde atau menariknya dari kotak kode berikut:
Cetak beberapa Kode QR untuk berbagai buku O'Reilly dan mulai sketsa. Saat Anda menunjukkan kode ke webcam, Anda akan melihat gambar sampul muncul setelah penundaan singkat. Tentu saja, Anda dapat menyandikan informasi lain yang Anda suka.
Diskusi Pengaturan mirip dengan yang kami gunakan dalam posting di OpenCV. Pertama, kami menyiapkan objek pembaca baru, seperti ini:
com.google.zxing.Reader reader = new com.google.zxing.MultiFormatReader ();
Kemudian, kami memberikan pembaca gambar yang mungkin berisi kode QR. Dalam hal ini, kami hanya memberikan frame yang masuk dari webcam. Ini sedikit lebih rumit karena kita harus melakukan beberapa transformasi pada gambar mentah sebelum kita dapat menggunakan decoder - ini semua dilakukan di seri() metode:
Sumber LuminanceSource = BufferedImageLuminanceSource baru ((BufferedImage) cam.getImage ()); BinaryBitmap bitmap = BinaryBitmap baru (HybridBinarizer baru (sumber)); Hasil hasil = reader.decode (bitmap);
Setelah kami menelepon membaca sandi(), itu pembaca objek akan memiliki data tentang kode QR apa pun yang terdeteksi. Itu getResultPoints () Metode mengembalikan koordinat masing-masing indikator posisi, dan getText () metode mengembalikan teks yang disandikan. Dengan asumsi kami menemukan sesuatu, kami kemudian hanya mencoba membuka penutup yang sesuai dari situs O'Reilly dan menampilkannya. Sebagai sedikit kerutan, kami melacak ISBN terakhir yang kami temukan sehingga kami tidak terus-menerus memuat gambar yang sama di setiap bingkai.
Demo ini akan memberi Anda sebagian besar dari apa yang perlu Anda lakukan peretasan QR Anda sendiri dengan Memproses. Selamat bersenang-senang!
PS: Ingat, jika Anda menggunakan Windows, Anda harus menginstal WinVDIG dan QuickTime untuk menggunakan webcam dalam Memproses.
Lebih lanjut: Lihat semua kolom Codebox di sini
Di Gudang Pembuat:
Memulai Memproses Mempelajari pemrograman komputer dengan cara yang mudah dengan Processing, bahasa sederhana yang memungkinkan Anda menggunakan kode untuk membuat gambar, animasi, dan grafik interaktif. Kursus pemrograman biasanya dimulai dengan teori, tetapi buku ini memungkinkan Anda terjun langsung ke proyek-proyek kreatif dan menyenangkan. Ini ideal untuk siapa saja yang ingin belajar pemrograman dasar, dan berfungsi sebagai pengantar sederhana untuk grafik untuk orang-orang dengan beberapa keterampilan pemrograman.