![Raspberry Pi objektumszámlálás: 5 lépés Raspberry Pi objektumszámlálás: 5 lépés](https://i.howwhatproduce.com/images/004/image-10876-28-j.webp)
Tartalomjegyzék:
2025 Szerző: John Day | [email protected]. Utoljára módosítva: 2025-01-23 14:48
![Raspberry Pi tárgyszámlálás Raspberry Pi tárgyszámlálás](https://i.howwhatproduce.com/images/004/image-10876-29-j.webp)
A számítógépes látás kétségkívül fantasztikus dolog! Ennek használatával a számítógép elnyeri a képességét, hogy jobban "lássa" és érzékelje a környezetet, ami lehetővé teszi összetett, hasznos és jó alkalmazások fejlesztését. Az olyan alkalmazások, mint az arcfelismerés és -felismerés, az objektumkövetés és a tárgyfelismerés, a számítógépes látás fejlődésének köszönhetően egyre inkább jelen vannak mindennapi tevékenységeinkben.
Tekintettel arra, hogy a számítógépes látás keretrendszerei és eszközei mennyire fejlettek és hozzáférhetők, a cikkben leírt alkalmazás jól illeszkedik: egy egyszerű Raspberry PI és egy ingyenes, nyílt forráskódú, OpenCV nevű számítógépes látáskeret segítségével számolják a mozgásban lévő objektumokat, pontosabban mennyit. az objektumok be- és kilépnek egy bizonyos felügyelt zónába.
1. lépés: Egyre mélyebb: Hogyan lehet észlelni a tárgyak mozgását egy képfolyamban?
![Egyre mélyebb: Hogyan lehet észlelni a tárgyak mozgását egy képfolyamban? Egyre mélyebb: Hogyan lehet észlelni a tárgyak mozgását egy képfolyamban?](https://i.howwhatproduce.com/images/004/image-10876-30-j.webp)
Itt az ideje, hogy elmélyüljön a képfeldolgozásban:
hogyan szerezhet be néhány webkamerás adatfolyamot, és észlelheti, hogy valami oda költözött
Öt lépésből áll:
1. lépés: A mozgásban lévő tárgy kiemelése
A klasszikus fizika meghatározása szerint referencia szükséges annak megállapításához, hogy valami mozog, vagy ha mozdulatlanul áll. Itt annak megállapításához, hogy valami megmozdult -e, nagyjából ugyanaz: minden egyes webkamera -adatfolyam által rögzített képkockát összehasonlítanak egy referenciakerettel. Ha valami más, akkor valamit áthelyeztek. Egyszerű, ahogy hangzik.
Ezt a referenciakeretet a legtökéletesebb körülmények között kell rögzíteni (például semmi sem mozog). A képfeldolgozás világában ez az összehasonlítás a rögzített keret és a referenciakeret között a háttér kivonásnak nevezett technikát foglalja magában. A háttérszubtráció abból áll, hogy a rögzített keretből és a referenciakeretből szó szerint kivonják a képpontok közötti színinformációkat. Tehát a folyamat eredményeként kapott kép csak azt fogja kiemelni / megmutatni további részletekkel, hogy mi a különbség a két képkocka között (vagy ami elmozdult / mozgott), és minden más fekete lesz a képen (a nulla érték színe szürke -skála pixel). Fontos: a megvilágítási feltételek és a rögzített webkamera minősége (a rögzítési érzékelők minősége miatt) képkockánként kis mértékben változhat. Ez azt jelenti, hogy a referenciakeretből származó "egyenlő részek" és egy másik képkocka nem lesz teljesen fekete a háttér kivonása után. E viselkedés ellenére ennek a projektnek a képfeldolgozás következő lépéseiben nincsenek komoly következményei.
A képfeldolgozási idő minimalizálása érdekében a háttér -szubsztrálás előtt a rögzített keret és a referenciakeret szürkeárnyalatos képpé alakul át. De miért? Ez számítástechnikai hatékonysággal kapcsolatos probléma: a több színben megjelenített kép (színes kép) képpontonként három információval rendelkezik: piros, kék és zöld színösszetevők (a régi, de arany RGB szabvány). Tehát matematikailag minden képpont háromértékű tömbként definiálható, amelyek mindegyike egy színkomponenst képvisel. Ezért, ha kiterjesztjük a teljes képre, a végső kép valójában három képkomponens keveréke lesz: piros, kék és zöld képkomponensek.
A feldolgozáshoz sok munka szükséges! A szürkeárnyalatos képeknél azonban minden képpont csak egy színinformációt tartalmaz. Tehát egy színes kép feldolgozása háromszor lassabb, mint a szürkeárnyalatos kép esetén (legalább háromszor, attól függően, hogy milyen technikáról van szó). És van még más is: bizonyos célokra (például ehhez a projekthez) az összes szín feldolgozása egyáltalán nem szükséges vagy fontos. Ezért arra a következtetésre jutottunk: a szürkeárnyalatos képek használata erősen ajánlott képfeldolgozási célokra. A háttér -szubsztráció után Gauss -Blur szűrőt kell alkalmazni.
A háttérből kivont Gauss -elmosódás szűrő kisimítja a mozgó észlelt objektum minden kontúrját. Az biztos, hogy segít a képfeldolgozás következő lépéseiben.
2. lépés: Binarizálás
![Binarizálás Binarizálás](https://i.howwhatproduce.com/images/004/image-10876-31-j.webp)
A képfeldolgozás legtöbb esetben a binarizálás szinte kötelező lépés a kép kiemelt objektumai / karakterisztikái után. Ok: egy bináris képen minden képpont szín csak két értéket vehet fel: 0x00 (fekete) vagy 0xFF (fehér). Ez sokat segít a képfeldolgozásban annak érdekében, hogy a következő lépésekben még kevesebb "számítási teljesítmény" szükségesjen a képfeldolgozási technikák alkalmazásához. A binarizálás elvégezhető a szürkeárnyalatos kép egyes képpontjainak színével egy bizonyos küszöbértékhez hasonlítva. Ha a képpont színének értéke meghaladja a küszöbértéket, akkor ez a képpont szín fehér értéket (0xFF) vesz fel, és ha a képpontszín értéke alacsonyabb a küszöbértéknél, akkor ez a képpontszín fekete értéket (0x00) vesz fel. Sajnos a küszöbérték kiválasztása nem olyan egyszerű. Ez a környezeti tényezőktől, például a fényviszonyoktól függ. A küszöbérték rossz megválasztása tönkreteheti az összes lépést. Ezért határozottan javaslom, hogy manuálisan állítsa be a projekt küszöbértékét az Ön esetére, mielőtt bármilyen további lépést megtenné. Ennek a küszöbértéknek biztosítania kell, hogy a mozgó objektum bináris képben jelenjen meg. Esetemben egy küszöb megfelelő megválasztása után azt eredményezi, amit az 5. ábrán lát.
5. ábra - bináris kép
3. lépés: Tágítson
Eddig lehetőség volt a mozgó objektumok észlelésére, kiemelésére és a binarizáció alkalmazására, ami a mozgó objektum elég tiszta képét eredményezi (= az objektum elég tiszta képe képfeldolgozási célokra). Az objektumszámlálás előkészítése majdnem megtörtént. A "majdnem" itt azt jelenti, hogy vannak finom beállítások a továbblépés előtt. Ezen a ponton valós esély van arra, hogy "lyukak" jelenjenek meg az objektumokban (fekete pixeltömegek a fehér kiemelt objektumba). Ezek a lyukak bármi lehet, az adott fényviszonyoktól kezdve az objektum alakjának egyes részein. Amint a lyukak hamis tárgyakat "előállíthatnak" a valódi tárgyakon belül (attól függően, hogy mekkora és hol találhatók), a lyukak képen való megjelenésének következményei katasztrofálisak lehetnek az objektumok számolására. A lyukak kiküszöbölésének egyik módja a Dilate nevű képfeldolgozó technika. Használja ezt, és a lyukak eltűnnek.
4. lépés: A kontúrok (és középpontok) keresése
![A kontúrok keresése (és középpontai) A kontúrok keresése (és középpontai)](https://i.howwhatproduce.com/images/004/image-10876-32-j.webp)
Ezen a ponton megvannak a kiemelt objektumok, nincsenek benne lyukak, és készen állunk a következőre: a kontúrok (és középpontjai) keresésére. Az OpenCV -ben vannak erőforrások a kontúrok automatikus észlelésére, de az észlelt kontúrokat okosan kell megválasztani (csak a valódi objektum vagy objektumok kiválasztásához). Tehát a kontúrok észlelésének kritériumai az objektum területe, pixelben² mérve. Ha egy kontúrnak nagyobb a területe, mint egy korlát (szoftveresen konfigurálva), akkor azt valós objektumnak kell tekinteni. Ennek a területhatárnak/kritériumnak a megválasztása nagyon fontos, és a rossz választás itt rossz számításokat jelent. Próbáljon ki néhány területérték -határértéket, és ellenőrizze, hogy melyik illik jobban a használatához. Ne aggódjon, ezeket a korlátokat nem nehéz megtalálni / beállítani. Miután a kép összes objektuma ki lett választva, a következő lépés egy újrarajzolás rajzolása (ennek az áttekerésnek egy teljes észlelt objektumot kell tartalmaznia benne). És ennek a téglalapnak a középpontja…. az objektum középpontja! Talán azon gondolkodik: "Mi a nagy baj ezzel a centroiddal?", Igaz? Itt a válasz: nem számít, hogy mekkora vagy milyen alakú a tárgy, mozgása megegyezik a centroidéval. Más szavakkal: ez az egyszerű pont, amelyet centroidnak neveznek, az objektum minden mozgását képviseli. Nagyon egyszerűvé teszi a számolást most, nem? Lásd az alábbi képet (6. ábra), ahol az objektum középpontja fekete pontként jelenik meg.
5. lépés: Centorid mozgása és tárgyszámlálása
A nagy finálé: hasonlítsa össze az objektum középponti koordinátáit a be- és kilépési vonalak koordinátáival, és alkalmazza a korábban leírt számlálási algoritmust. És számolni kell a mozgó tárgyakkal!
Ahogy a bejegyzés elején leírták, itt a projekt működése:
Ajánlott:
DC - DC feszültség Lépés lekapcsoló mód Buck feszültségátalakító (LM2576/LM2596): 4 lépés
![DC - DC feszültség Lépés lekapcsoló mód Buck feszültségátalakító (LM2576/LM2596): 4 lépés DC - DC feszültség Lépés lekapcsoló mód Buck feszültségátalakító (LM2576/LM2596): 4 lépés](https://i.howwhatproduce.com/images/005/image-14052-j.webp)
DC-DC feszültség Lépés lekapcsoló üzemmód Buck feszültségátalakító (LM2576/LM2596): A rendkívül hatékony bakkonverter készítése nehéz feladat, és még a tapasztalt mérnököknek is többféle kivitelre van szükségük, hogy a megfelelőt hozzák létre. egy DC-DC áramátalakító, amely csökkenti a feszültséget (miközben növeli
Akusztikus levitáció az Arduino Uno-val Lépésről lépésre (8 lépés): 8 lépés
![Akusztikus levitáció az Arduino Uno-val Lépésről lépésre (8 lépés): 8 lépés Akusztikus levitáció az Arduino Uno-val Lépésről lépésre (8 lépés): 8 lépés](https://i.howwhatproduce.com/images/007/image-19534-j.webp)
Akusztikus lebegés az Arduino Uno-val Lépésről lépésre (8 lépés): ultrahangos hangátvivők L298N Dc női adapter tápegység egy egyenáramú tűvel Arduino UNOBreadboard és analóg portok a kód konvertálásához (C ++)
LED villog Raspberry Pi - A GPIO csapok használata a Raspberry Pi -n: 4 lépés
![LED villog Raspberry Pi - A GPIO csapok használata a Raspberry Pi -n: 4 lépés LED villog Raspberry Pi - A GPIO csapok használata a Raspberry Pi -n: 4 lépés](https://i.howwhatproduce.com/images/011/image-30766-j.webp)
LED villog Raspberry Pi | A GPIO csapok használata a Raspberry Pi -n: Sziasztok, ebben az oktatási útmutatóban megtanuljuk, hogyan kell használni a Raspberry pi GPIO -jait. Ha valaha is használta az Arduino -t, akkor valószínűleg tudja, hogy a LED -es kapcsolót stb. Csatlakoztathatjuk a csapjaihoz, és úgy működtethetjük. hogy a LED villogjon, vagy kapjon bemenetet a kapcsolóról, így
A Raspbian Buster telepítése a Raspberry Pi 3 - -ra A Raspbian Buster használatának első lépései a Raspberry Pi 3b / 3b+segítségével: 4 lépés
![A Raspbian Buster telepítése a Raspberry Pi 3 - -ra A Raspbian Buster használatának első lépései a Raspberry Pi 3b / 3b+segítségével: 4 lépés A Raspbian Buster telepítése a Raspberry Pi 3 - -ra A Raspbian Buster használatának első lépései a Raspberry Pi 3b / 3b+segítségével: 4 lépés](https://i.howwhatproduce.com/images/001/image-2658-16-j.webp)
A Raspbian Buster telepítése a Raspberry Pi 3 | -ra A Raspbian Buster használatának megkezdése a Raspberry Pi 3b / 3b+alkalmazással: Sziasztok, a közelmúltban a Raspberry pi szervezet új Raspbian operációs rendszert indított Raspbian Buster néven. Ez a Raspbian új verziója a Raspberry pi's számára. Tehát ma ebben az utasításban megtanuljuk, hogyan kell telepíteni a Raspbian Buster OS -t a Raspberry pi 3 -ra
A Raspbian telepítése a Raspberry Pi 3 B -be HDMI nélkül - Kezdő lépések a Raspberry Pi 3B - A Raspberry Pi beállítása 3: 6 lépés
![A Raspbian telepítése a Raspberry Pi 3 B -be HDMI nélkül - Kezdő lépések a Raspberry Pi 3B - A Raspberry Pi beállítása 3: 6 lépés A Raspbian telepítése a Raspberry Pi 3 B -be HDMI nélkül - Kezdő lépések a Raspberry Pi 3B - A Raspberry Pi beállítása 3: 6 lépés](https://i.howwhatproduce.com/images/002/image-5563-20-j.webp)
A Raspbian telepítése a Raspberry Pi 3 B -be HDMI nélkül | Kezdő lépések a Raspberry Pi 3B | A Raspberry Pi 3 beállítása: Mint néhányan tudják, a Raspberry Pi számítógépek nagyon félelmetesek, és az egész számítógépet egyetlen apró táblán szerezheti be. A Raspberry Pi 3 B modell négymagos 64 bites ARM Cortex A53-at tartalmaz 1,2 GHz -es órajelen. Ezzel a Pi 3 nagyjából 50