を持ってcv::Mat
いますが、すでにいくつかの値を挿入しています。その内容をクリアするにはどうすればよいですか?
ありがとうございました
Mat
変数のメモリを解放したい場合はrelease()
.
Mat m;
// initialize m or do some processing
m.release();
オブジェクトのベクトルの場合、 でベクトルcv::Mat
全体のメモリを解放できますmyvector.clear()
。
std::vector<cv::Mat> myvector;
// initialize myvector ..
myvector.clear(); // to release the memory of the vector
ドキュメントから:
// sets all or some matrix elements to s
Mat& operator = (const Scalar& s);
それから私たちはできる
m = Scalar(0,0,0);
黒いピクセルで塗りつぶします。Scalar には 4 つのコンポーネントがあり、最後の alpha はオプションです。
release() 関数を呼び出す必要があります。
Mat img = Mat(Size(width, height), CV_8UC3, Scalar(0, 0, 0));
img.release();