Как правильно освободить память, используемую матрицами? - PullRequest
0 голосов
/ 06 августа 2011

У меня есть концептуальная проблема в OpenCV

У меня есть следующая функция:

void project_on_subspace(CvMat * projectionResult_img)
{
[...]
projectionResult_img = cvReshape( projectionResult_line_normalised_centered, projectionResult_img, 0, 100 );
}

По сути, я возвращаю квадратную матрицу в результате своей функции.Проблема в том, что фактические данные моей матрицы хранятся в projectionResult_line_normalised_centered (если я понял, как работает открытое резюме), что означает, что попытка использовать CvReleaseMat (projectionResult_img) позже в моем коде для освобождения памяти не будет работать, так какреальные данные матрицы находятся в другом месте.Есть ли какой-нибудь правильный способ освободить фактические данные матрицы, БЕЗ также работающего с указателем на "projectionResult_line_normalised_centered"?

Спасибо

1 Ответ

0 голосов
/ 07 августа 2011

Нет, нет другого способа, кроме как сохранить указатель на матрицу результатов (projectionResult_line_normalised_centered) в переменной или элементе структуры.

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