私はOpenCV 2.2で作業しています。イメージが返された場合、イメージに割り当てられたメモリを解放する必要があるのでしょうか?私はメインプログラムから何度か呼び出されるmethod1(下記参照)を持っています。メソッド内で作成されたIplImageを返します。 メソッドで作成したイメージはどこから解放する必要がありますか?私がリターンコマンドの前にそれをリリースすれば、何も返されないだろうと思いますか?戻りコマンドの後、処理されません。では、私のプログラムのランタイム中に作成されたすべてのdstイメージを取り除くにはどうすればよいですか?イメージが返された場合は、cvReleaseImageが必要ですか?
IplImage* Method1(IplImage* src) {
IplImage *dst = cvCreateImage(cvSize(src->width, src->height), IPL_DEPTH_8U, 1);
[...]
return dst;
}
Thx!
EDIT:その後、メインプログラムで正しくメモリを解放するために
IplImage* tmp;
tmp = cvCreateImage(cvSize(dst->width, dst->height), IPL_DEPTH_8U, 1);
tmp = Method1(src);
または
IplImage* tmp;
tmp = Method1(src);
: は、だから私はこのように、このメソッドを呼び出す必要がありますか?