
Mundarija:
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-23 15:14

Python va opencv -da Haar klassifikatorlari juda murakkab, ammo oson ish.
Biz ko'pincha tasvirni aniqlash va tasniflashda muammolarga duch kelamiz. eng yaxshi echim - bu o'z tasniflagichingizni yaratish. Bu erda biz bir nechta buyruqlar va uzoq, lekin oddiy python dasturlari yordamida o'z rasm tasniflagichlarimizni yaratishni o'rganamiz
Tasniflash uchun ko'p miqdordagi salbiy va ijobiy tasvirlar kerak, negativlar kerakli ob'ektni o'z ichiga olmaydi, musbatlar esa aniqlanadigan ob'ektni o'z ichiga oladi.
2000 ga yaqin salbiy va ijobiy talab qilinadi. Python dasturi tasvirni kulrang va mos hajmga o'zgartiradi, shuning uchun tasniflagichlar yaratish uchun eng maqbul vaqtni oladi.
1 -qadam: dasturiy ta'minot talab qilinadi
O'zingizning tasniflagichingizni yaratish uchun sizga quyidagi dasturlar kerak bo'ladi
1) OpenCV: men ishlatgan versiya 3.4.2. versiya Internetda osongina mavjud.
2) Python: 3.6.2 versiyasi ishlatiladi. Python.org saytidan yuklab olish mumkin
Bundan tashqari, sizga veb -kamera kerak (albatta).
2 -qadam: Rasmlarni yuklab olish
Birinchi qadam - tasniflanadigan ob'ektning aniq rasmini olish.
Hajmi juda katta bo'lmasligi kerak, chunki kompyuterni qayta ishlash uchun ko'proq vaqt kerak bo'ladi. Men 50 dan 50 gacha o'lchamni oldim.
Keyin biz salbiy va ijobiy rasmlarni yuklab olamiz. Siz ularni Internetda topishingiz mumkin. Lekin biz "https://image-net.org" saytidan rasmlarni yuklab olish uchun piton kodidan foydalanamiz.
Keyin biz tasvirlarni kulrang va normal o'lchamlarga o'tkazamiz. Bu kodda alohida amalga oshiriladi. Kod, shuningdek, har qanday noto'g'ri tasvirni olib tashlaydi
Hozircha sizning katalogingizda ob'ekt tasviri bo'lishi kerak, masalan watch5050-j.webp
Agar ma'lumotlar papkasi yaratilmagan bo'lsa, uni qo'lda bajaring
Python kodi.py faylida berilgan
3 -qadam: OpenCV -da ijobiy namunalar yaratish


Endi opencv_createsamples katalogiga o'ting va yuqorida ko'rsatilgan tarkibni qo'shing
buyruq satrida opencv_createsamples va opencv_traincascade ilovalarini topish uchun C: / opencv342 / build / x64 / vc14 / bin ga o'ting.
Endi quyidagi buyruqlarni bajaring
opencv_createsamples -img watch5050-j.webp
Bu buyruq 1950 ob'ektining ijobiy namunalarini yaratish uchun, aniqrog'i va tavsif fayli info.lst ijobiy tasvirlardan shunday bo'lishi kerak 0001_0014_0045_0028_0028-j.webp
Endi papka o'z ichiga oladi
ma'lumot
neg rasmlar papkasi
bg.txt fayli
bo'sh ma'lumotlar papkasi
4 -qadam: Ijobiy vektorli faylni yaratish

Endi ijobiy tasvirlarga dekription faylga yo'lni ta'minlaydigan musbat vektorli faylni yarating
Quyidagi buyruqdan foydalaning
opencv_createsamples -info info/info.lst -raqami 1950 -w 20 -h 20 -vec musbats.vec
Hozircha katalog mazmuni quyidagicha bo'lishi kerak:
-yo'q
---- negimages.jpg
-ochish
-axborot
-ma'lumotlar
-ijobiy.vec
--bg.txt
--watch5050-j.webp
5 -qadam: klassifikatorni o'qitish



Keling, haar kaskadini o'rgatamiz va xml faylini yaratamiz
Quyidagi buyruqdan foydalaning
opencv_traincascade -data ma'lumotlari -vec positives.vec -bg bg.txt -numPos 1800 -numNeg 900 -numStages 10 -w 20 -h 20
Bosqichlar 10 bosqichlarni ko'paytirish ko'proq ishlov berishni talab qiladi, lekin tasniflagich ancha samarali.
Endi haarcascade yaratildi Ma'lumotlar papkasini ochish uchun taxminan ikki soat vaqt ketadi, u erda kaskad.xml topiladi Bu yaratilgan klassifikator.
6 -qadam: Tasniflagichni sinovdan o'tkazish
Ma'lumotlar papkasi yuqoridagi rasmda ko'rsatilgan fayllarni o'z ichiga oladi.
Tasniflagich yaratilgandan so'ng, klassifikator ishlayaptimi yoki yo'qligini object_detect.py dasturini ishga tushirish orqali ko'ramiz. Classifier.xml faylini python katalogiga joylashtirishni unutmang.
7 -qadam: alohida rahmat
Men buyuk piton dasturchisi bo'lgan Sentdexga minnatdorchilik bildirmoqchiman.
Uning yuqorida ko'rsatilgan ismli youtube nomi bor va menga ko'p yordam bergan videoda bu havola bor
Kodning ko'p qismi sentdex -dan ko'chirilgan. Sentdexdan ko'p yordam olgan bo'lsam -da, men hali ko'p muammolarga duch keldim. Men faqat o'z tajribam bilan bo'lishmoqchi edim.
Umid qilamanki, bu sizga yordam berdi !!! Ko'proq ma'lumotni kuzatishda davom eting.
BR
Tohir Ul Haq
Tavsiya:
Qanday qilib: Rpi-tasvir va Rasm bilan Raspberry PI 4 boshsiz (VNC) o'rnatish: 7 qadam (rasmlar bilan)

Qanday qilib: Rpi-tasvir va Rasmlar yordamida Raspberry PI 4 Headless (VNC) ni o'rnatish: Men bu Rapsberry PI-ni o'z blogimdagi qiziqarli loyihalarda ishlatishni rejalashtirmoqdaman. Buni tekshirib ko'ring. Men Raspberry PI -ni ishlatishni xohladim, lekin mening yangi joyimda klaviatura yoki sichqon yo'q edi. Men malinani o'rnatganimga biroz vaqt bo'ldi
DIY tasvir sensori va raqamli kamera: 14 qadam (rasmlar bilan)

DIY tasvir sensori va raqamli kamera: Internetda o'zingizning kamera kamerangizni yaratish bo'yicha ko'plab darsliklar mavjud, lekin menimcha, o'zingizning tasvir sensoringizni yaratish haqida hech qanday ma'lumot yo'q! Rasm sensori ko'plab kompaniyalarda mavjud va ularni ishlatish dizaynni yaratadi
Nuqta matritsasi; 8x8 xabar yoki tasvir bilan: 4 qadam

Nuqta matritsasi; 8x8 Xabar yoki tasvirlar bilan: Bu ko'rsatma sizga 8x8 nuqta matritsasi yordamida yasagan nuqta matritsali tasvirlarni ko'rsatadi .. Iltimos, kiritilgan video va dasturlarga qarang. Nuqta matritsasi 2 o'lchovli displey bo'lib, u 8 ustun va 8 qatordan iborat
GET1033 Python kodli tasvir protsessori: 5 qadam

GET1033 Python kodli tasvir protsessori: Bu loyiha mening modulim uchun GET1033 hisoblash media savodxonligini o'rganish uchun o'z python kodli tasvir protsessorini yaratish haqida. Dastlab, foydalanuvchi o'zi xohlagan fotosuratni kiritishi va keyin o'zi xohlagan filtrlarni tanlashi kerak bo'ladi. Men 9 ta filtr yaratdim
AMG8833 infraqizil massivli tasvir sensori yordamida M5Stack IQ termal kamerasi: 3 qadam

AMG8833 infraqizil nurli tasvir sensori yordamida M5Stack IQ termal kamerasi: Ko'pchilik singari, men ham termal kameralarga qiziqib qoldim, lekin ular har doim mening narxlarim oralig'idan tashqarida edi - Hackaday veb -saytini ko'rib chiqayotganimda, men M5Stack yordamida bu kamera tuzilishini uchratdim. ESP32 moduli va nisbatan arzon