C07 · Меняем и измеряем
Яркость, гистограммы и контраст
Кривая меняет значения, гистограмма считает их, локальная статистика добавляет соседство.
Если нужны основы
Теория
Один вход — один выход
Смещение меняет все уровни, масштаб относительно опоры — контраст. Негатив заменяет x на 1−x. Логарифмические, степенные и кусочно-линейные кривые по-разному перераспределяют диапазон. Тоновая гамма — выбранная правка, не функция кодирования sRGB.
Плоский участок кривой сливает разные входы в один выход. Инспектор показывает значение до ограничения, поэтому видно, где именно потерялось различие. Затемнить белое после обрезки не значит вернуть пересвеченную фактуру.
Одна кривая для всех точек
Сверху полный градиент, снизу часть диапазона. Меняйте один параметр и найдите, когда разные входы сливаются в белый или чёрный.
Точные значения — в разборе точки
Серая шкала 0…1: от чёрного к белому.
- Степень
- Контраст и смещение
- Ограничить в [0, 1]
Точные значения — в разборе точки
Серая шкала 0…1: от чёрного к белому.
Разобрать выбранную точку
Что показывает график
Кривая отвечает, во что превратится любой входной уровень. Диагональ означает отсутствие правки; горизонтальные участки у 0 и 1 показывают потерю различий из-за обрезки.
- Кривая
- Без правки
- Этот пиксель: 0.6452; 0.6452
Контраст растягивает различия, обрезка уничтожает их. Осветление не возвращает информацию пересвеченных мест.
Параметры и подробности
Степенная тоновая правка, контраст вокруг 0,5 и смещение выполняются в указанном порядке, затем обрезаются в [0,1]. Это творческая правка чисел, не функция кодирования sRGB. Разные входы после обрезки могут стать одинаковыми — обратного восстановления уже нет.
Выбери точку на изображении. Стрелки перемещают её; Home и End — к краям строки. Просмотр не изменяет вычисление.
Для изменения примера нужен JavaScript и Canvas. Рассчитанные изображения доступны выше.
Счёт без координат
Разделим значения на интервалы и сосчитаем пиксели. Деление на общее количество даёт распределение; накопленная сумма — CDF. Перестановка пикселей сохраняет гистограмму, но может полностью изменить изображение.
Выберите тёмный пиксель. На первом графике найдите его интервал и посчитайте все столбики до него включительно; разделите сумму на число отсчётов. Полученная доля — новая яркость справа и высота точки на втором графике. Для более светлого пикселя суммируется больше интервалов. При локальном режиме тот же расчёт использует только отмеченное окно, поэтому одинаковый вход в разных местах может дать разный выход.
Глобальное выравнивание отображает значения через CDF. Растяжение диапазона использует выбранные крайние уровни; согласование гистограмм — целевое распределение. Ни одно не доказывает, что восстановлен правильный свет сцены.
Локально — не всегда лучше
При неравномерном освещении один глобальный переход слаб. Локальное выравнивание использует статистику рядом с точкой. Ограничение высоты гистограммы уменьшает чрезмерное усиление частых значений и шума.
В плиточной CLAHE переходы соседних плиток интерполируют, чтобы не получить сетку. Наш живой вариант — явно подписанное скользящее окно, не CLAHE. Независимые кривые R/G/B могут менять тон; для цветных фото нужно продумать канал светлоты и пространство.
Контраст по распределению значений
Сравните глобальное и локальное выравнивание. Меняйте ограничение локальной гистограммы и следите за слабым узором и границей.
Точные значения — в разборе точки
Серая шкала 0…1: от чёрного к белому.
- Найти интервал выбранной яркости
- Сложить частоты до него включительно
- Накопленная доля — новая яркость
Точные значения — в разборе точки
Серая шкала 0…1: от чёрного к белому.
Разобрать выбранную точку
Что показывает график
По горизонтали — яркость, по вертикали — число пикселей в каждом из 16 интервалов. Перемещайте выбранную точку: локальное окно и его статистика меняются вместе.
- Частоты
- Выбранный вход: 0.2483
Высота ступеньки — доля отсчётов не ярче выбранного интервала. Она становится выходной яркостью выбранного пикселя. Метка связывает вход, накопленную долю и результат справа. Откройте график частот, чтобы проверить, из каких подсчётов получается эта накопленная доля.
- CDF
- Этот пиксель: 0.2483; 0.375
Гистограмма не знает координат. Локальный метод раскрывает слабые изменения, но может усилить шум.
Параметры и подробности
Глобальный вариант использует накопленную гистограмму 16 интервалов. Локальный вариант считает окно 7 × 7, ограничивает частоты и равномерно возвращает избыток; это контраст-ограниченное скользящее выравнивание, не плиточная CLAHE с интерполяцией. Оно может усиливать шум и менять относительную яркость соседних областей.
Выбери точку на изображении. Стрелки перемещают её; Home и End — к краям строки. Просмотр не изменяет вычисление.
Для изменения примера нужен JavaScript и Canvas. Рассчитанные изображения доступны выше.
Практика
Проверь идею на другом условии. Следуй задаче над изображениями; разбор точки поможет объяснить результат. Эта практика не оценивается.
Спасти различия в светах
Начальная правка обрезает светлый край верхнего градиента. Выберите две соседние белые клетки: их входы различны, выходы равны. Уменьшите контраст или смещение, пока различия не вернутся. Сам исходник сохранён: правим его, а не пытаемся восстановить уже обрезанный результат.
Точные значения — в разборе точки
Серая шкала 0…1: от чёрного к белому.
- Степень
- Контраст и смещение
- Ограничить в [0, 1]
Точные значения — в разборе точки
Серая шкала 0…1: от чёрного к белому.
Разобрать выбранную точку
Что показывает график
Кривая отвечает, во что превратится любой входной уровень. Диагональ означает отсутствие правки; горизонтальные участки у 0 и 1 показывают потерю различий из-за обрезки.
- Кривая
- Без правки
- Этот пиксель: 0.6452; 0.9113
Контраст растягивает различия, обрезка уничтожает их. Осветление не возвращает информацию пересвеченных мест.
Параметры и подробности
Степенная тоновая правка, контраст вокруг 0,5 и смещение выполняются в указанном порядке, затем обрезаются в [0,1]. Это творческая правка чисел, не функция кодирования sRGB. Разные входы после обрезки могут стать одинаковыми — обратного восстановления уже нет.
Выбери точку на изображении. Стрелки перемещают её; Home и End — к краям строки. Просмотр не изменяет вычисление.
Для изменения примера нужен JavaScript и Canvas. Рассчитанные изображения доступны выше.
Игры
Проверь объяснение
Вопрос 1 из 5
Переставили пиксели, не меняя значения. Изменится глобальная гистограмма?
Точные значения — в разборе точки
Серая шкала 0…1: от чёрного к белому.
Точные значения — в разборе точки
Серая шкала 0…1: от чёрного к белому.
Точные значения — в разборе точки
Серая шкала 0…1: от чёрного к белому.
Точные значения — в разборе точки
Серая шкала 0…1: от чёрного к белому.
Выбери один ответ. Он проверится сразу.
Ограничения и материалы
Границы этого примера
Скалярные кривые, 16 интервалов гистограммы, локальное окно 7 × 7 с ограничением. Это не плиточная CLAHE, произвольный редактор кривых или ICC-цветокоррекция.