Если вы уже вычислили свою гистограмму, найти пики и долины в вычислительном отношении тривиально (обведите ее и найдите локальные экстремумы). Что нетривиально, так это найти «хорошие» пики и впадины для некоторой сегментации / порога. Но это не вопрос кодирования, это вопрос моделирования. Вы можете Google за него.
Если вам нужен простой рецепт, и если вы знаете, что ваша гистограмма имеет «по существу» два пика и долину посередине («бимодальная» гистограмма), и вы хотите найти эту долину, я однажды реализовал следующее объявление процедура с относительным успехом:
- Вычислить все экстремумы гистограммы (относительные максимумы / минимумы, включая границы)
- Если есть только два максимума, И если между этими максимумами есть только один локальный минимум, мы нашли долину. Верните его.
- Иначе, сгладить гистограмму (например, скользящее среднее) и перейти к первому шагу.