Сейчас буду писать про реальный бытовые предметы.
У меня черный стол.
Фото этого стола можно сделать отдельно, что бы понимать какие там цвета.
Есть 4 фотографии:
Зеленое яблоко на черном столе.
Зеленое яблоко на черном столе но крупным планом
Банан на столе
Банан на столе но крупным планом
Нужно загрузить эти фотографии на сервер должен сгруппировать фотографии по цветовому признаку.
т.е. алгоритм должен каким-то образом отличить яблоки от бананов.
Понятное дело что яблоки от огурца сложно отличить, но это спишем на погрешность, как правило у моих вещей разные цвета , максимум что может встретится это темный огурец и светлое зеленое яблоко.
Но идеально конечно было бы отличать и их.
Может кто-нибудь подкинуть идею в каком направлении двигаться?
Первое что в голову приходит это взять черный стол разбить его на массив цветов + добавить какую-то магию что бы понять его диапазоны оттенков. получится массив = [черный, серый, светло-серый, ярко-черный]
Потом берем фотографию огурца и разбиваем его на такой же массив, из массива удаляем все оттенки которые у нас первом массиве. получили оттенки яблока, например = [зеленый, темно-зеленый, белый(блики), и т.д.]
и так далее.
В итоге мы сможем понять примерную принадлежность предметов к своей категории.
Но как по мне тут в алгоритме все очень плохо((
Яблоко крупным планом и яблоко на столе может давать разные цвета.
так же буду рад библиотекам для работа с цветами , всяческие фильтры для изображений и т.д.
пока нашел только это
gka.github.io/chroma.j