
Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-23 14:44

Haar -luokittelijat pythonissa ja opencv: ssä on melko hankala, mutta helppo tehtävä.
Meillä on usein ongelmia kuvan havaitsemisessa ja luokittelussa. paras ratkaisu on luoda oma luokittelija. Täällä opimme tekemään omia kuvan luokittelijoita muutamalla komennolla ja pitkillä mutta yksinkertaisilla python -ohjelmilla
Luokittelu vaatii suuren määrän negatiivisia ja positiivisia kuvia, negatiivit eivät sisällä vaadittua kohdetta, kun taas positiiviset sisältävät tunnistettavan kohteen.
Tarvitaan noin 2000 negatiivista ja positiivista. Python -ohjelma muuntaa kuvan harmaasävyiseksi ja sopivan kokoiseksi, jotta luokittelijat luovat optimaalisen ajan.
Vaihe 1: Tarvittavat ohjelmistot
Tarvitset seuraavat ohjelmistot oman luokittelijan luomiseen
1) OpenCV: käyttämäni versio on 3.4.2. versio on helposti saatavilla Internetistä.
2) Python: Käytetty versio on 3.6.2. Voidaan ladata osoitteesta python.org
Lisäksi tarvitset verkkokameran (tietysti).
Vaihe 2: Kuvien lataaminen
Ensimmäinen askel on ottaa selkeä kuva luokiteltavasta kohteesta.
Koko ei saisi olla kovin suuri, koska tietokoneen käsittely kestää kauemmin. Otin kokoa 50 x 50.
Seuraavaksi lataamme negatiiviset ja positiiviset kuvat. Löydät ne verkosta. Mutta käytämme python-koodia kuvien lataamiseen osoitteesta
Seuraavaksi muutamme kuvat harmaasävyiksi ja normaalikokoisiksi. Tämä on otettu käyttöön koodissa. Koodi poistaa myös kaikki vialliset kuvat
Tähän mennessä hakemistossasi pitäisi olla objektikuva (esim. Watch5050-j.webp
Jos tietokansiota ei luoda, tee se manuaalisesti
Python -koodi on.py -tiedostossa
Vaihe 3: Positiivisten näytteiden luominen OpenCV: ssä


Siirry nyt opencv_createsamples -hakemistoon ja lisää kaikki edellä mainittu sisältö
siirry commad -kehotteeseen osoitteeseen C: / opencv342 / build / x64 / vc14 / bin löytääksesi opencv_createsamples- ja opencv_traincascade -sovelluksia
suorita nyt seuraavat komennot
opencv_createsamples -img watch5050-j.webp
Tämä komento on luotu tarkasti objektin 1950 positiivisista näytteistä Ja kuvaustiedoston info.lst positiivisten kuvien kuvauksen tulisi olla seuraavanlainen 0001_0014_0045_0028_0028-j.webp
Nyt kansio sisältää
tietoa
neg kuvat -kansio
bg.txt -tiedosto
tyhjä tietokansio
Vaihe 4: Positiivisen vektoritiedoston luominen

Luo nyt positiivinen vektoritiedosto, joka tarjoaa polun positiivisten kuvien decsription -tiedostoon
Käytä seuraavaa komentoa
opencv_createsamples -info info/info.lst -num 1950 -w 20 -h 20 -vec positiiviset.vec
Tähän mennessä hakemiston sisällön on oltava seuraava:
--neg
---- negimages.jpg
--opencv
--tiedot
--tiedot
--positiiviset.vec
--bg.txt
--watch5050-j.webp
Vaihe 5: Kouluttajan luokittelu



Nyt opetellaan haar -kaskadia ja luodaan xml -tiedosto
Käytä seuraavaa komentoa
opencv_traincascade -datatiedot -vec positiiviset.vec -bg bg.txt -numeroPos 1800 -numeroNeg 900 -luku Vaiheet 10 -w 20 -h 20
Vaiheet ovat 10 Vaiheiden lisääminen vaatii enemmän käsittelyä, mutta luokittelija on paljon tehokkaampi.
Nyt haarcascade on luotu Kestää noin kaksi tuntia. Avaa sieltä datakansio, josta löydät cascade.xml Tämä on luotu
Vaihe 6: Luokittelijan testaaminen
Datakansio sisältää yllä olevan kuvan mukaiset tiedostot.
Luokittelun luomisen jälkeen näemme, toimiiko luokittelija vai ei, suorittamalla object_detect.py -ohjelma. Älä unohda sijoittaa classifier.xml -tiedostoa python -hakemistoon.
Vaihe 7: Erityinen kiitos
Haluan kiittää Sentdexiä täällä, joka on loistava python -ohjelmoija.
Hänellä on youtube -nimi yllä mainitulla nimellä, ja videossa, joka auttoi minua paljon, on tämä linkki
Suurin osa koodista on kopioitu senddexistä. Vaikka sain paljon apua sentdexistä, kohtasin edelleen monia ongelmia. Halusin vain jakaa kokemukseni.
Toivottavasti tämä selittämätön auttoi sinua !!! Pysy kuulolla lisää.
BR
Tahir Ul Haq
Suositeltava:
MIDI -rumpusetti Pythonilla ja Arduinolla: 5 vaihetta (kuvilla)

MIDI -rumpusetti Pythonilla ja Arduinolla: Olen aina halunnut ostaa rumpusarjan lapsesta asti. Silloin kaikilla musiikkilaitteilla ei ollut kaikkia digitaalisia sovelluksia, kuten meillä on paljon tänään, joten hinnat ja odotukset olivat liian korkeat. Olen äskettäin päättänyt ostaa c
Kuinka heittää noppaa Pythonilla: 9 vaihetta

Kuinka heittää noppaa Pythonilla: Seuraavat ohjeet opastavat sinua luomaan Python -moduulin nopan "heittämiseksi". Tämä moduuli luo satunnaislukuja tästä tietokonepohjaisesta nopasta. Annan moduulin luomiseen tarvittavat toiminnot ja kuvauksen
Visualisoi Bitcoinin voitto ja tappio Arduinolla ja Pythonilla: 6 vaihetta

Visualisoi Bitcoinin voitto ja tappio Arduinolla ja Pythonilla: Perusidea Henkilökohtaisesti olen kryptovaluutta -sijoittaja. Mutta minulla on myös töitä kuormittavaa työtä. Joten en voi seurata bitcoinin hintaa kuin 10 kertaa minuutissa. Haluan kuitenkin edelleen tietää, ansaitsenko vai menetänkö rahaa. Täten
Useiden LEDien ohjaaminen Pythonilla ja Raspberry Pi: n GPIO -nastoilla: 4 vaihetta (kuvilla)

Useiden LED -valojen ohjaaminen Pythonilla ja Raspberry Pi: n GPIO -nastoilla: Tämä käyttöohje osoittaa, kuinka voit ohjata RaspberryPi -laitteesi useita GPIO -nastoja neljän LED -valon käyttämiseksi. Se myös esittelee sinulle parametrit ja ehdolliset lausekkeet Pythonissa. Aiempi ohjeemme Raspberry Pi: n GPIO -nastojen käytöstä
KOODA PELI PYTHONILLA (DUMMIES!): 14 vaihetta

KOODA PELI PYTHONILLA (DUMMIES!): Tervetuloa Pythoniin, joka on kolmanneksi suosituin ohjelmointikieli maailmassa! … ja luultavasti yksinkertaisin! Tiesitkö, että Youtube & Molemmilla Googlella on Python pääkieleksi saavutetuille sovelluksilleen. näkemäsi sivustot? No niin … Nyt jo