тонкости cvRetrieveFrame - openCV - PullRequest
2 голосов
/ 25 декабря 2010

В документации OpenCV упоминается, что «возвращаемое изображение (cvRetrieveFrame) не должно быть выпущено или изменено пользователем» ... Ссылка: http://opencv.willowgarage.com/documentation/c/highgui_reading_and_writing_images_and_video.html#retrieveframe

Я пытаюсь отладить мой код, которыйвключает следующие шаги:

  1. Извлечение кадра из видео с использованием cvRetrieveFrame ()
  2. Выполнение некоторой обработки кадра
  3. выходные результаты

Мой инстинкт говорит, что с cvRetrieveFrame () что-то не так, потому что, если я вручную вводю кадры с помощью cvLoadImage, программа работает нормально.Но я не получаю те же результаты при использовании cvRetrieveFrame ().

Поскольку в документации упоминается такое ограничение, есть ли причина такого ограничения?И есть ли альтернативы?

Хорошего дня

1 Ответ

1 голос
/ 25 декабря 2010

Прежде чем вызывать эту функцию, вы должны были использовать другую функцию, которая называется cvGrabFrame (), чтобы иметь возможность использовать упомянутую функцию, которую вы можете использовать для выполнения любой необходимой обработки на фрейме (такой как этап декомпрессии в кодек), а затем вернуть указатель IplImage *, который указывает на другой внутренний буфер (поэтому не полагайтесь на это изображение, потому что оно будет перезаписано при следующем вызове cvGrabFrame ()).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...