Проблема в том, что вы используете цикл от 0 до N, когда действительные индексы от 0 до N - 1. Вот почему вы получаете исключение на последней итерации: std::vector::at
выполняет проверку привязки, если вы вышли иззатем бросается std::out_of_range
.
Вам необходимо изменить состояние цикла на <
, а не <=
.
for (int i = 0; i < x_captured.size(); i++)
{
for (int j = 0; j < y_captured.size(); j++)
{
...
}
}