Szegmentálás

  1. Háttérkivonás

    1. "b" gombbal aktuális háttér lementése (kéz nélkül)

    2. Az egyes frame-k kivonása a háttérből

    3. Küszöbölés

    4. 1

      Az eredeti kép és a differencia


      2

      Szegmentált kép

  2. 2D normalizált színtéren alapuló szegmentálás

    1. RGB -> 2D normalizált szintér konverzió

    2. 5


    3. Eredmény:

    4. 6

      RG szintérben történő szegmentálás (mesterséges fény mellett)

      7

      A szegmentált kép mediánszűrés után

Kontúr, konvex burok, ujjhegyek

  1. cvFindContours() fgv. a kontúrok keresésére


  2. cvContourArea() fgv. a kéz kontúr megtalálására


  3. 8


  4. Konvex burok számítása - cvConvexHull2() fgv.


  5. 9

    Konvex burok

  6. Ujjhegyek keresése - konvex burok töréspontjai/ritkítás


  7. 10

Kurzor mozgása és kattintás

  1. Mozgatás - SetCursorPos() fgv.

    1. szegmentált mutató ujj koordinátáinak megkeresése

    2. Differencia vektor figyelése - ha túl nagy vagy túl kicsi a kurzor nem mozdul

    3. átlagterület figyelése - kéz terület csökkenésre egér elengedés esemény (kurzor mozgatható több mozdulattal)

    4. manuálisan egér érzékenység állítás

  2. Klikkelés - mouse_event() fgv.

    1. MOUSEEVENTF_LEFTDOWN - bal gomb lenyomva

    2. MOUSEEVENTF_LEFTUP - bal gomb felengedve

    3. MOUSEEVENTF_RIGHTDOWN - jobb gomb lenyomva

    4. MOUSEEVENTF_RIGHTUP - jobb gomb felengedve

  3. Hiányosságok

    1. az egérkurzor mozgatásának pontossága

    2. kattintás során a kéz bemozdul