Я довольно новичок в opencv.Я пытаюсь написать цикл, который выполняет некоторую обработку на маленькой (9x9) подматрице большой (~ 1000 x ~ 1000) матрицы.Основываясь на некоторой матрице масок, я решил, обрабатывать ли 9x9 в определенной точке большой матрицы.Основываясь на документации, которую я прочитал, я пытаюсь поместить эту строку кода в цикл:
Mat tempROI(*(data->cvData), Rect(i-4,j-4, i+5, j+5));
i и j - значения строк, столбцов большой матрицы.У меня тогда есть функция, которая обрабатывает tempROI.Я нахожу, однако, что размер моего ROI увеличивается с i и j.Я сбросил:
printf("Size of ROI = %d, %d.\nFor IDX = %d, %d\n", tempROI.rows, tempROI.cols, i, j);
в цикл для отладки.Я вижу, что моя рентабельность инвестиций значительно увеличивается.Например, вот случайный дамп:
Размер ROI = 191, 9. Для IDX = 4, 186
Очевидно, что что-то не работает должным образом, и я думаю, что это справедливое предположение, что ошибка заключается вмое понимание того, как правильно выбрать подматрицу из большего.Может кто-нибудь посоветовать, как лучше всего это сделать?
В связанной заметке я действительно надеялся использовать указатель, а не создавать заголовок матрицы при каждой итерации цикла.
Короче - как правильно делать то, что я пытаюсь сделать?Большое спасибо.