OpenCV - cvQueryFrame () - PullRequest
       3

OpenCV - cvQueryFrame ()

1 голос
/ 14 марта 2011

В справочном руководстве OpenCV: http://opencv.willowgarage.com/documentation/c/highgui_reading_and_writing_images_and_video.html

В нем говорится следующее: cvQueryFrame( ):

Возвращенное изображение не должно быть выпущено или изменено пользователем.

Что подразумевается под этим утверждением?

Спасибо.

1 Ответ

5 голосов
/ 14 марта 2011

В зависимости от типа источника (камера / файл, кодек) cvQueryFrame может использовать одну и ту же область памяти для последовательно снятых изображений.Если вы попытаетесь освободить или изменить изображение, возвращаемое cvQueryFrame или cvRetrieveFrame, код захвата из OpenCV может перестать работать должным образом.

Это означает, что вы не должны пытаться освободить память изображения, возвращенную этими функциямиНапример, позвонив по номеру cvReleaseImage.Библиотека сделает это за вас при необходимости.

Также это означает, что вы не должны изменять изображение, используя функции типа cvScale, cvSet или напрямую изменяя данные пикселей низкого уровня.Если вы хотите изменить полученное изображение перед его использованием, используйте cvCloneImage, чтобы создать отдельную копию для себя.

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