Известно, что классификаторы Хаара работают только с жесткими объектами.Вам нужен классификатор для каждого вида.Например, классификатор боковых граней в OpenCV не работает так же хорошо, как классификатор лицевых граней (по той причине, что боковая грань имеет больший разброс шага рыскания, чем передняя грань).
Не существует идеального способа ответить на ваш вопрос.
Однако в вашем случае все, что вы пытаетесь классифицировать (я полагаю, микробы), накладывается друг на друга.Это сложная проблема.Но вы можете изолировать область, где встречаются микробы (не изолировать каждый микроб как лицо).
Вы можете сослаться на методы сегментации отпечатка пальца, которые, как известно, увеличивают выступы на отпечатке пальца (здесь в вашем случае это края микробов) от фона и изолируйте изображение.
Отметьте "ridgesegmentation.m" на следующей странице: http://www.csse.uwa.edu.au/~pk/Research/MatlabFns/index.html