Deteksi objek pada gambar dengan OpenCV-Python
1. Latar Belakang
OpenCV adalah Library Open Source yang sangat besar untuk visi komputer, pembelajaran mesin, dan pemrosesan gambar dan sekarang ini memainkan peran utama dalam operasi waktu nyata yang sangat penting dalam sistem saat ini. Dengan menggunakannya, seseorang dapat memproses gambar dan video untuk mengidentifikasi objek, wajah, sidik jari atau bahkan tulisan tangan manusia. Praktikum kali ini berfokus pada mendeteksi objek rambu jalan
Deteksi Objek adalah teknologi komputer yang terkait dengan visi komputer, pemrosesan gambar, dan pembelajaran mendalam yang berhubungan dengan mendeteksi contoh objek dalam gambar dan video. Kami akan melakukan deteksi objek dalam praktikum ini menggunakan sesuatu yang dikenal sebagai haar cascades .
Pengklasifikasi Haar Cascade adalah cara yang efektif untuk mendeteksi objek. Metode ini diusulkan oleh Paul Viola dan Michael Jones dalam makalah mereka, Deteksi Objek Cepat menggunakan Kaskade Peningkatan Fitur Sederhana . Haar Cascade adalah pendekatan berbasis pembelajaran mesin di mana banyak gambar positif dan negatif digunakan untuk melatih pengklasifikasi.
Gambar positif, Gambar ini berisi gambar yang ingin kita identifikasi oleh pengklasifikasi kita.
Gambar Negatif - Gambar segala sesuatu yang lain, yang tidak berisi objek yang ingin kita deteksi.
Dalam praktikum kali ini kami akan mencoba iplementasi sistem pencarian citra berdasarkan contoh citra (Content Based Image Retrieval - CBIR) dengan data set rambu-rambu jalan memakai tema rambu jalan tanda berhenti/Stop
Lambang Stop dengan latar merah berarti pengguna jalan dilarang untuk terus berjalan di suatu lajur. Pengguna jalan diharuskan untuk berhenti baik sementara maupun ketika kondisi sudah dipastikan aman dan selamat dari adanya konflik lalu lintas.
2. Tujuan
a. Mencoba mendeteksi objek rambu-rambu lalu lintas tanda berhenti dengan OpenCV-Python
b. Memenuhi Tugas 1 (Implementasi Tutorial) Implementasikan sistem pencarian citra berdasarkan contoh citra (Content Based Image Retrieval - CBIR)
3. Rancangan
a. Menginstall Aplikasi Python Kemudian menginstall package opencv dan matplotlib melalui terminal dalam keadaan terhubung ke internet dengan mengetikkan perintah berikut;
pip instal opencv-python
pip instal matplotlib
Anda mungkin juga perlu mendownload dan menginstall Microsoft Redistribution agar package matplotlib dapat dijalankan melalui python melalui tautan link berikut;
https://support.microsoft.com/id-id/help/2977003/the-latest-supported-visual-c-downloads
b. Download file haar cascade dan gambar yang digunakan dalam tutorial, contoh kita gunakan saja haar cascade rambu jalan atau road sign cascades jenis stop/tanda dilarang berhenti kemudian letakkan didalam folder
https://github.com/cfizette/road-sign-cascades
4. Source Code Implementasi
import cv2from matplotlib import pyplot as plt
img = cv2.imread ("image.jpg")
img_gray = cv2.cvtColor (img, cv2.COLOR_BGR2GRAY)img_rgb = cv2.cvtColor (img, cv2.COLOR_BGR2RGB)
plt.subplot (1, 1, 1)plt.imshow (img_rgb)plt.show ()
found = stop_data.detectMultiScale (img_gray,minSize = (20, 20))
amount_found = len (found)
cv2.rectangle (img_rgb, (x, y),(x + tinggi, y + lebar),(0, 255, 0), 5)
import cv2from matplotlib import pyplot as pltimg = cv2.imread("D:/CBIR-Project/rambu1.jpg")img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)stop_data = cv2.CascadeClassifier('D:/CBIR-Project/stop_data.xml')found = stop_data.detectMultiScale(img_gray,minSize =(30, 30))amount_found = len(found)if amount_found != 0:for (x, y, width, height) in found:cv2.rectangle(img_rgb, (x, y),(x + height, y + width),(0, 255, 0), 5)plt.subplot(1, 1, 1)plt.imshow(img_rgb)plt.show()
Posting Komentar untuk "Deteksi objek pada gambar dengan OpenCV-Python"
Posting Komentar
Artikel di blog ini bersumber dari pengalaman pribadi penulis, tulisan orang lain sebagai posting tamu maupun bayaran oleh sebab itu segala hak cipta baik kutipan dan gambar milik setiap orang yang merasa memilikinya