単なる「IplImage *型」や「CvMat *型」は、
「cvReleaseImage関数」や「cvReleaseMat関数」で使用後にメモリを解放する手間があった。
OpenCV2.0では、「参照カウンタ型のポインタクラス」が用意された。
これは、指し示すものがなくなったら、メモリを自動的に破棄してくれるもの。
(いわゆるスマートポインタみたいなもの)
このクラスは
class cv::Ptr<typename _Tp>
となっている。
【使い方】
cv::Ptr<IplImage> imgA = cvLoadImage("test.jpg");
if(imgA.empty())
{
std::cerr << "Can't Load Image \n";
return -1;
}
... ...
▲最初が少し異なるだけで後は同じようにメンバを使用できる