public void processarVideo(ParametrosDinamicos parametros)
        {
            mCapture = new Capture(mNomeDoArquivo);

            inicializarVariaveis();
            carregarParametrosNaTela(parametros);

            while (mImagemColorida != null)
            {
                atualizarParametros(parametros);
                mContadorDeFrames++;
                processarImagem(false);
                CvInvoke.WaitKey(100);
                // CvInvoke.cvShowImage("Imagem", mImagemColorida);
                desenharNaImagem(parametros);
                exibirImagem(false);

                if (mSalvarImagem)
                {
                    /*CvInvoke.SaveImage(String.Format(@"C:\Users\Tadeu Rahian\Dropbox\Dropbox\UFMG\PFC1\Imagens\mImagemColorida{0}.jpg", mContadorDeFrames), mImagemColorida);
                     * EnviarImagensEmail(new Attachment(String.Format(@"C:\Users\Tadeu Rahian\Dropbox\Dropbox\UFMG\PFC1\Imagens\mImagemColorida{0}.jpg", mContadorDeFrames)));
                     * mSalvarImagem = false;*/
                }
                mImagemColorida = mCapture.QueryFrame();
            }

            mCapture.Dispose();
        }
        public void processarVideo(ParametrosDinamicos parametros)
        {
            mCapture = new Capture(mNomeDoArquivo);

            inicializarVariaveis();
            carregarParametrosNaTela(parametros);

            while (mImagemColorida != null)
            {
                atualizarParametros(parametros);
                mContadorDeFrames++;
                processarImagem(false);
                CvInvoke.WaitKey(100);
               // CvInvoke.cvShowImage("Imagem", mImagemColorida);
                desenharNaImagem(parametros);
                exibirImagem(false);

                if (mSalvarImagem)
                {
                    /*CvInvoke.SaveImage(String.Format(@"C:\Users\Tadeu Rahian\Dropbox\Dropbox\UFMG\PFC1\Imagens\mImagemColorida{0}.jpg", mContadorDeFrames), mImagemColorida);
                    EnviarImagensEmail(new Attachment(String.Format(@"C:\Users\Tadeu Rahian\Dropbox\Dropbox\UFMG\PFC1\Imagens\mImagemColorida{0}.jpg", mContadorDeFrames)));
                    mSalvarImagem = false;*/
                }
                mImagemColorida = mCapture.QueryFrame();
            }

            mCapture.Dispose();
        }
 //Calibração
 private void calibracao_Click(object sender, EventArgs e)
 {
     JanelaDeCalibracao vJanela = new JanelaDeCalibracao();
     parametros = new ParametrosDinamicos();
     if (mProcessador != null)
         parametros = mProcessador.obterParametros();
     vJanela.Visible = true;
     mProcessador = new ProcessadorBlob(ParametrosConstantes.NomeDoArquivo, vJanela, parametros);
     mProcessador.calibrar();
 }
 //Blob
 private void button1_Click(object sender, EventArgs e)
 {
     parametros = new ParametrosDinamicos();
     if (mProcessador != null)
         parametros = mProcessador.obterParametros();
     JanelaDeMonitoramentoBlob vJanela = new JanelaDeMonitoramentoBlob();
     vJanela.Visible = true;
     mProcessador = new ProcessadorBlob(ParametrosConstantes.NomeDoArquivo, vJanela, parametros);
     mProcessador.mapear();
 }
 //Mapeamento
 private void button3_Click(object sender, EventArgs e)
 {
     if(mProcessador != null)
         parametros = mProcessador.obterParametros();
     if (parametros == null)
         parametros = new ParametrosDinamicos();
     DefinirAreaRestrita vJanela = new DefinirAreaRestrita();
     vJanela.Visible = true;
     mProcessador = new ProcessadorBlob(ParametrosConstantes.NomeDoArquivo, vJanela, parametros);
     mProcessador.mapear();
 }
        protected bool verificarSeEhTamanhoDePessoa(Rectangle vRetanguloDaEnvoltoria)
        {
            if (parametros == null)
            {
                parametros = new ParametrosDinamicos();
            }

            return(vRetanguloDaEnvoltoria.Width > (parametros.LarguraPessoa * (1 - parametros.FaixaToleranciaTamanhoLargura)) &&
                   vRetanguloDaEnvoltoria.Width < (parametros.LarguraPessoa * (1 + parametros.FaixaToleranciaTamanhoLargura)) &&
                   vRetanguloDaEnvoltoria.Height > (parametros.AlturaPessoa * (1 - parametros.FaixaToleranciaTamanhoAltura)) &&
                   vRetanguloDaEnvoltoria.Height < (parametros.AlturaPessoa * (1 + parametros.FaixaToleranciaTamanhoAltura)));
        }
示例#7
0
        //Calibração
        private void calibracao_Click(object sender, EventArgs e)
        {
            JanelaDeCalibracao vJanela = new JanelaDeCalibracao();

            parametros = new ParametrosDinamicos();
            if (mProcessador != null)
            {
                parametros = mProcessador.obterParametros();
            }
            vJanela.Visible = true;
            mProcessador    = new ProcessadorBlob(ParametrosConstantes.NomeDoArquivo, vJanela, parametros);
            mProcessador.calibrar();
        }
示例#8
0
        //Blob
        private void button1_Click(object sender, EventArgs e)
        {
            parametros = new ParametrosDinamicos();
            if (mProcessador != null)
            {
                parametros = mProcessador.obterParametros();
            }
            JanelaDeMonitoramentoBlob vJanela = new JanelaDeMonitoramentoBlob();

            vJanela.Visible = true;
            mProcessador    = new ProcessadorBlob(ParametrosConstantes.NomeDoArquivo, vJanela, parametros);
            mProcessador.mapear();
        }
示例#9
0
        //Mapeamento
        private void button3_Click(object sender, EventArgs e)
        {
            if (mProcessador != null)
            {
                parametros = mProcessador.obterParametros();
            }
            if (parametros == null)
            {
                parametros = new ParametrosDinamicos();
            }
            DefinirAreaRestrita vJanela = new DefinirAreaRestrita();

            vJanela.Visible = true;
            mProcessador    = new ProcessadorBlob(ParametrosConstantes.NomeDoArquivo, vJanela, parametros);
            mProcessador.mapear();
        }
示例#10
0
        internal RespostaVerificacao verificarSePossuiComportamentoSuspeito(ParametrosDinamicos parametros)
        {
            RespostaVerificacao resposta = new RespostaVerificacao();

            resposta.Suspeito = true;
            if (parametros == null)
            {
                parametros = new ParametrosDinamicos();
            }

            if (verificarSeEstaEmAreaProibida(parametros.RegiaoAreaRestrita))
            {
                resposta.Mensagem = "ATENÇÃO - PERMANÊNCIA EM ÁREA PROIBIDA";
                return(resposta);
            }
            if (verificarSeNaoEstaEmPe(parametros.RetanguloPessoa))
            {
                resposta.Mensagem = "ATENÇÃO - PESSOA EM POSIÇÃO SUSPEITA";
                return(resposta);
            }
            if (obterVelocidadeKmPorHora() > parametros.VelocidadeMaxima)
            {
                resposta.Mensagem = "ATENÇÃO - VELOCIDADE ACIMA DO NORMAL";
                return(resposta);
            }
            if (verificarSePossuiRotaSuspeita(parametros.NumeroMaximoDeInversoesDeRota))
            {
                resposta.Mensagem = "ATENÇÃO - MOVIMENTAÇÃO SUSPEITA";
                return(resposta);
            }
            if (obterTempoEmCena() > parametros.TempoMaximoEmCena)
            {
                resposta.Mensagem = "ATENÇÃO - TEMPO EM CENA ACIMA DO NORMAL";
                return(resposta);
            }
            resposta.Suspeito = false;
            resposta.Mensagem = "NORMAL";
            return(resposta);
        }
        internal RespostaVerificacao verificarSePossuiComportamentoSuspeito(ParametrosDinamicos parametros)
        {
            RespostaVerificacao resposta = new RespostaVerificacao();
            resposta.Suspeito = true;
            if (parametros == null)
                parametros = new ParametrosDinamicos();

            if (verificarSeEstaEmAreaProibida(parametros.RegiaoAreaRestrita))
            {
                resposta.Mensagem = "ATENÇÃO - PERMANÊNCIA EM ÁREA PROIBIDA";
                return resposta;
            }
            if (verificarSeNaoEstaEmPe(parametros.RetanguloPessoa))
            {
                resposta.Mensagem = "ATENÇÃO - PESSOA EM POSIÇÃO SUSPEITA";
                return resposta;
            }
            if (obterVelocidadeKmPorHora() > parametros.VelocidadeMaxima)
            {
                resposta.Mensagem = "ATENÇÃO - VELOCIDADE ACIMA DO NORMAL";
                return resposta;
            }
            if (verificarSePossuiRotaSuspeita(parametros.NumeroMaximoDeInversoesDeRota))
            {
                resposta.Mensagem = "ATENÇÃO - MOVIMENTAÇÃO SUSPEITA";
                return resposta;
            }
            if (obterTempoEmCena() > parametros.TempoMaximoEmCena)
            {
                resposta.Mensagem = "ATENÇÃO - TEMPO EM CENA ACIMA DO NORMAL";
                return resposta;
            }
            resposta.Suspeito = false;
            resposta.Mensagem = "NORMAL";
            return resposta;
        }
 protected virtual void atualizarParametros(ParametrosDinamicos parametros)
 {
 }
 protected virtual void desenharNaImagem(ParametrosDinamicos parametros)
 { }
 protected virtual void carregarParametrosNaTela(ParametrosDinamicos parametros)
 {
 }
        protected virtual void carregarParametrosNaTela(ParametrosDinamicos parametros)
        {

        }
        protected virtual void atualizarParametros(ParametrosDinamicos parametros)
        {

        }
 protected virtual void desenharNaImagem(ParametrosDinamicos parametros)
 {
 }
 protected bool verificarSeEhTamanhoDePessoa(Rectangle vRetanguloDaEnvoltoria)
 {
     if (parametros == null)
         parametros = new ParametrosDinamicos();
     
     return vRetanguloDaEnvoltoria.Width > (parametros.LarguraPessoa * (1 - parametros.FaixaToleranciaTamanhoLargura))
         && vRetanguloDaEnvoltoria.Width < (parametros.LarguraPessoa * (1 + parametros.FaixaToleranciaTamanhoLargura))
         && vRetanguloDaEnvoltoria.Height > (parametros.AlturaPessoa * (1 - parametros.FaixaToleranciaTamanhoAltura))
         && vRetanguloDaEnvoltoria.Height < (parametros.AlturaPessoa * (1 + parametros.FaixaToleranciaTamanhoAltura));
         
 }