Задача A. [Public] CV. Классификация геометрических фигур
Имя входного файла: input.jpg
Имя выходного файла: стандартный вывод
Ограничение по времени: 2 с
Ограничение по памяти: 1024 МБ
Отправь свое решение в задачу [Private] CV. Классификация геометрических фигур —————————————————————————————-
UPDATES 28.09.2024 добавлен первый набор тестовых задач
UPDATES 05.10.2024 добавлен второй набор тестовых задач, фигуры нарисованы карандашом/кистью, "пиксельные", могут быть залиты разными цветам внутри.
—————————————————————————————-
Условие задачи: У вас есть изображения, на которых изображены геометрические фигуры: треугольник, круг и четырехугольник. Фигуры могут быть любого цвета и могут быть залиты или не залиты. Могут быть нарисованы от руки. Ваша задача — создать программу на Python с использованием библиотеки OpenCV, которая будет классифицировать эти фигуры.
Шаги выполнения:
  1. Подготовка данных:
    • Подготовьте несколько изображений с геометрическими фигурами (треугольник, круг, четырехугольник).
    • Фигуры могут быть любого цвета и могут быть как залитыми, так и не залитыми. Убедитесь, что изображения имеют разные размеры и фоны для усложнения задачи.
  2. Возможная предобработка изображений:
    • Загрузите изображения с помощью OpenCV.
    • Преобразуйте изображения в оттенки серого (grayscale).
    • Примените пороговое преобразование (thresholding) для получения бинарных изображений.
  3. Обнаружение контуров:
    • Используйте функцию из OpenCV для обнаружения контуров на бинарных изображениях.
    • Проанализируйте каждый контур, чтобы определить, является ли он треугольником, кругом или квадратом.
  4. Базовая классификация фигур на основе следующих критериев:
    • Треугольник: Контур имеет три вершины.
    • Четырехугольник: Контур имеет четыре вершины.
    • Круг: Контур имеет много вершин, но его форма приближена к кругу.

Формат входных данных

Изображение JPG без привязки к размеру

Формат выходных данных

  • 0 - Круг
  • 1 - Четырехугольник
  • 2 - Треугольник

Пример

input.jpgстандартный вывод
input.jpg 0
Базовое решение
import cv2 img = cv2.imread("input.jpg") print(0)
Образцы картинок