Segfault при использовании open cv Mat :: at - PullRequest
2 голосов
/ 06 апреля 2011

Я пытаюсь заполнить матрицу opencv некоторыми значениями, но продолжаю получать ошибки по умолчанию. Код следующий:

Mat mask_gx(in_window_size, in_window_size, image.type());
  for(int i = 0; i <= in_window_size; i++)
  {
    for(int j = 0; j <= in_window_size; j++)
    {
      double gx = (-i/in_sigma) * pow(M_E, ((pow(i, 2)* pow(j, 2))/pow(in_sigma, 2))/(-2));
      mask_gx.at<double>(j, i) = gx;
    }
  }

Проблема в последней строке. Я проверил это с:

mask_gx.at<int>(j, i) = 1;

и я все еще получаю сегфо.

У кого-нибудь есть идеи, что кажется проблемой с этим кодом?

1 Ответ

1 голос
/ 06 апреля 2011

Если in_window_size - это количество значений в каждом измерении, то, по-моему, оно должно быть <, а не <= в for -контурных сравнениях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...