Распознавание формы в изображении
Мне нужна помощь с одним приложением, я новичок в программировании. Поэтому мне нужно создать простое приложение, которое распознает фигуры на изображении (прямоугольник, треугольник, линия...) и отображает их. (опытному программисту будет легко:D) Вот похожие проекты, но я был единственным, о котором мало что знаю: http://leakingmemory.wordpress.com/2012/03/17/shape-recognition-using-c-and-aforge/ и http://www.emgu.com/wiki/index.php/Shape_(Triangle,_Rectangle,_Circle,_Line)_Detection_in_CSharp Большое спасибо
РЕДАКТИРОВАТЬ: Можете ли вы сказать мне, как изобразить все полигоны? Не только треугольник, круг... но все формы?
1 ответ
Если вы действительно хотите попробовать это, я бы посоветовал изучить Edge Detection для начала. Обе эти статьи, на которые вы ссылались, начинаются с обработки изображения и нахождения краев. В первой статье используется фильтр Собела, а во второй - обнаружение краев Канни. Как только вы лучше поймете эту концепцию, вы можете использовать библиотеку, подобную AForge, чтобы сделать это для вас.
Следующим шагом будет написание логики, которая будет использоваться для обнаружения вершин соединенных ребер, которые были найдены на предыдущем шаге. С его помощью вы можете обнаружить треугольники (3 вершины), квадраты (4 вершины) или любой другой произвольный многоугольник.
Обнаружение круга кажется более сложным (вторая статья посвящена "обнаружению" круга путем удаления всего, что не является кругом). Если вы достигли этого момента, я уверен, что вы могли бы немного погуглить и найти некоторые методы, которые другие люди используют для обнаружения кругов, и вы можете использовать код, который у вас сейчас есть, в качестве отправной точки для его реализации.,
Удачи!