2

画像処理プログラムで OpenCV を使い始めました。cv::Matメモリ上のメソッドで次のように使用して割り当てる場合:

cv::Mat coords(100, 5, CV_32FC1);

もうcoords.release()必要ない場合、メソッドの最後にメモリからクリアする必要がありますか?

それはしなければならないことですか?ありがとう

4

1 に答える 1

5

cv::Matオブジェクトを明示的に解放する必要はありません。cv::Matオブジェクトは、宣言されたスコープの外に出ると、自動的に解放されます (つまり、そのデストラクタが呼び出されます)。

アップデート:

(コメントへのお返事です)

cv::Matが正常に割り当てられたかどうかを確認するには、次の手順を実行します。

cv::Mat coords(100, 5, CV_32FC1); 

if(coords.empty())
{
   cout<<"Matrix Not Allocated";
   return 0;
}
于 2013-03-20T04:55:08.873 に答える