Вставить значение в выпущенное изображение? - PullRequest
0 голосов
/ 27 февраля 2011

Я видел в коде, используя openCV, следующее:

        cvReleaseImage(&img);
        img= 0;

Почему и как они помещают 0 в изображение после того, как выпустили его?

Большое спасибо

Ответы [ 3 ]

1 голос
/ 27 февраля 2011

Некоторые люди считают, что обнуление указателя после удаления поможет им обнаруживать ошибки.

Авторы OpenCV, очевидно, так и думали, поэтому cvReleaseImage делает это.

И затем автор кода, который вы показали, также полагал, что, и, вероятно, не знал, что cvReleaseImage уже делает это обнуление.

Итак, дополнительное обнуление на 100% избыточно, просто ненужный код.

Обнуление, совершаемое cvReleaseImage, как полагают некоторые, помогает в обнаружении ошибок, в то время как другие полагают обратное, что вместо этого он в основном скрывает ошибки.

Приветствия & hth.,

0 голосов
/ 27 февраля 2011

Это гарантирует, что указатель изображения не будет указывать на что-то еще. Позже вы также можете проверить, указывает ли указатель на NULL (что равно 0).

Надеюсь, это поможет.

0 голосов
/ 27 февраля 2011

Это не само изображение, это указатель на изображение, которое они установили в 0 (NULL) после того, как изображение было выпущено.

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