Tartalomjegyzék:
- 1. lépés: Szoftverek szükségesek
- 2. lépés: A képek letöltése
- 3. lépés: Pozitív minták létrehozása OpenCV -ben
- 4. lépés: Pozitív vektorfájl létrehozása
- 5. lépés: Az osztályozó betanítása
- 6. lépés: Az osztályozó tesztelése
- 7. lépés: Külön köszönet
![OpenCV képosztályozók létrehozása Python használatával: 7 lépés OpenCV képosztályozók létrehozása Python használatával: 7 lépés](https://i.howwhatproduce.com/images/003/image-7979-29-j.webp)
Videó: OpenCV képosztályozók létrehozása Python használatával: 7 lépés
![Videó: OpenCV képosztályozók létrehozása Python használatával: 7 lépés Videó: OpenCV képosztályozók létrehozása Python használatával: 7 lépés](https://i.ytimg.com/vi/oXlwWbU8l2o/hqdefault.jpg)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
![Hozzon létre OpenCV képosztályozókat Python használatával Hozzon létre OpenCV képosztályozókat Python használatával](https://i.howwhatproduce.com/images/003/image-7979-30-j.webp)
A Haar osztályozók pythonban és opencv -ben meglehetősen trükkös, de könnyű feladat.
Gyakran szembesülünk a képfelismerés és osztályozás problémáival. a legjobb megoldás a saját osztályozó létrehozása. Itt megtanuljuk saját képosztályozókat készíteni néhány paranccsal és hosszú, mégis egyszerű python programokkal
A besorolás nagy számú negatív és pozitív képet igényel, a negatívok nem tartalmazzák a szükséges objektumot, míg a pozitívok tartalmazzák az észlelni kívánt objektumot.
Körülbelül 2000 negatív és pozitív dolog szükséges. A python program a képet szürkeárnyalatossá és megfelelő méretűvé alakítja, így az osztályozók optimális időt vesznek igénybe.
1. lépés: Szoftverek szükségesek
Az alábbi szoftverekre van szüksége saját osztályozójának létrehozásához
1) OpenCV: az i használt verzió a 3.4.2. verziója könnyen elérhető az interneten.
2) Python: A használt verzió a 3.6.2. Letölthető a python.org oldalról
Ezenkívül szükség van egy webkamerára (természetesen).
2. lépés: A képek letöltése
Az első lépés az, hogy világos képet kell készíteni az osztályozandó tárgyról.
A méret nem lehet túl nagy, mivel a számítógép feldolgozása hosszabb időt vesz igénybe. 50-50 -es méretet vettem.
Ezután letöltjük a negatív és pozitív képeket. Megtalálhatja őket az interneten. De a python kódot használva töltünk le képeket a „https://image-net.org” oldalról
Ezután a képeket szürkeárnyalatosra és normál méretűre konvertáljuk. Ezt végre is hajtják a kódban. A kód eltávolítja a hibás képeket is
A könyvtárnak mostanáig tartalmaznia kell az objektumképet, pl. Watch5050-j.webp
Ha az adatmappa nem jön létre, akkor manuálisan kell elvégezni
A python kód a.py fájlban található
3. lépés: Pozitív minták létrehozása OpenCV -ben
![Pozitív minták létrehozása OpenCV -ben Pozitív minták létrehozása OpenCV -ben](https://i.howwhatproduce.com/images/003/image-7979-31-j.webp)
![Pozitív minták létrehozása OpenCV -ben Pozitív minták létrehozása OpenCV -ben](https://i.howwhatproduce.com/images/003/image-7979-32-j.webp)
Most lépjen az opencv_createsamples könyvtárba, és adja hozzá az összes fent említett tartalmat
a Commad parancssorban lépjen a C: / opencv342 / build / x64 / vc14 / bin címre, hogy megtalálja az opencv_createsamples és az opencv_traincascade alkalmazásokat
most hajtsa végre a következő parancsokat
opencv_createsamples -img watch5050-j.webp
Ez a parancs pontos az 1950 -es objektum pozitív mintáinak létrehozásához. A leíró fájl info.lst. A pozitív képek leírásának ilyennek kell lennie. 0001_0014_0045_0028_0028-j.webp
Most a mappa tartalmazza
info
neg képek mappa
bg.txt fájl
üres adatmappa
4. lépés: Pozitív vektorfájl létrehozása
![Pozitív vektor fájl létrehozása Pozitív vektor fájl létrehozása](https://i.howwhatproduce.com/images/003/image-7979-33-j.webp)
Most hozza létre a pozitív vektorfájlt, amely megadja a leírás fájl pozitív képeinek elérési útját
Használja a következő parancsot
opencv_createsamples -info info/info.lst -1950. szám 20 -h 20 -h 20 -vec pozitiv.vec
Eddig a könyvtár tartalmának a következőnek kell lennie:
--neg
---- negimages.jpg
--opencv
--info
--adat
--pozitív.vec
--bg.txt
--watch5050-j.webp
5. lépés: Az osztályozó betanítása
![Az osztályozó képzése Az osztályozó képzése](https://i.howwhatproduce.com/images/003/image-7979-34-j.webp)
![Az osztályozó képzése Az osztályozó képzése](https://i.howwhatproduce.com/images/003/image-7979-35-j.webp)
![Az osztályozó képzése Az osztályozó képzése](https://i.howwhatproduce.com/images/003/image-7979-36-j.webp)
Most tanítsuk meg a haar kaszkádot, és hozzuk létre az xml fájlt
Használja a következő parancsot
opencv_traincascade -adatadatok -vec pozitiv.vec -bg bg.txt -numPos 1800 -numNeg 900 -numStage 10 -w 20 -h 20
szakaszok 10 A szakaszok növelése több feldolgozást igényel, de az osztályozó sokkal hatékonyabb.
Most létrejön a haarcascade Körülbelül két óra alatt elkészül Nyissa meg az adatmappát, ahol megtalálja a cascade.xml Ezt az osztályozót
6. lépés: Az osztályozó tesztelése
Az adatmappa a fenti képen látható fájlokat tartalmazza.
Az osztályozó létrehozása után az object_detect.py program futtatásával láthatjuk, hogy az osztályozó működik -e vagy sem. Ne felejtse el elhelyezni a classifier.xml fájlt a python könyvtárban.
7. lépés: Külön köszönet
Szeretném megköszönni Sentdexnek, aki nagyszerű python programozó.
Van egy youtube neve a fent említett névvel, és a videó, amely sokat segített nekem, ezen a linken található:
A kód nagy része a sentdex -ből lett másolva. Bár sok segítséget kaptam a sentdextől, sok problémával szembesültem. Csak a tapasztalataimat akartam megosztani.
Remélem segített neked ez az áttekinthetetlen !!! Maradjon velünk.
BR
Tahir Ul Haq
Ajánlott:
Az Arduino pajzs nagyon egyszerű létrehozása (az EasyEDA használatával): 4 lépés
![Az Arduino pajzs nagyon egyszerű létrehozása (az EasyEDA használatával): 4 lépés Az Arduino pajzs nagyon egyszerű létrehozása (az EasyEDA használatával): 4 lépés](https://i.howwhatproduce.com/images/002/image-5040-7-j.webp)
Az Arduino Shield nagyon egyszerű létrehozása (az EasyEDA használatával): Ebben az utasításban megtanítom, hogyan lehet nagyon könnyen létrehozni az Arduino Uno Shield -et. Nem megyek túl sok részletbe, de mellékeltem egy videót, ahol nézze meg egy kicsit részletesebben a szoftver használatát. Az EasyEDA webes alkalmazást használom, mivel
WiFi hőtérkép létrehozása az ESP8266 és az Arduino használatával: 5 lépés
![WiFi hőtérkép létrehozása az ESP8266 és az Arduino használatával: 5 lépés WiFi hőtérkép létrehozása az ESP8266 és az Arduino használatával: 5 lépés](https://i.howwhatproduce.com/images/005/image-14008-j.webp)
WiFi hőtérkép létrehozása az ESP8266 és az Arduino használatával: Áttekintés Ebben az oktatóanyagban a környező Wi-Fi jelek hőtérképét készítjük el az Arduino és az ESP8266 segítségével. az Arduino és a TFT kijelző használatával
Alternatív MIDI vezérlő létrehozása Makey-Makey és víz használatával: 6 lépés
![Alternatív MIDI vezérlő létrehozása Makey-Makey és víz használatával: 6 lépés Alternatív MIDI vezérlő létrehozása Makey-Makey és víz használatával: 6 lépés](https://i.howwhatproduce.com/images/005/image-14366-j.webp)
Alternatív MIDI vezérlő létrehozása a Makey-Makey és a Water használatával: A Makey-Makey használata hihetetlenül egyszerű és kreatív bemenetek létrehozásához! Míg sokan, akik a hardvert használják, saját hangszereiket hozzák létre a Makey-Makey bemeneteinek használatával hangok vagy hangok kiváltására, úgy döntöttünk, hogy még ennél is többet tehetünk
Digitális időzítő létrehozása a Blynk használatával: 5 lépés
![Digitális időzítő létrehozása a Blynk használatával: 5 lépés Digitális időzítő létrehozása a Blynk használatával: 5 lépés](https://i.howwhatproduce.com/images/005/image-14600-j.webp)
Digitális időzítő létrehozása a Blynk használatával: Ebben a bejegyzésben megtanuljuk, hogyan kezdjünk hozzá a Blynk -hez - egy IoT -platformhoz, amelyet úgy terveztünk, hogy egyszerűsítse számunkra az egész folyamatot, és amely több internet -képes táblával is működik
Hamis autóriasztás létrehozása 555 időzítő használatával: 5 lépés
![Hamis autóriasztás létrehozása 555 időzítő használatával: 5 lépés Hamis autóriasztás létrehozása 555 időzítő használatával: 5 lépés](https://i.howwhatproduce.com/images/007/image-18331-j.webp)
Hamis autóriasztás létrehozása 555 -ös időzítő használatával: Ez a projekt bemutatja, hogyan lehet villogó LED -lámpát készíteni öt másodperces késleltetéssel az NE555 segítségével. Ez hamis autóriasztóként szolgálhat, mivel fényes piros villogó LED -jével utánozza az autó riasztórendszerét. Nehézségi szint Maga az áramkör nem nehéz