Что делает эта функция? Что-то делать с фиксированными значениями?

0

Я нашел эту функцию где-то, совсем недавно. Я точно не знаю, что он делает. Я использую его для управления выходом симплексного шума (со значениями шкалы серого от 0 до 255), но хотелось бы лучше понять его.

int ExponentFilter(int value, int cover, double sharpness)
{
    int c = value - (255 - cover);
    if(c < 0)
        c = 0;
    return 255 - ((std::pow(sharpness,c)) * 255);
}

Я использую его как:

ExponentFilter(n,140,0.98f)

Где n - мое значение от 0 до 255.

  • 4
    Вы пытались запустить его с различными тестовыми данными, чтобы наблюдать за его поведением?
  • 3
    Ну, у вас есть функция, просто подготовьте ее.
Показать ещё 3 комментария
Теги:
image-processing
exponent

1 ответ

2
Лучший ответ

cover - это то, как "экранированный" сигнал полностью отключается. cover 140 означает, что 140 наивысших (самых ярких) значений (116-255) могут привести к выходу> 0.

sharpness описывает, как быстро свет исчезает. 0,98 означает, что свет затухает примерно в два раза быстрее, но эффект замирания не является линейным, он уменьшен для более темных областей.

Я ожидаю, что этот фильтр будет темнее и резче переэкспонированных изображений.

Exponentfilter - это подходящее имя, так как функция резкости использует экспоненты (pow - функция экспоненты).

  • 0
    Ура, это именно то, что мне нужно было знать. Можете ли вы предоставить какие-либо ресурсы или где я могу узнать о графических фильтрах или, может быть, несколько примеров различных?
  • 0
    Я не очень увлекаюсь графикой, я просто хорошо разбираюсь в цифрах.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню