Если у вас есть только одна матрица, указывающая на ваши данные, вы можете сделать этот трюк:
Mat img = imread("myImage.jpg");
// do some operations
img = Mat(); // release it
Если более чем один Мат указывает на ваши данные, вам следует освободить их все.
Mat img = imread("myImage.jpg");
Mat img2 = img;
Mat roi = img(Rect(0,0,10,10));
// do some operations
img = Mat(); // release all of them
img2 = Mat();
roi = Mat();
Или используйте бульдозерный подход: (Вы уверены? Это звучит как вставка ошибок в ваш код)
Mat img = imread("myImage.jpg");
Mat img2 = img;
Mat roi = img(Rect(0,0,10,10));
// do some operations
char* imgData = (char*)img.data;
free[] imgData;
imshow("Look, this is called access violation exception", roi);