/ / Java - Extração de quadros-chave de um vídeo - java, video-processing, xuggle

Java - Extração de quadros-chave de um vídeo - java, processamento de vídeo, xuggle

Eu quero extrair keyframes de um vídeo. Agora eu estou usando um loop que compara as amostras de um quadro com as amostras do quadro anterior, mas este método não é muito bom.

Deixe-me explicar: Eu tenho um vídeo de vigilância e eu tenho que selecionar os quadros onde há uma mudança (uma pessoa aparece, outra pessoa aparece, uma pessoa vai embora, etc.) Agora eu estou usando essa classe para comparar quadros: Comparação de Imagens Java / Classe de Detecção de Movimento

Você conhece outras maneiras?

Obrigado!!

Respostas:

4 para resposta № 1

Eu não tenho certeza do que você chama de "quadro-chave". Seu método permitiria que você apenas encontrasse transições de cena, mas isso não é o que normalmente se quer dizer com um" quadro - chave "na decodificação de vídeo: geralmente é um Quadro I (um quadro que pode ser descodificado sozinho, semreferência a outros quadros). (Frequentemente as transições de cena são keyframes, mas não necessariamente o contrário). Esse conceito está ligado ao codec de vídeo, é claro, mas a maioria dos codecs modernos (do MPEG-1) implementam esse conceito. Mas observe que isso não está relacionado às imagens brutas em si, mas com o codec.

Se você quiser detectar esses keyframes (Quadros I)Então, você deve procurar dentro da API de decodificação de vídeo para ver se ela permite obter essas informações. Parece que o xuggle fornece a você IVideoPicture.getPictureType () método, mas eu não usei isso.