예제 #1
0
        private int width = 0, height = 0, totaal, imgLen; // de grootte van het uiteindelijk afbeeldingen in aantal bytes (imgLen is de lengte van 1 rij van een stream van een webcam)

        #endregion Fields

        #region Constructors

        /// <summary>
        /// De class die alles doet (het bepalen van de achtergronden, 
        /// het vergelijken, het samenvoegen en het verzenden (via socket)
        /// </summary>
        /// <param name="hoogteKolomVergelijken">de hoogte van die kolom die vergeleken moet worden (als je niet wilt dat de randen meegenomen moeten worden), getal moet tussen 0 en 100 zijn (80 is standaard)</param>
        /// <param name="aantalKolomVergelijken">het aantal kolommen dat vergeleken moet worden tussen de 2 videostreams (bij 1 word er maar 1 kolom vergeleken)), getal moet minmaal 1 zijn (5 is standaard)</param>
        /// <param name="aantalFramesVergelijken">het aantal frames dat van 1 videostream hetzelfde moet zijn om de achtergrond te bepalen (bij 1 word er maar naar 1 frame gekeken), getal moet minimaal 1 zijn (20 is standaard)</param>
        /// <param name="aantalPixelsBekijken">hoeveel pixels er worden overgeslagen met het bepalen van de achtergond (bij 1 worden alle pixels bekeken), moet minimaal 1 zijn (5 is standaard)</param>
        /// <param name="decPercentageHetzelfde">het percentage dat tussn de twee videostrams hetzelfde moet zijn om ze te kunnen samenvoegen (bij 1 moeten ze precies hetzelfde zijn), getal moet tussen 0 en 1 liggen(0.95 is standaard))</param>
        /// <param name="ratioInOut">hoe veel de uiteindelijk videostream kleiner moetn worden ten opzichte van de 2 input videostreams (bij 1 word er niets aangepast), getal moet minimaal 1 zijn (1 is standaard)</param>
        /// <param name="verschilImages">hoe precies de pixels hetzelfde moeten zijn tussen 2 videostreams tijden het vergelijken (bij 0 moeten ze precies hetzelfde zijn), getal tussen 0 en 255 liggen (20 is standaard)</param>
        /// <param name="verschilBackground">hoe precies de pixels hetzelde moeten zijn tijdens het bepalen van de achtergrond van een videstream (bij 0 moeten ze precies hetzelfde zijn), getal tussen de 0 en 255 liggen (20 is standaard)</param>
        /// <param name="socketStream">de socket die gebruikt word bij het verzenden van de videostream (standaard is ip "localhost" en port 7779)</param>
        /// <param name="socketMotion">de socket die gebruikt word bij het verzenden van de coordinaten van beweging (standaard is "localhost" en 7780) </param>
        /// <param name="detectieVerschil">het maximale verschil dat er mag zijn tussen 2 pixels bij het detecteren van beweging (bij 0 moeten ze precies hetzelde zijn), getal tussen de 0 en de 255 (20 is standaard)</param>
        /// <param name="socketGezichtsHerkenning">de socket die gebruikt word bij het verzenden van de coordianten van een gezicht (standaard is ip "localhost" en port 7781)</param>
        /// <param name="intervalMotionCheck">het aantal miliseconden dat er op beweging gekeken moet worden (500ms is standaard)</param>
        public ImageControl(int hoogteKolomVergelijken, int aantalKolomVergelijken, int aantalFramesVergelijken, int aantalPixelsBekijken, 
            float decPercentageHetzelfde, int ratioInOut, int verschilImages, int verschilBackground, TCPOut socketStream, TCPOut socketMotion,
            int detectieVerschil, int intervalMotionCheck, TCPOut socketGezichtsHerkenning, int intervalFaceCheck,
            int links, int rechts, int boven, int onder, int Mlinks, int Mrechts, int Mboven, int Monder)
        {
            this.hoogteKolom = hoogteKolomVergelijken;
            this.kolom = aantalKolomVergelijken;
            this.frames = aantalFramesVergelijken;
            this.pixels = aantalPixelsBekijken;
            this.percentage = decPercentageHetzelfde;
            this.ratio = ratioInOut;
            this.ver = verschilImages;
            this.verBack = verschilBackground;
            this.socket = socketStream;
            this.detVerschil = detectieVerschil;
            this.socketMotion = socketMotion;
            this.sockFace = socketGezichtsHerkenning;
            this.Aboven = boven;
            this.Alinks = links;
            this.Aonder = onder;
            this.Arechts = rechts;
            this.Mboven = Mboven;
            this.Mlinks = Mlinks;
            this.Monder = Monder;
            this.Mrechts = Mrechts;
            this.timer = new System.Timers.Timer(intervalMotionCheck);
            timer.Enabled = false;
            timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed);
            timerGC = new System.Timers.Timer(1000);
            timerGC.Enabled = true;
            timerGC.Elapsed += new System.Timers.ElapsedEventHandler(timerGC_Elapsed);
        }
예제 #2
0
파일: face.cs 프로젝트: muggenhor/fishtank
 public face(TCPOut socket)
 {
     objFaceDetector = clsFaceDetectionWrapper.GetSingletonInstance();
     data = new int[2];
     this.socket = socket;
     //starten
     socket.Start();
 }
예제 #3
0
 public MotionDetection(int verschil, int lengte, byte[] achtergrond, TCPOut socket)
 {
     this.verschil = verschil;
     this.lengte = lengte;
     this.backGround = achtergrond;
     this.socket = socket;
     this.socket.Start();
 }
예제 #4
0
 //webcam voor de kleine zijde laden
 public bool WebcamVoorKleineZijdeLaden(CaptureDevice webcam, TCPOut socket)
 {
     try { kleineZijde = new ShortSide(webcam, socket.IpAddres, socket.Poort);
         return true; }
     catch { return false; }
 }
예제 #5
0
 public ShortSide(VideoSource.CaptureDevice webcam, string ip, int poort)
 {
     video = new VideoInput(webcam);
     socket = new TCPOut(ip, poort);
 }