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))); }
//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(); }
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 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)); }