Можно взять массив цветов, и сканировать фотку. Для начала выявить минимальный цвет огурца, максимальный цвет огурца, затем тоже самое с бананом, как это сделать уже другой вопрос, допустим в каком нибудь фш, взять минимальный зеленый цвет на каритнке и максимально зеленый и заполнить все промежуточные цвета например по принципу цветового круга он же Color Wheel. Затем пропустить эту фотку с уже известными диапозонами, нашелся в картинке цвет из массива диапозонов цветов огурца?Заносим данный цвет в массим огурец. Дальше смотрим сколько чисел от общего числа значений диапозона цветов имеется в массиве огурец, определяем для себя порог(либо по каким нибудь формулам), сколько нужно совпадений чтобы однозначно сказать что это огурец. Делаем тоже самое с бананом, затем сравним опять же, банан с огурцом, сколько цветов банана совпало с диапозоном цветов огурца. И получим нечто вроде: Банан это гурец?Нет, значит это банан. Огурец это банан? Нет, значит это огурец.
Ествественно тяжело будет однозначно сказать огурец это, или зеленое яблоко, но сильно отличающиеся овощи и фрукты мы отличить сможем. Даже если темные участке на огурце, типа теней или шума будут так же относится к массиву цветов стола, их будет недостаточно чтобы сказать, что это стол, главное определить порог общей массы, сколько нужно совпадений чтобы сказать что это огурец. Допустим если меньше 80% то это не огурец. Естественно для красных, желтых, синих, etc. предметов нужно опять же настраивать.Решение дубовое и скорее всего идиотское, но может подкинет вам идею. Удачи!