Apa Itu OpenCV Python Numpy Yolo
Apa Itu OpenCV Python Numpy Yolo
OpenCV pertama kali dibuat oleh Intel pada tahun 1999 oleh
Gary Bradsky dan mulai dirilis keluar pada tahun 2000. Saat
ini, OpenCV telah mendukung banyak algoritma yang terkait
dengan Computer Vision dan Machine Learning. Selain itu,
saat ini OpenCV juga dapat digunakan dalam berbagai
macam bahasa pemrograman, seperti C++, Python, Java,
dan lain sebagainya. Tidak hanya itu, OpenCV juga tersedia
dalam berbagai platform, seperti Windows, Linux, OSX,
Android, IOS, dan lain sebagainya. Kombinasi terbaik untuk
dapat melakukan operasi berkecepatan tinggi tersebut
adalah dengan perpaduan antara OpenCV, C++ API dan
bahasa pemrograman Python. Bahasa yang biasa digunakan
untuk membuat program OpenCV adalah Python, hal ini
dikarenakan Bahasa Python memiliki syntax yang sangat
lengkap namun simple dan mudah dipahami.
Penggunaan OpenCV
Simpelnya:
Contoh:
print(hasil) # [1, 2, 3, 4, 5, 6]
Karena itu, biar gak repot buat secara manual dari nol..
sebaiknya pakai yang sudah ada dari Numpy.
Contoh:
import numpy as np
# membuat array
nilai_siswa = np.array([85, 55, 40, 90])
Maka hasilnya:
Contoh:
matriks = [[1,2,3],
[4,5,6],
[7,8,9]]
Pada contoh ini kita membuat list dua dimensi dengan list.
Contoh:
matrik_np = np.array([[1,2,3],
[4,5,6],
[7,8,9]])
Ingat, list atau array itu indeksnya selalu dimulai dari nol.
Gampang…
Gampang kan?
X = [[12,7,3],
[4,5,6],
[7,8,9]]
Y = [[5,8,1],
[6,7,3],
[4,5,9]]
result = [[0,0,0],
[0,0,0],
[0,0,0]]
for r in result:
print(r)
Penjumlahan matriks
penjumlahan_matrik.py
import numpy as np
matrik_a = np.array([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
matrik_b = np.array([
[3, 2, 1],
[6, 5, 4],
[9, 8, 7]])
print(hasil)
Maka hasilnya:
Pengurangan matriks
pengurangan_matrik.py
import numpy as np
matrik_a = np.array([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
matrik_b = np.array([
[3, 2, 1],
[6, 5, 4],
[9, 8, 7]])
print(hasil)
Maka hasilnya:
Perkalian matriks
Buat file baru dengan nama perkalian_matrik.py kemudian
isi dengan kode berikut:
perkalian_matrik.py
import numpy as np
matrik_a = np.array([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
matrik_b = np.array([
[3, 2, 1],
[6, 5, 4],
[9, 8, 7]])
print(hasil)
Maka hasilnya:
Pembagian matriks
pembagian_matrik.py
import numpy as np
matrik_a = np.array([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
matrik_b = np.array([
[3, 2, 1],
[6, 5, 4],
[9, 8, 7]])
print(hasil)
Maka hasilnya:
Mantap! 👍
balik_matrik.py
import numpy as np
# membuat matrik
matrik_a = np.array([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
# membalik matrik
hasil = matrik_a.transpose()
Maka hasilnya:
matrik_reshape.py
import numpy as np
# membuat matrik
matrik_a = np.array([1, 2, 3, 4, 5, 6])
Maka hasilnya:
matrik_flat.py
import numpy as np
# membuat matrik
matrik_a = np.array([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
hasil = matrik_a.flatten()
Maka hasilnya:
Maka hasilnya:
Mantap! 👍
Apa Selanjutnya?
Sejauh ini kita sudah paham dan tahu apa itu Numpy dan
gimana cara pakainya.
Versi terbaru dari seri ini adalah YOLOv5. Dan, ini adalah model
identifikasi objek tercepat dan paling tepat di pasaran. Kapasitas
model untuk menggeneralisasi data baru telah sangat ditingkatkan.
Juga, ini berisi banyak fitur yang membuatnya tampil lebih baik
daripada iterasi sebelumnya.
YOLOv5 sangat bagus untuk aplikasi waktu nyata karena dapat
memproses gambar dengan kecepatan hingga 1000 bingkai per
detik pada satu GPU.
Fitur Penting
Kotak Jangkar
Dengan demikian, model belajar dari sampel yang lebih kecil dan
memanfaatkan masukan yang tidak berlabel secara efektif. Ini
meningkatkan kinerja model dan meningkatkan kapasitasnya untuk
menggeneralisasi input baru.
Lapisan Yang Bersifat Residual Dan Non-Residual
5. Pilih bobot yang sudah terlatih dan paling sesuai dengan kasus
penggunaan Anda. Kumpulan data atau versi YOLOv5 tertentu yang
dipelajari bobotnya dapat digunakan untuk mempersempit daftar.
8- Pada titik ini, Anda dapat menjalankan deteksi objek pada foto
atau video Anda menggunakan bobot yang telah dilatih sebelumnya
dalam skrip deteksi Anda.
Siapkan Datanya
import cv2
img = cv2.imread('path/to/image')
import cv2
cap = cv2.VideoCapture('path/to/video')
while True:
if not ret:
break
cv2.imshow('frame', frame)
break
cap.release()
cv2.destroyAllWindows()
3. Beri label pada data: Anda harus memberi label pada data jika
menggunakan kumpulan data. Menggambar kotak pembatas di
sekitar item yang ingin Anda identifikasi di setiap bingkai gambar. Ini
adalah proses pelabelan data. Anda dapat menggunakan beberapa
alat untuk membantu Anda dengan operasi ini, termasuk LabelImg
dan RectLabel.
import yolov5
import cv2
weights = 'path/to/weights.pt'
nms_thres = 0.5
img = cv2.imread('path/to/image')
detections = detector.detect(img)
print("Object:", classes[int(cls_pred)])
print("Confidence:", conf)
Pengolahan Pasca
import cv2
Visualisasi
impor cv2
i = i[0]
cv2
Aplikasi
YOLOv5 adalah model identifikasi objek yang kuat. Oleh karena itu,
kita dapat memanfaatkannya dalam banyak skenario dunia nyata.
Salah satu kegunaan yang paling menonjol adalah pada mobil self-
driving. YOLOv5 dapat mengidentifikasi item secara real-time seperti
mobil dan lampu lalu lintas.
Kesimpulan
PENGGUNAAN
PYTORCH UNTUK
BISNIS, RISET, DAN
EDUKASI
Implementasi Pytorch dapat ditemukan pada berbagai sektor, termasuk
bisnis, riset, dan edukasi. Berikut contoh penggunaan PyTorch pada ketiga
sektor tersebut:
1. BISNIS
Banyak bisnis telah menggunakan Pytorch untuk penelitian dan produksi,
contohnya Airbnb. Airbnb mengandalkan Pytorch sebagai inti dari
departemen layanan pelanggannya. Bisnis ini membangun asisten dialog
untuk mengintegrasikan balasan cerdas dan meningkatkan pengalaman
layanan pelanggan.
2. RISET
PyTorch adalah pilihan populer untuk penelitian karena kemudahan
penggunaan, fleksibilitas, dan pembuatan prototipe yang cepat.
Contohnya, Universitas Stanford menggunakan fleksibilitas PyTorch untuk
meneliti pendekatan algoritmik baru secara efisien.
3. EDUKASI
Jika ingin mempelajari dasar-dasar deep learning dan membangun deep
neural network Anda sendiri menggunakan PyTorch, Anda bisa mengakses
Udacity. Udacity mendidik inovator AI menggunakan PyTorch yang relatif
mudah dipelajari untuk programmer yang akrab dengan Python.
Saat ini python merupakan bahasa pemrograman yang paling banyak
digunakan dalam data science dan machine learning. Python memiliki fitur
yang lengkap dan platform untuk melakukan riset. Salah satu hal penting
dalam bahasa pemrograman python adalah library. Apa yang ada di
benakmu ketika mendengar kata library.
Bayangkan ketika kita masuk ke sebuah perpustakaan, kita akan melihat
rak-rak yang berjejer rapi dan berisi buku yang siap kita baca. Sama
halnya dengan perpustakaan buku, library python berisi "rak-rak" modul
yang dapat kita gunakan untuk penulisan kode kita. Library merupakan
sumber berbagai fungsi yang dapat digunakan tanpa harus menulis
keseluruhan skrip kode. Dengan memanfaatkan library python, kita hanya
perlu bekerja cerdas tanpa harus bekerja keras. Dua library yang sering
digunakan oleh programmer untuk machine learning adalah PyTorch dan
TensorFlow. Kali ini, DQLab akan menjelaskan dua library populer ini. Baca
artikelnya sampai selesai ya!
KESIMPULAN
Pytorch adalah framework yang lebih nyaman untuk dipelajari dan
memiliki pertumbuhan yang lebih cepat. API dan kinerjanya yang sangat
baik membuat pustaka tensor deep learning yang dioptimalkan
berdasarkan Python dan Torch ini cocok digunakan untuk data
scientist dan software developer. Manfaatnya begitu besar untuk berbagai
bidang, mulai dari bisnis, riset, hingga edukasi.
Xlsxwriter
xlrd
xlwings
xlwt
pyexcel, dan
openpyxl
Pada kesempatan kali ini kita akan library openpyxl beserta penggunaannya.
Openpyxl
Openpyxl adalah library python yang digunakan untuk melakukan baca/tulis file
Excel 2010 baik itu format xlsx atau lainnya. Openpyxl memiliki basis awal dari
PHPExcel. Meinstall library openpyxl sangatlah mudah, kita bisa memanfaatkan
pip disini,
pip install openpyxl
Manipulasi workbook
import library openpyxl lalu import class workbook dari library openpyxl
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
wb.active digunakan untuk memastikan bahwa kita bekerja pada workbook yang
sedang aktif (default = 0). Untuk menambahkan sheet yang kita inginkan kita
bisa menggunakan wb.create_sheet(). Jika kita memiliki nama sheet yang sama,
maka sistem akan melakukan penambahan index secara otomatis. Secara
default sheet yang kita tambahkan akan ditambahkan ke akhir list. Tambahkan
parameter 0 untuk menambahkan sheet ke awal dan -1 untuk menambahkan
sheet ke urutan kedua dari akhir.
ws1 = wb.create_sheet("kerja")
ws2 = wb.create_sheet("kerja", 0)
ws3 = wb.create_sheet("kerja", -1)
print(wb.sheetnames)
untuk melakukan melihat semua nama sheet yang ditambahkan kita bisa
melakukan print(wb.sheetnames) dan akan mendapatkan hasil,
['kerja1', 'Sheet', 'kerja2', 'kerja']
kita dapat mengganti namanya secara manual dengan menggunakan .title .
Misalkan kita ingin mengganti nama dari sheet 2, maka yang kita lakukan
ws.title = 'kerjabaru'
dan jika kita print ulang akan mendapatkan hasil,
['kerja1', 'kerjabaru', 'kerja2', 'kerja']
Setelah memberikan nama pada sheetmu, kamu bisa melakukan akses langsung
dengan menggunakan nama tersebut.
workaktif = wb['kerjabaru']
print (workaktif)
#<Worksheet "kerjabaru">
Kita bisa melakukan penyimpanan dengan menggunakan
wb.save('namafile.xlsx')
Manipulasi Sel
Untuk mengakses sel terdapat dua cara, yang pertama adalah akses langsung
dengan menggunakan nama selnya atau dengan menggunakan index.
ws['B4'] = 4
#atau
ws.cell(row=4, column=2).value = 4
untuk melakukan akses banyak sel kita bisa memanfaatkan for loop. misalkan
kita punya sebuah list a dan ingin kita masukkan pertama pada baris pertama
dan kedua pada kolom pertama.
a = ['aku', 'suka', 'makan', 'bakso']
Membaca Excel
Pada kesempatan kali ini kita akan mencoba untuk melakukan penulisan dan
pembacaan file excel yang berasal dari basis data sqlite. Untuk melakukan
pembacaan data pada file excel, kita bisa memanfaatkan modul load_workbook
pada library openpyxl.
from openpyxl import load_workbook
data = load_workbook(filename="namafile.xlsx")
Kode di atas akan membuka file namafile.xlsx. Beberapa fungsi yang kita
jalankan saat akan menulis data pada excel bisa kita jalankan juga pada bagian
ini untuk mengecek data kita.
print(data.sheetnames)
sheet = data.actve
print(sheet)
data.sheetnames akan memberikan kita nama-nama dari worksheet yang dimiliki
oleh file tersebut. Untuk memasangkan variabel pada sheet active kita bisa
menggunakan data.active atau gunakan sheet[‘namasheet’] untuk menginisiasi.
print(sheet["A1"])
#<Cell 'Sheet'.A1>
print(sheet["A1"].value)
#'First Name'
print(sheet[“A1”]) digunakan untuk mengecek sel kita, dan
print(sheet[“A1”].value) digunakan untuk mengambil nilai dari sel yang kita pilih.
selain menggunakan cara di atas kita juga bisa menggunakan .cell() untuk
melakukan pengambilan data.
sheet.cell(row=1, column=1)
#<Cell 'Sheet1'.A1>
Visualisasi
Excel tidak hanya digunakan untuk menyimpan data, pada umumnya seseorang
akan menggunakan juga sebagai media untuk memvisualisasikan data yang
telah diolah. Bisa untuk kebutuhan presentasi atau juga laporan. Menariknya
adalah openpyxl sendiri sudah memiliki kemampuan untuk melakukan visualisasi
dari IDE kita tanpa harus membuka file excel tersebut.
pulau_indonesiaUnduh
Pertama kita import semua library yang dibutuhkan
from openpyxl import Workbook
from openpyxl.chart import BarChart, Series, Reference
import csv
Lalu kita akan buka data dari file csv yang kita miliki dan inisiasi file excel kita
#inisiasi excel
wb = Workbook()
ws = wb.active
#open file
data = open('pulau_indonesia.csv')
rows = csv.reader(data, delimiter=',')
Dengan memanfaatkan looping kita coba untuk membaca perbaris file csv kita
dan memasukkannya ke dalam file excel
index = 0
for row in rows:
data_clean = []
for i in row:
try:
i = int(i)
except:
pass
data_clean.append(i)
ws.append(data_clean)
index +=1
len_row = len(data_clean)
Agar data tersebut dapat diolah maka kita perlu mengubah semua data kita yang
terlihat seperti angka tapi masih string (misal: “76”) menjadi integer (76). itulah
guna dari kode ‘for i in row()’. variabel index digunakan untuk mengetahui jumlah
row maksimum dan variabel len_row digunakan untuk mengetahui berapa
banyak data kita. kedua variabel tersebut akan kita gunakan pada langkah
selanjutnya. Sekarang saatnya kita menginisiasi chart kita, chart yang akan kita
gunakan adalah jenis bar.
chart1 = BarChart()
chart1.type = "col"
chart1.style = 3
chart1.title = "Bar Chart"
chart1.y_axis.title = 'Jumlah Pulau'
chart1.x_axis.title = 'Nama Provinsi'
Lalu setelah semua itu kita masukkan chart kita ke dalam workspaces dengan
menggunakan add_chart(), dimana ‘G2’ adalah dimana saya ingin menempatkan
chart saya. terakhir kita save file excel kita
wb.save("bar.xlsx")
Saat kita buka file excel tersebut akan terlihat seperti gambar di bawah.
#inisiasi excel
wb = Workbook()
ws = wb.active
#open file
data = open('pulau_indonesia.csv')
rows = csv.reader(data, delimiter=',')
index = 0
for row in rows:
data_clean = []
for i in row:
try:
i = int(i)
except:
pass
data_clean.append(i)
ws.append(data_clean)
index +=1
len_row = len(data_clean)
chart1 = BarChart()
chart1.type = "col"
chart1.style = 3
chart1.title = "Bar Chart"
chart1.y_axis.title = 'Jumlah Pulau'
chart1.x_axis.title = 'Nama Provinsi'
wb.save("bar.xlsx")
Kalian bisa mencoba mengubah-ubah chart kalian dengan meilhat dokumentasi,
terdapat hampir semua jenis chart yang bisa kalian implementasikan sesuai
kebutuhan
PASTIKAN ANDA
SUDAH MEMASANG
OPENPYXL
Pertama-tama, pastikan Anda sudah memasang OpenPyXL. OpenPyXL
adalah library yang dipakai untuk membaca, menulis, dan
memodifikasi file Excel dengan ekstensi xlsx/xlsm/xltx/xltm. Library yang
cepat, andal, dan open source ini bekerja dengan dokumen Excel.
Untuk meng-install OpenPyXL, Anda bisa pakai pip, yaitu sistem
manajemen paket yang digunakan untuk meng-install dan mengelola
paket software yang ditulis dengan Python. Ada banyak paket yang dapat
ditemukan di Python Package Index (PyPI).
Anda dapat mengikuti langkah-langkah yang disebutkan dalam Panduan
Pengguna Kemasan Python untuk menginstal pip. Namun, jika Anda
minimal sudah menggunakan Python 2.7.9 atau Python 3.4, maka Anda
sudah memiliki pip. Jika demikian, Anda bisa dengan mudah meng-
install OpenPyXL dengan mengetikkan perintah “pip instal openpyxl” di
Terminal Mac OS X atau menggunakan perintah “sudo pip3 instal
openpyxl”.
CARA COPY-PASTE
DATA PYTHON KE
EXCEL
Untuk menyalin satu file Excel ke file Excel lainnya, ikuti langkah berikut
ini:
1. Pertama-tama, buka file Excel sumber dan tujuan.
2. Hitung jumlah baris dan kolom dalam file Excel sumber dan baca
nilai sel tunggal.
3. Kemudian, simpan dalam variabel.
4. Tulis nilai tersebut ke file Excel tujuan pada posisi sel yang mirip
dengan sel dalam file sumber.
5. File tujuan disimpan dan selesai.
PEKERJAAN EXCEL
LAIN YANG BISA
DILAKUKAN DENGAN
PYTHON
Tak hanya copy paste data, masih ada beberapa pekerjaan Excel lain
yang bisa dilakukan dengan Python, di antaranya:
1. MENAMBAH DATA KE SPREADSHEET
Dengan menggunakan OpenPyXL, akan lebih mudah bagi Anda untuk
menambah data ke spreadsheet Excel. Proses
membaca spreadsheet terlebih dahulu, kemudian mengulangi setiap
baris dan mengambil jumlah total yang dihabiskan dari database, hingga
menulisnya kembali ke spreadsheet, bisa disederhanakan apabila Anda
menggunakan OpenPyXL.
2. IMPORT DATA BARU KE DATABASE
Katakanlah Anda bekerja di perusahaan toko online. Saat ingin
menambahkan produk baru ke toko online, Anda
membuat spreadsheet Excel dengan ratusan baris yang berisi nama
produk, deskripsi, harga, dan beberapa informasi dasar lainnya.
Jika Anda ingin mengimpor data khusus ini secara manual, Anda perlu
mengulangi setiap baris spreadsheet dan kemudian menambahkan setiap
produk ke dalam database toko online. Pekerjaan ini akan menjadi
lebih simple jika Anda menggunakan OpenPyXL yang mempermudah
proses import data baru ke database.
3. EXPORT DATABASE KE SPREADSHEET
Misalnya, Anda sudah memiliki tabel database. Dalam tabel khusus ini,
Anda telah mengumpulkan informasi semua pengguna yang mencakup
nama, nomor kontak, alamat email, dan sebagainya. Jika tim pemasaran
ingin secara kolektif menghubungi semua pengguna dan mempromosikan
produk baru perusahaan, mungkin ada masalah karena mereka tidak
memiliki akses ke database dan tidak mengerti cara menggunakan SQL
untuk mengekstrak informasi.
Dalam situasi ini, OpenPyXL bisa jadi solusi. Anda dapat menggunakannya
secara efektif untuk mengulangi setiap catatan pengguna dan mengubah
informasi yang diperlukan menjadi spreadsheet Excel.
OpenPyXL
OpenPyXL adalah librari yang digunakan untuk membaca dan menulis file
Excel 2010 xlsx/xlsm/xltk/xltm . Ini adalah librari yang akan kita gunakan
dalam tutorial ini untuk berkerja dengan dokumen Excel.
Hal pertama yang perlu kita lakukan untuk memanfaatkan librari ini adalah
menginstal OpenPyXL .
Menginstal OpenPyXL
Untuk menginstal OpenPyXL , kita akan menggunakan pip, yaitu (berdasarkan
Wikipedia):
import openpyxl
import openpyxl
1
excel_document = openpyxl.load_workbook('sample.xlsx')
2
print type(excel_document)
Seperti yang dapat kita lihat, obyek yang dikembalikan adalah Workbook ,
pada jenis data workbook . Obyek Workbook di sini mewakili file Excel.
Nama Sheet
Sheet dalam Excel terdiri dari kolom (dengan huruf dimulai dari A, B, C, dll.)
dan baris (mulai dari 1, 2, 3, dll.) Untuk memeriksa sheet apa yang kita
punya dalam dokumen Excel kita, kita menggunakan
metode get_sheet_names() sebagai berikut:
excel_document.get_sheet_names()
Jika kita melakukan print pada perintah di atas, kita mendapatkan hasil
berikut:
[u'Sheet1']
Jika kamu memiliki banyak sheet, kamu dapat mengakses sheet tertentu
berdasarkan namanya menggunakan metode ini: get_sheet_by_name() .
Advertisement
Mengakses Cell
Sekarang setelah kita mempelajari bagaimana membuka sebuah file Excel
dan mendapatkan sheet, mari kita lihat betapa mudahnya untuk mengakses
sebuah cell dalam sheet tersebut. Yang harus kamu lakukan adalah
menarik sheet tersebut, dan kemudian menentukan lokasi (koordinat) cell
itu. Mari katakan bahwa kita ingin mengakses kolom A baris 2 dalam
dokumen Excel yang kita punya, yaitu A2 . Ini dapat diterapkan sebagai
berikut:
sheet = excel_document.get_sheet_by_name('Sheet1')
1
print sheet['A2'].value
2
Dalam hal ini, kamu akan memiliki nilai berikut yang dikembalikan: Abder .
Kita dapat juga menggunakan notasi baris-kolom. Sebagai contoh, jika kita
ingin mengakses cell pada baris 5 dan kolom 2 , kita mengetikkan berikut:
Jika kita ingin melihat jenis obyek yang mewakili cell, kita dapat
mengetikkan:
print type(sheet['A2'])
atau:
<class 'openpyxl.cell.cell.Cell'>
multiple_cells = sheet['A1':'B3']
1
print cell.value
4
Name
1
Profession
2
Abder
3
Student
4
Bob
5
6 Engineer
Mengakses Semua Baris dan Kolom
OpenPyXL membolehkanmu untuk mengakses semua baris dan kolom
dalam dokumen Excel, menggunakan metode rows() dan columns() ,
secara berturut-turut.
all_rows = sheet.rows
1
print all_rows[:]
2
Di sisi lain, jika kita ingin mengakses semua kolom, kita cukup melakukan
sebagai berikut:
all_columns = sheet.columns
1
print all_columns[:]
2
Advertisement
KESIMPULAN
Coba luangkan waktu untuk memikirkan berapa banyak waktu yang
terbuang jika Anda harus melakukan tugas-tugas membosankan
seperti copy paste hanya karena Anda perlu melacak beberapa data.
Tugas copy paste dan berbagai hal merepotkan lainnya bisa dikurangi
secara drastis hanya dengan beberapa baris kode Phyton yang bisa
melakukan ini secara otomatis