Chcę wyodrębnić klatki kluczowe z filmu. Teraz używam pętli, która porównuje próbki jednej klatki z próbkami poprzedniej klatki, ale ta metoda nie jest zbyt dobra.
Pozwól mi wyjaśnić: Mam wideo z nadzoru i muszę wybrać klatki, w których występuje zmiana (pojawia się osoba, pojawia się inna osoba, osoba odchodzi itd.). Porównanie obrazów Java / Klasa wykrywania ruchu
Czy znasz inne sposoby?
Dzięki!!
Odpowiedzi:
4 dla odpowiedzi № 1„Nie jestem pewien, co nazywasz”klatka kluczowa". Twoja metoda pozwoli ci tylko znaleźć przejścia między scenami, ale nie jest to zazwyczaj„ klatka kluczowa "w dekodowaniu wideo: to raczej I-frame (ramka, która może być zdekodowana sama, bezodniesienie do innych ramek). (Często przejścia sceny są klatkami kluczowymi, ale niekoniecznie w drugą stronę). Ta koncepcja jest oczywiście powiązana z kodekiem wideo, ale większość nowoczesnych kodeków (z MPEG-1) implementuje tę koncepcję. Ale zauważ, że nie jest to związane z surowymi obrazami w sobie, ale z kodekiem.
Jeśli chcesz wykryć te klatki kluczowe (I-ramki), następnie musisz zajrzeć do interfejsu API dekodowania wideo, aby sprawdzić, czy pozwala uzyskać te informacje. Wygląda na to, że xuggle zapewnia ci IVideoPicture.getPictureType () metoda, ale jej nie użyłem.