Необходимо выбрать определенное количество точек на изображении (фактически на части этого изображения). Более темные части изображения более важны.
Самый простой способ сделать это - выбрать их случайным образом. Но даже отбрасывание использованных точек обычно заканчивалось тем, что некоторые точки находились слишком близко к другим, особенно с учетом веса.
Может быть, после выбора точки вес должен быть уменьшен динамически? Не пробовал.
Я заметил, что исходное изображение имеет слишком много разных цветов, поэтому я хотел сгладить его, чтобы обрезать похожие цвета. Однако преобразования в оттенки серого было недостаточно.
Я использовал функции Emgu CV (обертка OpenCV) для преобразования в двоичную форму изображения. Чем я пытался рассчитать водораздел, но вычисленные площади не так легко отделить. Вообще, водораздел - довольно «неинтуитивный» подход для обнаружения темных мест.
Проще: я хотел бы отметить точки на изображении, начиная с более темных частей - эти части следует отмечать чаще, чем светлые. Точки должны быть разбросаны по группе цветов, которые похожи, чтобы избежать скопления в близлежащих местах.
Алгоритм не должен быть точным. Это может дать разные результаты в следующих итерациях. Количество очков не будет очень большим от 10 до 150-200.
Как рассчитать указанное количество точек, разбросанных по изображению, начиная с более темных областей?
Чтобы увидеть, что я имею в виду, см. Рисунок ниже. Содержит выбранные точки (кол-во ~ 20). В основном темные части выбраны. Точки не должны появляться в тех же местах после следующей итерации. Но я хочу выбрать точки в более светлых регионах, когда их будет больше.
Конечно, для разных изображений количество точек, необходимых для выпадения из темноты, будет отличаться.