да еще и с незаполненым городом???
Гугл в помощь.
Случайные пиксели нужно брать чтобы ускорить обработку. Разве это не понятно?
Мы делаем выборку из всего изображения и проверяем только часть. Другое дело что появляются проблемы.
Распознавание обычно идет в не сколько стадий.
Первичные признаки это сигнал изображение звук.
После из них идет выделение вторичных признаков путем хитрых преобразований. Это уже особенности изображения.
Дальше идет распознавание. Если представить графически то мы имеем несколько множеств. Отнесение объекта к одному из множеств -классификация. Это и есть по сути распознавание.
Самый простой случай два множества да и нет. К примеру есть пыль и нету. Построив разделяющую линию(кривую) мы можем ответить что это.
Если точек с одной стороны больше чем признаков с другой то это мы получаем ответ первое или второе. В этом суть нечеткой логике.
Точки это найденные нами особенности. Координаты x,y это признаки, а координаты точки количественная мера признака. Признаков может быть много больше 2 т.е мы имеем N мерное пространство.
Такое разделение можно построить двумя способами просто проведение прямой используя порог. Более сложной это применить нейронные сети или дерево классификации. Или алгоритмы усиления Буст.
Что касается поиска пыли. Предполагаю что лучшим способом будет использовать Байеса для определения принадлежности цвета к пыли или к полу. Даже скорее всего лучше Байесовское дерево.
Почему я предложил использовать не все пиксели, а случайную выборку? Микро контроллер при всем желание не может обработать все изображение сложным алгоритмом, а вот часть можем. Нам не нужно отыскивать все вплоть до одной пылинки. Пусть будет какой-то минимальный порог. А во вторых камера работает и периодически выдает данные. Т.е один и тоже участок так или иначе будет обработан несколько раз. Но у случайной выборки есть проблемы. Допустим у нас лежит волос. Вероятнее всего на него попадет всего несколько точек. Так что если выполняется условие что эти точки принадлежат к пыли(на какой-нибудь ступени не обязательно прогонять весь алгоритм) то неплохо бы проверить и соседние.
Что касается распознавания тапочек. Это была от части шутка. А во вторых почему бы не попробовать это достаточно практично.
Распознавание тапочек предлагаю в два этапа цветовое отделение и дальше если хоть капельку похоже по цветам на тапочек, то проверять по более сложным алгоритмам. К примеру viola jones.