OpenCV adalah library Python yang digunakan untuk memecahkan masalah computer vision. Visi komputer mencakup pemahaman dan analisis gambar digital oleh komputer dan memproses gambar atau memberikan data yang relevan setelah menganalisis gambar Show
OpenCV adalah pustaka sumber terbuka yang digunakan dalam pembelajaran mesin dan pemrosesan gambar. Itu melakukan tugas-tugas seperti mengenali digit tulisan tangan, wajah manusia dan objek Untuk menggunakan OpenCV, kita perlu menginstalnya Langkah 1 – Pastikan Python dan pip sudah terinstal di sistem AndaKetik perintah berikut di command prompt untuk memeriksa apakah python dan pip terinstal di sistem Anda Untuk memeriksa Pythonpython --version Jika python berhasil diinstal, versi python yang diinstal pada sistem Anda akan ditampilkan Untuk memeriksa pippip -V_ Versi pip akan ditampilkan, jika berhasil diinstal di sistem Anda Langkah 2 - Instal OpenCVOpenCV dapat diinstal menggunakan pip. Perintah berikut dijalankan di command prompt untuk menginstal OpenCV pip install opencv-python Perintah ini akan mulai mengunduh dan menginstal paket yang terkait dengan pustaka OpenCV. Setelah selesai, pesan instalasi berhasil akan ditampilkan Selamat datang di seri tutorial, yang mencakup OpenCV, yang merupakan pustaka pemrosesan gambar dan video dengan binding di C++, C, Python, dan Java. OpenCV digunakan untuk semua jenis analisis gambar dan video, seperti pengenalan dan deteksi wajah, pembacaan plat nomor, pengeditan foto, penglihatan robot tingkat lanjut, pengenalan karakter optik, dan banyak lagi. Kami akan mengerjakan banyak contoh Python di sini. Memulai dengan binding Python OpenCV sebenarnya jauh lebih mudah daripada yang dilakukan banyak orang pada awalnya. Anda akan membutuhkan dua perpustakaan utama, dengan yang ketiga opsional. Pengguna Windows- Ada metode alternatif, tapi ini yang paling mudah. Unduh roda yang sesuai (. whl), dan instal menggunakan pip. Lihat video untuk bantuan
Tidak terbiasa menggunakan pip? Pengguna Linux / Mac
import cv2 import numpy as np from matplotlib import pyplot as plt img = cv2.imread('watch.jpg',cv2.IMREAD_GRAYSCALE) cv2.imshow('image',img) cv2.waitKey(0) cv2.destroyAllWindows()0. Anda mungkin perlu apt-get install python3-pip import cv2 import numpy as np from matplotlib import pyplot as plt img = cv2.imread('watch.jpg',cv2.IMREAD_GRAYSCALE) cv2.imshow('image',img) cv2.waitKey(0) cv2.destroyAllWindows()1 atau import cv2 import numpy as np from matplotlib import pyplot as plt img = cv2.imread('watch.jpg',cv2.IMREAD_GRAYSCALE) cv2.imshow('image',img) cv2.waitKey(0) cv2.destroyAllWindows()2 import cv2 import numpy as np from matplotlib import pyplot as plt img = cv2.imread('watch.jpg',cv2.IMREAD_GRAYSCALE) cv2.imshow('image',img) cv2.waitKey(0) cv2.destroyAllWindows()_3 Matplotlib adalah pilihan opsional untuk menampilkan bingkai dari video atau gambar. Kami akan menunjukkan beberapa contoh menggunakannya di sini. Numpy digunakan untuk semua hal "angka dan Python. " Kami terutama memanfaatkan fungsionalitas array Numpy. Terakhir, kami menggunakan binding khusus python untuk OpenCV yang disebut python-OpenCV Ada beberapa operasi untuk OpenCV yang tidak dapat Anda lakukan tanpa instalasi penuh OpenCV (berukuran sekitar 3GB), tetapi Anda sebenarnya dapat melakukan cukup banyak dengan instalasi python-OpenCV yang cukup minim. Kita akan menggunakan instalasi penuh OpenCV nanti dalam rangkaian ini, jadi Anda bebas untuk mendapatkannya jika Anda mau, tetapi 3 modul ini akan menyibukkan kita untuk sementara waktu. Pastikan instalasi Anda berhasil dengan menjalankan Python, dan lakukan import cv2 import matplotlib import numpy Jika Anda tidak mendapatkan kesalahan, maka Anda siap untuk pergi. Siap? Pertama, kita harus memahami beberapa asumsi dan paradigma dasar terkait analisis gambar dan video. Dengan cara hampir setiap kamera video merekam hari ini, rekaman sebenarnya adalah bingkai, ditampilkan satu demi satu, 30-60+ kali per detik. Namun, pada intinya, mereka adalah bingkai statis, seperti halnya gambar. Dengan demikian, pengenalan gambar dan analisis video sebagian besar menggunakan metode yang identik. Beberapa hal, seperti pelacakan arah, akan membutuhkan rangkaian gambar (bingkai), tetapi sesuatu seperti deteksi wajah, atau pengenalan objek dapat dilakukan dengan kode yang hampir sama persis pada gambar dan video Selanjutnya, banyak analisis gambar dan video bermuara pada penyederhanaan sumber sebanyak mungkin. Ini hampir selalu dimulai dengan konversi ke skala abu-abu, tetapi juga bisa berupa filter warna, gradien, atau kombinasi dari semuanya. Dari sini, kita bisa melakukan segala macam analisis dan transformasi ke sumbernya. Secara umum, yang akhirnya terjadi adalah ada transformasi yang dilakukan, kemudian analisis, lalu overlay apa pun yang ingin kami terapkan diterapkan kembali ke sumber aslinya, itulah sebabnya Anda sering dapat melihat "produk jadi" dari pengenalan objek atau wajah yang mungkin . Namun, jarang ada data yang benar-benar diproses dalam bentuk mentah seperti ini. Beberapa contoh dari apa yang dapat kita lakukan pada tingkat dasar. Semua ini dilakukan dengan kamera web dasar, tidak ada yang istimewa Pengurangan Latar BelakangPenyaringan warnaDeteksi tepiPencocokan fitur untuk pengenalan objekPengenalan objek umumDalam kasus deteksi tepi, warna hitam sesuai dengan nilai piksel (0,0,0), dan garis putih adalah (255.255.255). Setiap gambar dan bingkai dari video dipecah menjadi piksel seperti ini, dan kita dapat menyimpulkan, seperti dalam kasus deteksi tepi, di mana tepi didasarkan pada piksel putih dibandingkan dengan piksel hitam. Kemudian, jika kita ingin melihat gambar asli dengan tepi yang ditandai, kita catat semua lokasi koordinat piksel putih, lalu kita tandai lokasi tersebut pada gambar atau video umpan sumber asli Di akhir tutorial ini, Anda akan dapat melakukan semua hal di atas, dan dapat melatih mesin Anda untuk mengenali objek apa pun yang Anda inginkan. Seperti yang saya katakan pada awalnya, langkah pertama biasanya adalah mengonversi ke skala abu-abu. Sebelum itu, kita perlu memuat gambar. Jadi, mari kita lakukan. Sepanjang seluruh tutorial ini, saya sangat menganjurkan Anda untuk menggunakan data Anda sendiri untuk bermain. Jika Anda memiliki webcam, pasti gunakan itu, jika tidak, cari gambar yang menurut Anda akan menyenangkan untuk dikerjakan. Jika Anda mengalami masalah, berikut adalah gambar jam tangan import cv2 import numpy as np from matplotlib import pyplot as plt img = cv2.imread('watch.jpg',cv2.IMREAD_GRAYSCALE) cv2.imshow('image',img) cv2.waitKey(0) cv2.destroyAllWindows() Pertama, kami mengimpor beberapa hal, ketiga modul yang telah saya instal untuk Anda semua. Selanjutnya, kita mendefinisikan img menjadi cv2. baca (file gambar, parms). Standarnya adalah IMREAD_COLOR, yang merupakan warna tanpa saluran alfa. Jika Anda tidak terbiasa, alfa adalah derajat keburaman (kebalikan dari transparansi). Jika Anda perlu mempertahankan saluran alfa, Anda juga dapat menggunakan IMREAD_UNCHANGED. Sering kali, Anda akan membaca dalam versi warna, dan kemudian mengubahnya menjadi abu-abu. Jika Anda tidak memiliki webcam, ini akan menjadi metode utama yang akan Anda gunakan sepanjang tutorial ini, memuat gambar Daripada menggunakan IMREAD_COLOR. dll, Anda juga dapat menggunakan angka sederhana. Anda harus terbiasa dengan kedua opsi tersebut, sehingga Anda memahami apa yang dilakukan orang tersebut. Untuk parameter kedua, Anda bisa menggunakan -1, 0, atau 1. Warna adalah 1, skala abu-abu adalah 0, dan yang tidak berubah adalah -1. Jadi, untuk skala abu-abu, seseorang dapat melakukan import cv2 import numpy as np from matplotlib import pyplot as plt img = cv2.imread('watch.jpg',cv2.IMREAD_GRAYSCALE) cv2.imshow('image',img) cv2.waitKey(0) cv2.destroyAllWindows()4 Setelah dimuat, kami menggunakan cv2. imshow(judul,gambar) untuk menampilkan gambar. Dari sini, kami menggunakan cv2. waitKey(0) untuk menunggu sampai sembarang tombol ditekan. Setelah selesai, kami menggunakan cv2. destroyAllWindows() untuk menutup semuanya Seperti disebutkan sebelumnya, Anda juga dapat menampilkan gambar dengan Matplotlib, berikut beberapa kode untuk melakukannya import cv2 import numpy as np from matplotlib import pyplot as plt img = cv2.imread('watch.jpg',cv2.IMREAD_GRAYSCALE) plt.imshow(img, cmap = 'gray', interpolation = 'bicubic') plt.xticks([]), plt.yticks([]) # to hide tick values on X and Y axis plt.plot([200,300,400],[100,200,300],'c', linewidth=5) plt.show() Perhatikan bahwa Anda dapat memplot garis, seperti yang Anda lakukan dengan grafik Matplotlib lainnya menggunakan lokasi piksel sebagai koordinat, di sini. Namun, jika Anda ingin menggambar pada gambar Anda, Matplotlib tidak diperlukan. OpenCV menyediakan metode yang bagus untuk ini. Setelah selesai melakukan modifikasi, Anda dapat menyimpan, seperti itu cv2.imwrite('watchgray.png',img) Memasukkan gambar ke dalam OpenCV tampaknya cukup mudah, bagaimana dengan memuat umpan video? Untuk apa cv2 digunakan?Merekam video menggunakan OpenCV
. VideoCapture(). Kami dapat mengakses webcam kami menggunakan pass 0 di parameter fungsi. Jika Anda ingin merekam rekaman CCTV maka kami dapat mengirimkan url RTSP di parameter fungsi, yang sangat berguna untuk analisis video.
Mengapa kami menggunakan pustaka cv2 dengan Python?Ini adalah pustaka sumber terbuka yang dapat digunakan untuk melakukan tugas seperti deteksi wajah, pelacakan keberatan, deteksi bangunan terkenal, dan banyak lagi .
Apakah OpenCV dan cv2 sama?cv2 (antarmuka lama dalam versi OpenCV lama dinamai cv ) adalah nama yang dipilih pengembang OpenCV ketika mereka membuat generator pengikat . Ini disimpan sebagai nama impor agar konsisten dengan berbagai jenis tutorial di internet.
Bagaimana cara mendapatkan cv2 dengan Python?Buka opencv/build/python/2. 7 map. Salin cv2. . Piton 3. x (3. 4+) atau Python 2. 7. x dari sini Paket Numpy (misalnya, menggunakan perintah pip install numpy) Matplotlib ( pip install matplotlib ) (Matplotlib adalah opsional, tetapi disarankan karena kami sering menggunakannya dalam tutorial kami) |