Preciso desenvolver uma aplicação, onde eu preciso gravar o vídeo de uma câmera somente quando houver movimento. Gostaria de saber qual a melhor forma de verificar se houve movimento ou não.
Verificar se houve movimento
11 Respostas
Você precisa de um sensor adicional de movimento, que costuma ser um detector de movimento infravermelho.
Simplesmente ficar tirando a diferença entre dois frames de uma câmera é muito complicado e muito pesado (gasta uma quantidade absurda da CPU); é possível, mas é bem complicado, até porque você precisa tratar a diferença porque há muito ruído entre um frame e outro, então você precisa tratar o resultado da diferença (que nunca é sempre zero, mesmo que você deixe a câmera no completo escuro).
Mas eu preciso fazer essa aplicação utilizando a programação mesmo, pois é projeto de faculdade
Se for um projeto de faculdade aí muda de figura. Você precisa aprender um pouco sobre processamento digital de sinais.
Se puder usar a biblioteca OpenCV (é em C++, sorry, mas é a mais famosa e a mais usada - ela é usada até naquelas máquinas fotográficas que reconhecem um sorriso e batem uma foto automaticamente), é melhor.
Mas qual a melhor forma de fazer a programação? Analisar frame a frame?
Hum… é por isso que lhe indiquei a OpenCV. De lá você pode pegar ponteiros para literatura sobre análise de imagens; talvez, para seu objetivo, você precise analisar a diferença entre 2 frames sucessivos, ou então precise fazer algum outro tratamento prévio na imagem . Não sei exatamente o que se deve fazer; só sei que você precisa estudar.
Pra fazer esse projeto o JMF pode me ajudar?
Cara, primeiro de tudo: descubra oq o seu professor quer com esse trabalho.
Eu estou com uma disciplina parecida com essa na faculdade, e estavamos conversando com o professor. Ele mesmo falou que fazendo análise de imagem, é bem complexo algo assim. Algo merecedor de TCC. Então, se este não é o seu caso, converse com quem lhe pediu este trabalho e veja se vc precisa usar computação gráfica para isso. As vezes oq ele quer é somente ver a sua capacidade de racionalizar sobre o problema, e não somente sobre a solução.
Esse projeto é para o meu tcc, o que eu preciso saber no momento é saber qual o melhor meio pra fazer a análise.
Obrigado a todos pela ajuda
Bem, já que é assim, posso te recomendar um artigo, feito por um aluno da FURB, com o Professor Dalton:
Desenvolvimento de um Sistema de Visão Computacional para Monitoramento Automatizado de Veículos
Já é um início para a sua pesquisa de TCC ;D
Gostaria de saber quais métodos são possíveis para fazer essa análise
Eu pensei em capturar uma imagem inicial e a cada intervalo de tempo comparar essa imagem com outra, ou analisar pixel a pixel das imagens.
Preciso saber se alguma dessas formas é possível ou se existe outro meio de fazer isso.