Isi kandungan:

Buat Pengelasan Gambar OpenCV Menggunakan Python: 7 Langkah
Buat Pengelasan Gambar OpenCV Menggunakan Python: 7 Langkah

Video: Buat Pengelasan Gambar OpenCV Menggunakan Python: 7 Langkah

Video: Buat Pengelasan Gambar OpenCV Menggunakan Python: 7 Langkah
Video: OpenCV Python Tutorial #2 - Image Fundamentals and Manipulation 2024, Julai
Anonim
Buat Pengelasan Gambar OpenCV Menggunakan Python
Buat Pengelasan Gambar OpenCV Menggunakan Python

Pengelasan Haar dalam python dan opencv adalah tugas yang agak sukar tetapi mudah.

Kita sering menghadapi masalah dalam pengesanan dan pengkelasan gambar. solutio terbaik ialah membuat pengelasan anda sendiri. Di sini kita belajar membuat pengelasan gambar kita sendiri dengan beberapa perintah dan program python yang panjang namun sederhana

Pengelasan memerlukan sebilangan besar gambar negatif dan positif negatif tidak mengandungi objek yang diperlukan sedangkan positif adalah yang mengandungi objek yang hendak dikesan.

Diperlukan kira-kira 2000 negatif dan positif. Program python menukar gambar ke skala kelabu dan ukuran yang sesuai sehingga pengklasifikasi mengambil masa yang optimum untuk dibuat.

Langkah 1: Perisian yang Diperlukan

Anda memerlukan perisian berikut untuk membuat pengelasan anda sendiri

1) OpenCV: versi yang saya gunakan ialah 3.4.2. versi mudah didapati di internet.

2) Python: Versi yang digunakan ialah 3.6.2. Boleh dimuat turun dari python.org

Lebih-lebih lagi anda memerlukan kamera web (tentu saja).

Langkah 2: Memuat turun Imej

Langkah pertama adalah mengambil gambar yang jelas mengenai objek yang akan diklasifikasikan.

Ukurannya tidak boleh terlalu besar kerana memerlukan masa yang lebih besar untuk memproses komputer. Saya mengambil ukuran 50 x 50.

Seterusnya kami memuat turun gambar negatif dan positif. Anda boleh mendapatkannya dalam talian. Tetapi kami menggunakan kod python untuk memuat turun gambar dari 'https://image-net.org'

Seterusnya kami menukar gambar ke skala kelabu dan ukuran normal. Ini dilaksanakan dalam kod. Kod ini juga menghilangkan gambar yang salah

Sekarang direktori anda harus mengandungi gambar objek mis. Watch5050-j.webp

Sekiranya folder data tidak dibuat, lakukan secara manual

Kod python disediakan dalam fail.py

Langkah 3: Membuat Sampel Positif di OpenCV

Membuat Sampel Positif di OpenCV
Membuat Sampel Positif di OpenCV
Membuat Sampel Positif di OpenCV
Membuat Sampel Positif di OpenCV

Sekarang pergi ke direktori opencv_createsamples dan tambahkan semua kandungan yang disebutkan di atas

dalam arahan koma pergi ke C: / opencv342 / build / x64 / vc14 / bin untuk mencari contoh opencv_creates dan opencv_traincascade

sekarang jalankan arahan berikut

opencv_createsamples -img watch5050-j.webp

Perintah ini adalah untuk membuat sampel positif objek 1950 tepat dan maklumat fail keterangan. Pertama dari gambar positif penerangan harus seperti ini 0001_0014_0045_0028_0028-j.webp

Sekarang folder mengandungi

maklumat

folder gambar neg

fail bg.txt

folder data kosong

Langkah 4: Membuat Fail Vektor Positif

Membuat Fail Vektor Pos-t.webp
Membuat Fail Vektor Pos-t.webp

Sekarang buat fail vektor positif yang menyediakan jalan ke gambar positif fail dekripsi

Gunakan arahan berikut

opencv_createsamples -info info / info.lst -num 1950 -w 20 -h 20 -vec positif.vec

Sekarang kandungan direktori mestilah seperti berikut:

--neg

---- negimages.jpg

--opencv

- maklumat

- data

--positives.vec

--bg.txt

--watch5050-j.webp

Langkah 5: Melatih Pengelas

Melatih Pengelas
Melatih Pengelas
Melatih Pengelas
Melatih Pengelas
Melatih Pengelas
Melatih Pengelas

Sekarang mari kita latih lata haar dan buat fail xml

Gunakan arahan berikut

opencv_traincascade -data data -vec positives.vec -bg bg.txt -numPos 1800 -numNeg 900 -numStages 10 -w 20 -h 20

tahap adalah 10 Meningkatkan tahap memerlukan lebih banyak pemprosesan tetapi pengelasan jauh lebih cekap.

Sekarang haarcascade dibuat Perlu masa sekitar dua jam untuk menyelesaikan Buka folder data di sana anda akan menemui cascade.xml Ini pengelasan yang telah dibuat

Langkah 6: Menguji Pengelas

Folder data mengandungi fail seperti yang ditunjukkan pada gambar di atas.

Selepas penciptaan pengkelasan kita melihat sama ada pengelas berfungsi atau tidak dengan menjalankan program object_detect.py. Jangan lupa untuk meletakkan fail classifier.xml dalam direktori python.

Langkah 7: Terima Kasih Khas

Saya ingin mengucapkan terima kasih kepada Sentdex di sini yang merupakan pengaturcara python yang hebat.

Dia mempunyai nama youtube dengan nama yang disebutkan di atas dan video yang banyak membantu saya mempunyai pautan ini

Sebilangan besar kod telah disalin dari sentdex. Walaupun banyak bantuan dari sentdex, saya masih menghadapi banyak masalah. Saya hanya ingin berkongsi pengalaman saya.

Saya harap ini boleh dilakukan membantu anda !!! Nantikan lebih banyak lagi.

BR

Tahir Ul Haq

Disyorkan: