Mozgásérzékelőt készítünk egy webkamera alapján

Szeretném elmondani Önöknek, hogyan készítsenek programot külön kiadások nélkül, amelyek - a megfelelő finomítással - egy másik határvonalat válthatnak ki otthonuk védelme érdekében.
Arról beszélek, hogy egy mozgásérzékelő, amely két részből áll - web kamera (vagy bármely más hasonló eszköz), és a program, amely átveszi a funkcióját a mozgásérzékelő, sziréna és mások.

A mag számára azt javasolom, hogy nézzem meg egy kicsit fejlettebb verziót, amit kaptam - a GIF animációját.

A program létrehozásához szükség van a Delphi \ C ++ Builder és VisionLab összetevőkre.
Ebben a cikkben ismertetem az ehhez a programhoz szükséges alapvető funkciók megvalósítását. Ha önmagában olyan érzékelőt hoz létre, amely pontosan megfelel az Ön igényeinek, akkor szüksége lesz a készségekre a szóban forgó IDE-vel való együttműködéshez.

Egyszerűen megmutatom, mennyire könnyű mozgásérzékelőt készíteni, de nem adok részletes utasításokat teljes körű program létrehozására, tk. ez messze túlmutat egy cikken.

Szóval, menjünk. Indítsa el az építményt, hozzon létre egy új projektet
Fájl | Új | kérelem

Mozgásérzékelőt készítünk egy webkamera alapján

Egy üres forma jelenik meg a képernyőn, amelyen a VisionLab komponensei átkerülnek:
VLDSCapture
VLMotionDetect
VLImageDisplay (2 példány)

Megváltoztathatja az űrlap méretét, és mozgatni tudja az összetevőket a kívánt módon. Az én alakom így néz ki:

Mozgásérzékelőt készítünk egy webkamera alapján

Most össze kell állítanunk az összetevőket. Ehhez válassza a VLDSCapture1 lehetőséget (csak rákattintva), és az "Objektumellenőrző" ablakban a OutputPin tulajdonságot keressük.
Kattintson a három pontra mutató gombra.

Láthatja ezt a párbeszédablakot:

Mozgásérzékelőt készítünk egy webkamera alapján

Rendezze el a jelölőnégyzeteket a képen látható módon, majd kattintson az OK gombra.

Válassza a VLMotionDetect1 elemet. Az "Objektumellenőrző" ablakban ismét megkeressük a OutputPin tulajdonságot, és kattintsunk a gombra három ponttal.

A megnyitott párbeszédpanelen rendezze el a jelölőnégyzeteket a képen látható módon, majd kattintson az OK gombra.

Mozgásérzékelőt készítünk egy webkamera alapján

Gratulálok, csak létrehozott egy mozgásérzékelőt egy webkamera alapján! Most új funkciókat adunk hozzá.

Megváltoztathatja a mező méretét, amely befolyásolja az érzékelő általános érzékenységét, és az egyes cellák érzékenységét úgy állítja be, hogy kijelöli azt, és megnyomja a 0-9 billentyűt.

Mozgásérzékelőt készítünk egy webkamera alapján

Ez a módszer nem alkalmas állandó használatra, ezért hozzáadjuk a program végrehajtásakor az érzékenységet az első (!) Kódsorozat megírásával ebben a programban.

Ehhez az összetett paletta Normál lapján keresse meg és vigye át a Gomb összetevőt az űrlapra. Ez egy egyszerű gomb, amelyet minden PC-felhasználó többször is látott. Ha az űrlapon lévő gombot választja, megváltoztathatja a feliratot rajta (a Caption tulajdonság) az Object Inspector ablakban.

  • Mu nem egyszer szerkesztette a tulajdonságok a komponensek révén az ablak Object Inspector, így a jövőben, azt mondta: „Tulajdonságok szerkesztése” alatt azt értem, szerkesztése az Object Inspector. Emlékeztetek továbbá arra, hogy az összetevők tulajdonságainak szerkesztése kötelező kiválasztást jelent, ha rákattint, mielőtt elkezdené.

    VLMotionDetect1 -> MotionGrid -> ShowDialog # 40; # 41; ;

    így a forráskódnak így kell kinéznie:

    Mozgásérzékelőt készítünk egy webkamera alapján

    Fordítsa össze a programot (F9) és kattintson a gombra. Láthatja a már ismert érzékelő érzékenység beállítás párbeszédablakot.

    log file
    Most hozzáadjuk azt a képességet, hogy adatokat menthessünk azokon a négyzeteken, amelyeken mozgást figyeltünk meg.

    Az összetett paletta Normál lapján vigye a Memo összetevőt az űrlapra.
    A ScrollBars tulajdonság megváltoztatásával állítsa be az értéket ssVerticalben

    Az ablak tartalmát alapértelmezés szerint szerkesztheti a Lines tulajdonság segítségével

    Válassza ki a VLMotionDetect1 összetevőt a rákattintással, és változtassa meg a SynchronizeType tulajdonságot, állítsa be a stQueue
    Ne zárja be az Objektumellenőrzőt, hanem menjen az Események fülre.

    így a forráskód így fog kinézni:

    Mozgásérzékelőt készítünk egy webkamera alapján

    Fordítsa össze a programot (F9). Amikor az alkalmazás elindul, látni fogod, hogy most a program jelenti azt a négyzetet, amelyben mozgást figyeltek meg.

    Például egy ilyen programot kaptam.

    Ololo, tényleg programokat kell készíteni egy Turing-gépen, amely fából, egy síkból és egy fejszével készül.
    Itt van! Kézimunka, a megvalósítás eleganciája, művészet! A lyukkártya és minden más módszer, amely nem újítja meg a kereket, a kemencében szégyen és szégyen.

    Valószínűleg még azt hiszed, hogy a vadász, aki pisztolyt és laikát használva megöli a medvét, nem tarthatatlan. Egy igazi vadász csak egy, aki a meztelen kezével medve kopog;)

    Vendég (nem ellenőrzött) -

    Most letöltötted valaki más programját. Még ha hozzá egy kis designot, nem lett a tiéd. Csak elkészítetted a készet, anélkül, hogy bármit létrehoznál. Ez nem programozás, hanem csak a tervezés.

    Vinapi is lehetetlen? Még a tömeg invokálható szintaxisa is? Hol van a határ, mit lehet használni, és mi nem?

    Az alábbiakban helyesen írtuk, van egy furcsa fogalma a szakmáról.

    táblás (nem ellenőrzött) - 19.02.11

    Nem figyelni tuporezov, ez a program kerül sor a vizuális környezet, miért ír az összetevők, ha már megtörtént, Nájera hulladék időt, ha megoldja a problémát, akkor a komponensek előzetesen már ide áraink egy vizuális nyelv, és ha fog írni minden gomb, minden forma, összetevő, akkor a hülye nagybátyja vagy)

    Konstantin (nem ellenőrzött) - 21/02/11

    Köszönjük a cikket és az alkatrészekkel kapcsolatos útmutatót.
    PS. Néhánynak tényleg furcsa ötlete van a programozókról, a szakmáról és a szégyenről.

    Alexey Batkovich (nem ellenőrzött) - 21/02/11

    Vendég (nem ellenőrzött) -

    A fordított program futtatása után a hiba 0xc0000005 megjelenik kétszer, és véget ér - mi lehet a helyzet, Admin My))?

    Vendég (nem ellenőrzött) -

    Alexander (nem ellenőrzött) - 28.08.13

    Tudja nyomon követni a változtatásokat a monitor képernyőn ezen összetevőkön keresztül?

    Kapcsolódó cikkek