Страницы

Поиск по вопросам

среда, 18 декабря 2019 г.

Утечки памяти в OpenCV

#cpp #память #opencv #memory_leaks


У меня в проекте есть такие строчки кода(с++):

Mat src = imread(fn);
cvtColor(src, src, CV_BGR2RGB); 


Всё это находится в вызываемой изредка функции.
Происходит, как я могу предположить следующее: 


по указателю src находится оригинальное изображение из файла.
cvtColor это изображение преобразовывает и кладёт под тем-же именем, но уже в другое
место в памяти, тем самым оставляя оригинальные данные без каких-либо имён.


Вопрос: будет ли в этом месте утечка памяти, т.е. освободится ли место, где были
оригинальные данные, на которые сейчас ничего не ссылается, после выхода из подпрограммы?
    


Ответы

Ответ 1



Согласен с @Costantino Rupert - утечки быть не должно, я сам такое использую постоянно и работает бывает недели без перезагрузки, поэтому точно знаю что утечек нет. Я чуть менее чем уверен, что это нюансы конкретной реализации диспетчера памяти - попробуйте скомпилировать другим компилятором, или даже на другой платформе, скорее всего проблема отпадёт. Еще попробуйте другим компилятором пересобрать OpenCV

Комментариев нет:

Отправить комментарий