Qual o melhor formato de imagem pra usar?

6 respostas
P

Estou fazendo o trabalho do meu tcc, onde o projeto é uma câmera ficar monitorando um local e só começar a gravar na hora que houver movimento, para isso vou salvar uma imagem inicialmente e a cada intervalo de tempo salvo outra imagem e o sistema fica comparando as duas, eu estou com dúvida em saber qual o melhor formato pra salvar essas imagens, bitmap ou jpeg?

6 Respostas

E

Veja qual é o formato que garante a melhor comparação entre as duas. Provavelmente você terá mais dificuldades de comparar 2 imagens JPEG (já que o processo de compressão introduz certo ruído na imagem) mas você precisará de mais disco se for usar o bitmap puro.

tinorberto

O formato bitmap por não ser comprimido vai gerar arquivos grande s, se isso não for problemas ele vai ser mais facil para ser utilizado na comparação.

P

Então eu li em um trabalho que o bitmap facilita a programação, mas fica maior tbm, acho q vou acabar usando bitmap mesmo.
Obrigado pela ajuda

sergiotaborda

Normalmente o detector de movimento trabalha com matrizes de imagem obtidas da camera num processo de buffer.
Ou seja, a primeira imagem é colocada no buffer (na memria) a segunda imagem é comparada com a primeira. Se
houve movimento lança um evento. guarda a segunda imagem no buffer despresando a primeira. E assimsucessivamente…
Não ha real necessidade de guarda no disco. fora que isso acescenta um delay de I/O totalmente desnecessário.

As imagens podem ser gravadas para disco, mas ai num formato de filme para arquivo apenas e possível visualização posterior.

P

Eu não teria que armazenar a primeira e colocar a segunda no buffer pra ir comparando?

sergiotaborda

paulinhopamec:
Eu não teria que armazenar a primeira e colocar a segunda no buffer pra ir comparando?

Quando a imagem está na memoria, ela já esta armazenada.

Vc tem uma variável Imagem_Agora, e uma Imagem_Antes (esta é o buffer) e um método que compara

Imagem imagemAgora = ... //recebe da camera

boolean movimentou = testaMovimento(imagemAgora, imagemAntes);

imagemAntes = imagemAgora;

ImagemAntes atua como um buffer , ou seja , é uma variável global que vai sendo mudada cada vez
que uma imagem nova chega.

Criado 21 de setembro de 2009
Ultima resposta 23 de set. de 2009
Respostas 6
Participantes 4