Попиксельная обработка изображения и ошибка: Index was out of range - C#

Узнай цену своей работы

Формулировка задачи:

Я в С# новенький, так что не судите строго. Я сделал программу в VS2010. Работает она следующим образом: Нажимается кнопка "Загрузить" и в первом PictureBox-е появляется изображение контура (с шириной в один пиксель и не пересекающийся), которое находится в C:\Freeman\image.bmp. После этого нажимается кнопка "код". В этот момент программа обрабатывает построчно изображение, занося каждый чёрный пиксель (точнее координаты) в список объектов класса ContDot. После начинается упорядочивание списка и одновременное формирование цепного кода Фримена в другом списке объектов класса FCode. (cc - сам код, rr - колличество повторений) Кнопка "декод" рисует тот же самый контур в двух других PictureBox-ах, основываясь на упорядоченном списке точек контура и коде фримена соответственно. Когда я нажимаю кнопку "код", то возникает следующая ошибка: An unhandled exception of type 'System.ArgumentOutOfRangeException' occurred in mscorlib.dll Additional information: Index was out of range. Must be non-negative and less than the size of the collection. Дебаггер наводится на строчку номер 92 - " start.X = CD[0].xx; " это берётся самый первый найденный пиксель для того, чтобы код фримена знал где начинать. Программа и изображение в архиве. папка "Freeman" должна находится в корне диска С. Заранее спасибо

Решение задачи: «Попиксельная обработка изображения и ошибка: Index was out of range»

textual
Листинг программы
if (FC[FC.Count - 1].cc != codegrid[dx + 1, dy + 1]) //line 124

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.4 из 5
Похожие ответы