Написать программу на python/c#/c++, определяющую разность найденных отрезков внутри каждого контура изображения.
Нужен примитивный интерфейс, через который будут загружаться изображения и отображаться изображения, которые будут получаться на выходе.
Программе на вход подается изображение (прикреп 1-3) с примерно 50 замкнутыми контурами. Полученное изображение должно быть отсегментировано (хотя бы примитивно, чтобы сгладить цвета), определить замкнутые контуры. Далее поочередно для каждого замкнутого контура определить центр масс, найти длину отрезка с максимальной длиной (начало и конец отрезка - сам данный контур), проходящего через центр масс и высчитать длину перпендикуляра для полученного отрезка (разделить максимальную ось на 2). На полученные 4 точки наложить эллипс, высчитать площадь эллипса, высчитать площадь контура, для которого построен эллипс.
На выходе отобразить отсегментированное изображение внутри интерфейса и любым способом отметить контуры, у которых длина максимального отрезка больше длины минимального на 20%, в textbox записать количество таких зерен и общее количество зерен.
Предположительный вид: на левой части окна есть кнопка загрузки изображения, правая часть окна имеет imagebox для выходного изображения, textbox для отображения количества найденных зерен и кнопка по нажатию, на которую будет сохранен на рабочий стол отчет в формате .docx о анализе изображения, который имеет следующий вид:
1. Дата анализа изображения
2. Исходное и проанализированное изображение
3. Информацию о количестве контуров, у которых длина максимального отрезка больше длины минимального на 20%
Нужны сами исходники программы для дальнейшей корректировки параметров.