Дети очень хорошо умеют классифицировать предметы и считать их. Компьютеры, кажется, имеют больше проблем. Это упрощенная версия этой проблемы. Можете ли вы написать небольшую программу, которая может классифицировать и считать объекты на изображении?
Проблема: Для изображения, содержащего один или несколько кругов и прямоугольников, вернуть 2 целых числа с количеством кругов и количеством прямоугольников.
правила
- Входное изображение будет черными фигурами на белом фоне в любом выбранном вами растровом формате.
- Ширина и высота изображения будут между 100 и 1000 пикселей.
- Рисунки будут полностью содержаться в изображении.
- Цифры будут иметь ширину линии 1 пиксель.
- Изображения не будут использовать сглаживание. Они будут только черным по белому.
- Фигуры могут касаться, пересекаться или находиться внутри другой фигуры.
- Пересекающиеся фигуры будут иметь максимум 4 общих пикселя.
- Круги будут иметь диаметр 20 или более пикселей.
- Стороны прямоугольника будут иметь длину 10 или более пикселей.
- Вы не можете использовать любые встроенные модули или библиотеки, которые распознают фигуры, или любые другие функции, которые делают эту задачу тривиальной.
- Вернуть или вывести 2 целых числа с количеством кружков и прямоугольников.
Пример 1
Ответ: 3 4
Пример 2:
Ответ: 4 13
Это сложная задача для гольфа, поэтому победит самая короткая программа или функция на каждом языке.