Part 3 image processing - menggambar pada frame Mungkin anda pernah melihat bagaimana sebuah sistem melakukan face recognition. Biasanya ada sebuah kotak yang menggambarkan bahwa disitulah sistem me-recognize adanya sebuah wajah. Yapz, tutorial kali ini akan membahas bagaimana membuat gambar seperti itu. So, let’s get started! Image processing - Menggambar pada frame Ada lima fungsi dari opencv yang akan dipraktekkan pada tutorial ini, cv2.line(), cv2.circle(), cv2.rectangle(), cv2.ellipse(), dan cv2.putText(). Masing-masing fungsi ini memiliki parameter-parameter, kurang lebih seperti pada syntax berikut: cv2.line (variabel_gambar, (pixel xy 1), (pixel xy 2), (warna), ketebalan) contoh berikut akan menggambar sebuah garis dari pojok kiri atas sampai pojok kanan atas. cv2.line(img, (0,0),(511,0), (255,0,0), 5) Supaya semakin paham, langsung saja ikuti langkah-langkah berikut: 1. Seperti biasa, buka CMD dan masuk ke directory image processing yang sebelumnya telah anda buat (C:/Python2/ImageProcessing/) 2. Ketik python –m idlelib.idle pada CMD 3. Setelah idle dari python muncul, maka tekan ctrl + n 4. Tuliskan skrip berikut pada python idle.
5. Baca dan pahami komen pada python yang sudah admin tulis pada gambar diatas. 6. Jalankan programnya dan lihat hasilnya
Okay, sekarang anda sudah bisa dan paham bagaimana membuat gambar seperti face recognition pada facebook. Sangat menarik bukan? Apabila ada pertanyaan mohon post di komentar. Well that’s it for this tutorial, tunggu posting selanjutnya yang akan semakin menarik. Stay tune. OpenCV Drawing (Text, line, circle, box and polyline) Hai semua, setelah sebelumnya kita bermain dengan video dan camera yang dapat dilihat disini, Sekarang kita akan lanjutkan dengan bahasan tentang OpenCV drawing. OpenCV dapat membantu kita dalam membuat objek vector pada gambar baik foto maupun video. Object vector tersebut bisa berupa tulisan, garis, kotak ataupun bentuk dua dimensi lainya. OpenCV Drawing (box) disekitar object— source [link]Contoh penerapan lainya yang lebih menarik, source [link]Berikut adalah outline yang akan dibahas pada tutorial kali ini :
Prerequisite
Cara clone, pada terminal Raspberry Pi 3, jalankan, $ sudo apt-get install git
TutorialPreparation
http://<IP Raspberry>:8888/?token=<token id>
Draw textBerikut adalah implementasi menambahkan text pada image menggunakan OpenCV, method Varian font face yang disediakan OpenCV, Result pada Jupyter Notebook, Draw Line, Circle, Rectangle & PolylineDraw line : untuk menambahkan garis pada gambar kita dapat menggunakan Berikut adalah implementasinya, Result pada Jupyter Notebook, Draw
Circle : Untuk menambahkan lingkaran pada gambar, gunakan Berikut implementasi draw circle, Result pada Jupyter Notebook, Draw Rectangle : Untuk membuat persegi pada gambar kita gunakan (x0,y0) : Vertex of the
rectangle, (top-left-corner rectangle) Berikut adalah implementasinya, Result pada Jupyter Notebook, Draw Polyline : Untuk membuat polyline pada gambar gunakan Untuk menambahkan fill color pada polyline berbeda dengan object sebelumnya yang kita bahas. Gunakan Berikut adalah implementasinya, Result pada Jupyter Notebook, Custom DrawPada bagian ini kita akan coba menambahkan beberapa trik yang akan berguna nantinya. Sepeti menambahkan opacity color pada object yang dibuat. Image Blending : Untuk menambahkan object opacity kita memerlukan teknik blending image. Bleding image berguna untuk menggabungkan dua gambar dalam satu frame yang sama untuk berbagai keperluan. Image blending yang akan digunakan adalah linear blending, dirumuskan sebagai berikut, α bernilai antara 0–1 , yang merupakan temporal cross-dissolve antara dua image. Berikut adalah contoh dasar image blending, Result pada Jupyter Notebook, Object opacity : Selanjutnya kita terapkan image blending diatas dengan cara membuat image copy dari image utama
dengan warna hitam. Setelah itu kita tambahkan object draw pada image copy tersebut. Selanjutnya menggunakan Berikut adalah implementasinya, Result pada Jupyter Notebook, Nah, ditahap ini kita sudah mampu menggunakan OpenCV Drawing library. Dan melakukan custom untuk dapat mengatur opacity level object drawing yang dibuat. |