Олимпиадный тренинг

Задача . Найди утку


Задача

Темы:
Перед вами несколько изображений с уточкой:



Для самостоятельного тестирования, можете скачать архив с изображениями 

При помощи инструмента для подбора HSV - диапазона, подберите тот диапазон, который будет выделять уточку на всех изображениях лучше всего, а затем напишите программу, которая определит координаты центра уточки в выводить их в формате (x, y).
 

Примечания:

  • После подбора диапазонов может так получиться, что контур будет найден не один. Вокруг основного объекта будут маленькие точки - шумы. С шумами мы научимся взаимодействовать несколько позже, а пока вы можете выбрать наибольший по площади контур с помощью такого кода:
    cont, _ = cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
    largest_contour = max(cont, key=cv2.contourArea)
    После этого в переменной largest_contour будет максимальный контур из найденных на изображении. В этой задаче именно он вам и нужен, т.к. гарантируется, что уточка на изображении всего одна.
  • В проверяющей системе Stepik изображения будут меньшего разрешения, чем в предложенных для исследования файлах
  • При проверке решения будет учитываться небольшая погрешность

 

time 3000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
Python1
Комментарий учителя