OpenCV выбирает правильную подматрицу в цикле с C ++ - PullRequest
1 голос
/ 13 марта 2011

Я довольно новичок в 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

Очевидно, что что-то не работает должным образом, и я думаю, что это справедливое предположение, что ошибка заключается вмое понимание того, как правильно выбрать подматрицу из большего.Может кто-нибудь посоветовать, как лучше всего это сделать?

В связанной заметке я действительно надеялся использовать указатель, а не создавать заголовок матрицы при каждой итерации цикла.

Короче - как правильно делать то, что я пытаюсь сделать?Большое спасибо.

...