ключевые кадры из видеофайла — как сделать быстрое извлечение в OpenCV?

Я знаю, что ffmpeg может сделать это из командной строки и почти уверен, что он может сделать это и из кода C ++. Но есть ли какой-нибудь простой способ в C ++ OpenCV3 или OpenCV2 захватывать только с ключевых кадров видеофайлов?

До video.set(CV_CAP_PROP_POS_FRAMES) работал следующим образом: позиция была «ближайшим ключевым кадром», но теперь она «исправлена», и я не могу найти способ, как обрабатывать только ключевые кадры (для целей исполнения) хотя бы одним из возможных способов:

  • 1-й способ: read() следующий ключкадр (как JavaCV FFmpegFrameGrabber.grabKeyFrame() )
  • 2-й способ: сделать быстродействующим grab() за каждый кадр, проверьте его свойства (какой?) и если это ключевой кадр, то сделайте медленную работу retrieve() ,

2

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]