Попиксельная обработка изображения и ошибка: 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д