2011-08-06 13 views
0

私は 行列が使用するメモリを適切に解放するにはどうすればよいですか?

OpenCVの

に概念的な問題を抱えている私は、次の機能があります。

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

は基本的に私は私の関数の結果として、正方行列を返しています。 問題は、私の行列の実際のデータが "projectionResult_line_normalised_centered"に格納されていることです(CVがどのように開いているか分かっていれば)。後でCvReleaseMat(projectionResult_img)を使用してメモリを解放しようとすると動作しません。実際の行列データは他の場所にあります。 "projectionResult_line_normalised_centered"へのポインタを扱わずに、実際の行列データを解放する適切な方法はありますか?

おかげ

+0

あなたは何を求めているのですか?行列を複製するとメモリの所有者を簡素化できるので、このようなトリッキーな場所は避けてください。 – user786653

+0

残念ながら私のプログラムはできるだけ早く実行しなければならず、私の行列はかなり大きい – lezebulon

答えて

0

いいえ、変数または構造体部材の周り結果行列(projectionResult_line_normalised_centered)へのポインタを維持するよりも、他の方法はありません。

関連する問題