BELAJAR ANALISIS DAN BAHASA PEMROGRAMAN

Menggambar fungsi dalam OpenCV

Ok gengs kembali lagi kita akan membahas kali ini masih mengenai python imana kita semua pasti sangat bersemangat haha. Jadi tujuan kita kali ini yaitu Belajar Menggambar bentuk geometris yang berbeda dengan OpenCV dan belajar fungsi-fungsi ini: cv2.line(), cv2.circle(), cv2.rectangle(), cv2.ellipse(), cv2.putText()
dll. Sebelum memulai kita download dulu codenya DISINI, kebetulan kali ini saya menggunakan jupyter notebook.


Code
Dalam semua fungsi di atas, kita akan melihat beberapa argumen yang umum seperti yang diberikan di bawah ini:
·         img: gambar yang ingin kita gambar bentuknya
·    color: warna dari shape. untuk BGR, misalnya: (255,0,0) untuk biru. Untuk grayscale, hanya melewati nilai scalar.
·         thickness: ketebalan garis atau lingkaran dll. standar ketebalan = 1
·         lineType: jenis garis, Apakah 8-connected, baris anti-aliased dll. Secara default, itu 8-connected. cv2. LINE_AA memberikan baris anti-aliased yang tampak great untuk kurva.
Menggambar garis
Untuk menggambar garis, kita harus melewati koordinat garis start dan akhir. Kita akan membuat gambar hitam dan menggambar garis biru dari sudut kiri atas ke kanan bawah.
import numpy as np import cv2
# Create a black image
img = np.zeros((512,512,3), np.uint8)
# Draw a diagonal blue line with thickness of 5 px 
img = cv2.line(img,(0,0),(511,511),(255,0,0),5)

Menggambar persegi panjang
Untuk menggambar persegi panjang, kita perlu sudut kiri atas dan kanan bawah dari persegi panjang. Kali ini kita akan menggambar persegi panjang hijau di sudut kanan atas gambar.
img = cv2.rectangle(img,(384,0),(510,128),(0,255,0),3)

Menggambar lingkaran
Untuk menggambar sebuah lingkaran, kita perlu pusat koordinat dan radius dari lingkaran. Kita akan menggambar sebuah lingkaran di dalam rectangle disudut kanan atas.
img = cv2.circle(img,(447,63), 63, (0,0,255), -1)

Menggambar elips
Menggambar elips, kita perlu untuk menulis beberapa argumen. Salah satu argumen adalah lokasi pusat (x, y). Argumen berikutnya adalah sumbu panjang (panjang sumbu Mayor, minor sumbu panjang). Angel adalah sudut dari rotasi Ellips. startAngle dan endAngle menunjukkan awal dan akhir dari busur elips yang diukur dengan searah jarum jam dari axis utama, contohnya memberikan nilai 360 untuk elips penuh. Untuk keterangan lebih lanjut, Periksa dokumentasi cv2.ellipse(). Contoh di bawah ini menarik elips setengah di tengah-tengah gambar.
img = cv2.ellipse(img,(256,256),(100,50),0,0,180,255,-1)

Menggambar poligon
Menggambar sebuah poligon, pertama kita perlu koordinat dari simpul. Membuat titik-titik tersebut menjadi sebuah array dari bentuk ROWSx1x2 dimana baris adalah jumlah simpul dan harus dari tipe int32. Di sini kita menarik sebuah poligon kecil dengan empat simpul warna kuning.
pts = np.array([[10,5],[20,30],[70,20],[50,10]], np.int32) 
pts = pts.reshape((-1,1,2))
img = cv2.polylines(img,[pts],True,(0,255,255))
Jika argumen ketiga adalah Falsae, kita akan mendapatkan polylines bergabung dengan semua poin, bukan bentuk yang tertutup. cv2.polylines() dapat digunakan untuk menggambar beberapa baris. Hanya membuat seebuah list dari semua baris yang kita ingin gambar dan menyebarkannya ke fungsi. Semua garis akan digambar secara otomatis, Ini lebih baik dan lebih cepat untuk menggambar sekelompok baris daripada memanggil cv2.line() untuk setiap baris.

Menambahkan teks ke gambar:
Untuk memasukkan teks dalam gambar, kita perlu menentukan mengikuti hal-hal.
·         Data teks yang ingin kita tulis
·         Posisi koordinat dimana kita ingin menaruhnya (yaitu sudut kiri bawah dimana data dimulai).
·         Jenis font (Check cv2.putText() docs untuk dukungan font)
·         Skala font (menentukan ukuran font)
·         Hal yang biasa seperti warna, ketebalan, lineType dll. Untuk melihat lebih jelas, lineType = cv2. LINE_AA recommended.
Kita akan menulis OpenCV pada gambar kita pada warna putih.
font = cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img,'OpenCV',(10,500), font, 4,(255,255,255),2,cv2.LINE_AA)
Kita bisa mendapatkan hasil finalnya seperti dibawah ini.

Oke gengs sekian untuk episode kali ini, jangan lupa untuk follow ig kita di @thinkstudio, fb kita ThinkStudio, dan follow juga Youtube kita di Belajar Bahasa Pemrograman serta yang terakhir untuk konsultasi data, skripsi, dan apapun yang berhubungan dengan data bisa ke kita juga ya. Wassalam.
Menggambar fungsi dalam OpenCV Menggambar fungsi dalam OpenCV Reviewed by Jimmy Pujoseno on March 14, 2018 Rating: 5

No comments:

Recent Post

Powered by Blogger.