Хочу, чтобы по рисунку (от руки или уже готовое изображение) подпрограмма на opencv оцифровывала данный граф.
Думаю, это вполне можно реализовать. Тогда необходимости рисовать большие графы в самой программе не будет. Достаточно будет нарисовать на листочке данный граф,
сделать фото, потом загрузить это фото в программу, а он сам оцифрует этот граф.
Я сделал похожий плагин к своей программе для оцифровки типографских изображений графов. Рисунки от руки цифровать сложнее - ср. оцифровка печатного и рукописного текста, если, конечно, это не чертеж по линейке. Не по размеру, но по сложности разработки этот плагин сильно превосходит саму программу редактирования графов. Притом, что применяю известные и зарекомендовавшие себя алгоритмы распознавания - нпр., преобразование Хафа для отрезков прямых. Практика показывает, что на экране графы рисовать быстрее и удобнее, чем на бумаге. Я сказал, что граф в 50 и более вершин будет рисовать не просто, могу добавить, что на бумаге такой рисунок сделать еще сложнее. Для больших графов полезно менять масштаб, иметь неограниченный холст и т.д. Плагин распознавания графов я иногда применяю для задач типа: в статье приведена выборка из рисунков нескольких сотен графов. Распознать будет быстрее, чем перерисовать на экране. Возникают такие задачи нечасто, и я не советую реализовывать их в дипломной работе, т.к. многие ИМХО не поймут зачем такие излишества. Если осталось свободное время, лучше потратить его на всем понятное и впечатляющее. Реализуйте трудный по вычислительной сложности графовый алгоритм, нпр., поиск максимальной клики, и удивите тем, как быстро работает Ваша реализация. Выше Вы сказали:
Но я умею программировать только процедурно, максимум могу вывести информацию в txt файл или на консоль.
Вот и сделайте сначала простейший редактор. Нпр., Вы уже знаете как сделать?:
тыкаешь на поле, а там появляется вершина
и как сделать: "тыкаешь на ребро и оно удаляется"?
Надо идти от простого к сложному, иначе никакого времени Вам может не хватить.