Cara menggunakan membuat rectangle di python

Cara menggunakan membuat rectangle di python

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/)

Cara menggunakan membuat rectangle di python

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.

Cara menggunakan membuat rectangle di python

Cara menggunakan membuat rectangle di python
Belajar Image Processing situskoding - kode python opencv untuk menggambar pada frame

5. Baca dan pahami komen pada python yang sudah admin tulis pada gambar diatas.

6. Jalankan programnya dan lihat hasilnya

Cara menggunakan membuat rectangle di python
Hasil eksekusi kode pada gambar diatas

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)

Cara menggunakan membuat rectangle di python

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.

Cara menggunakan membuat rectangle di python

OpenCV Drawing (box) disekitar object— source [link]

Contoh penerapan lainya yang lebih menarik,

Cara menggunakan membuat rectangle di python

source [link]

Berikut adalah outline yang akan dibahas pada tutorial kali ini :

  • Draw text
  • Draw Line, Circle, Rectangle & Polyline
  • Custom Draw

Prerequisite

  • Menggunakan Raspberry Pi 3,
  • OS Raspbian (non Lite),
  • Terinstall OpenCV > 3.0.0,
  • Menggunakan moba-xterm untuk remote SSH Raspberry Pi, download disini,
  • Clone Tutorial Resource di github saya, disini,

Cara clone, pada terminal Raspberry Pi 3, jalankan,

$ sudo apt-get install git
$ git clone https://github.com/Muhammad-Yunus/Basic-OpenCV-Programming.git
  • Terinstall Jupyter Notebook pada Raspbery Pi, dapat diikuti disini,

Tutorial

Preparation

  • Remote SSH Raspberry Pi Mengunakan Moba Xterm,
  • Jalankan jupyter notebook pada Raspberry Pi menggunakan perintah berikut,

Cara menggunakan membuat rectangle di python

  • Buka pada browser laptop dengan URL,
http://<IP Raspberry>:8888/?token=<token id>
  • Buka folder Basic-OpenCV-Programming , lalu buka kembali file notebook yang digunakan pada tutorial sebelumnya (kalian bisa membuat file notebook baru jika diinginkan).

Cara menggunakan membuat rectangle di python

Draw text

Berikut adalah implementasi menambahkan text pada image menggunakan OpenCV,

method cv2.putText() akan menuliskan text pada gambar pada lokasi yang ditentukan, kita bisa atur jenis font, ukuran font, ketebalan sampai warna.

Varian font face yang disediakan OpenCV,

Cara menggunakan membuat rectangle di python

Result pada Jupyter Notebook,

Cara menggunakan membuat rectangle di python

Draw Line, Circle, Rectangle & Polyline

Draw line : untuk menambahkan garis pada gambar kita dapat menggunakan cv2.line() . Kita dapat atur posisi awal dan akhir garis sehingga memungkinkan kita untuk membuat garis horizontal, vertical sampai diagonal. Kita juga bisa atur warna pada garis dan juga ketebalan garis.

Berikut adalah implementasinya,

Result pada Jupyter Notebook,

Cara menggunakan membuat rectangle di python

Draw Circle : Untuk menambahkan lingkaran pada gambar, gunakan cv2.circle() , kita dapat atur posisi usat lingkaran pada gambar, juga radius lingkaran. Selain itu kita dapat atur warna dan ketebalan lingkaran jik > 0, jika ketebalan di set -1, maka warna lingkaran akan digunakan sebagai fill color.

Berikut implementasi draw circle,

Result pada Jupyter Notebook,

Cara menggunakan membuat rectangle di python

Draw Rectangle : Untuk membuat persegi pada gambar kita gunakan cv2.rectangle() , kita dapat atur posisi dan ukuran persegi dengan menentukan (x0, y0) dan (xt, yt) persegi, dimana,

(x0,y0) : Vertex of the rectangle, (top-left-corner rectangle)
(xt,yt) : Vertex of the rectangle opposite, (bottom-right-corner rectangle)

Berikut adalah implementasinya,

Result pada Jupyter Notebook,

Cara menggunakan membuat rectangle di python

Draw Polyline : Untuk membuat polyline pada gambar gunakan c2.polylines() . Pertama kita harus defie titik pojok untuk polyline yang akan kita tambahkan, ini bisa dilakukan dengan numpy. Setelah itu pada polyline yang hendak dibuat kita bisa atur mulai dari warna dan ketebalanya.

Untuk menambahkan fill color pada polyline berbeda dengan object sebelumnya yang kita bahas. Gunakan cv2.fillPoly() untuk menambahkan fill color pada polyline.

Berikut adalah implementasinya,

Result pada Jupyter Notebook,

Cara menggunakan membuat rectangle di python

Custom Draw

Pada 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,

Cara menggunakan membuat rectangle di python

α bernilai antara 0–1 , yang merupakan temporal cross-dissolve antara dua image.

Berikut adalah contoh dasar image blending,

Result pada Jupyter Notebook,

Cara menggunakan membuat rectangle di python

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 cv2.addWeighted() , blend image original dengan copy image dengan alfa = 1.0 dan beta = 0.25. Atur nilai beta agar opacity draw object berubah.

Berikut adalah implementasinya,

Result pada Jupyter Notebook,

Cara menggunakan membuat rectangle di python

Nah, ditahap ini kita sudah mampu menggunakan OpenCV Drawing library. Dan melakukan custom untuk dapat mengatur opacity level object drawing yang dibuat.