Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Вирівнювання Гістограми | Обробка Зображень з OpenCV
Основи комп'ютерного зору

bookВирівнювання Гістограми

Проста гістограмна еквалізація

Гістограмна еквалізація — це метод, який використовується для підвищення глобального контрасту зображення. Вона працює шляхом перерозподілу значень інтенсивності так, щоб вони охоплювали весь можливий діапазон (від 0 до 255 у 8-бітних зображеннях). Це особливо корисно для зображень, які занадто темні або занадто яскраві, оскільки робить ознаки більш помітними шляхом вирівнювання гістограми інтенсивностей пікселів.

equalized = cv2.equalizeHist(image)
  • cv2.equalizeHist(image)
    • image: вхідне зображення у відтінках сірого (має бути одноканальним);
    • Повертає нове зображення з покращеним контрастом шляхом розтягування та вирівнювання гістограми.
Note
Примітка

Цей метод є глобальним — він підвищує контрастність всього зображення рівномірно, що може призвести до надмірного підсилення в окремих областях і втрати деталей в інших.

Адаптивне вирівнювання гістограми (CLAHE)

CLAHE (Contrast Limited Adaptive Histogram Equalization) — це вдосконалена версія вирівнювання гістограми, яка працює з невеликими ділянками (тайлами) зображення, а не з усім зображенням. Вона підсилює локальний контраст і запобігає надмірному підсиленню шуму, обмежуючи контраст гістограми в межах кожного тайла.

clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8,8))
clahe_equalized = clahe.apply(image)
  • cv2.createCLAHE(...) створює об'єкт CLAHE з такими параметрами:
    • clipLimit: поріг для обмеження контрасту (більше значення = вищий контраст);
    • tileGridSize: розмір сітки для поділу зображення на тайли (наприклад, 8x8).
  • clahe.apply(image) застосовує CLAHE до вхідного зображення.
Note
Примітка

CLAHE є особливо ефективним для зображень з різними умовами освітлення або коли важливо зберегти локальні деталі, наприклад, у медичній візуалізації чи при зйомці в умовах низької освітленості.

Завдання

Swipe to start coding

Вам надано змінну image:

  • Застосуйте просту гістограмну рівномірність та збережіть результат у equalized;
  • Створіть об'єкт класу CLAHE у змінній clahe;
  • Застосуйте гістограмну рівномірність CLAHE та збережіть результат у clahe_equalized (рекомендовані параметри: clipLimit=2.0 та tileGridSize=(8, 8)).

Рішення

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 5
single

single

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

close

Awesome!

Completion rate improved to 3.45

bookВирівнювання Гістограми

Свайпніть щоб показати меню

Проста гістограмна еквалізація

Гістограмна еквалізація — це метод, який використовується для підвищення глобального контрасту зображення. Вона працює шляхом перерозподілу значень інтенсивності так, щоб вони охоплювали весь можливий діапазон (від 0 до 255 у 8-бітних зображеннях). Це особливо корисно для зображень, які занадто темні або занадто яскраві, оскільки робить ознаки більш помітними шляхом вирівнювання гістограми інтенсивностей пікселів.

equalized = cv2.equalizeHist(image)
  • cv2.equalizeHist(image)
    • image: вхідне зображення у відтінках сірого (має бути одноканальним);
    • Повертає нове зображення з покращеним контрастом шляхом розтягування та вирівнювання гістограми.
Note
Примітка

Цей метод є глобальним — він підвищує контрастність всього зображення рівномірно, що може призвести до надмірного підсилення в окремих областях і втрати деталей в інших.

Адаптивне вирівнювання гістограми (CLAHE)

CLAHE (Contrast Limited Adaptive Histogram Equalization) — це вдосконалена версія вирівнювання гістограми, яка працює з невеликими ділянками (тайлами) зображення, а не з усім зображенням. Вона підсилює локальний контраст і запобігає надмірному підсиленню шуму, обмежуючи контраст гістограми в межах кожного тайла.

clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8,8))
clahe_equalized = clahe.apply(image)
  • cv2.createCLAHE(...) створює об'єкт CLAHE з такими параметрами:
    • clipLimit: поріг для обмеження контрасту (більше значення = вищий контраст);
    • tileGridSize: розмір сітки для поділу зображення на тайли (наприклад, 8x8).
  • clahe.apply(image) застосовує CLAHE до вхідного зображення.
Note
Примітка

CLAHE є особливо ефективним для зображень з різними умовами освітлення або коли важливо зберегти локальні деталі, наприклад, у медичній візуалізації чи при зйомці в умовах низької освітленості.

Завдання

Swipe to start coding

Вам надано змінну image:

  • Застосуйте просту гістограмну рівномірність та збережіть результат у equalized;
  • Створіть об'єкт класу CLAHE у змінній clahe;
  • Застосуйте гістограмну рівномірність CLAHE та збережіть результат у clahe_equalized (рекомендовані параметри: clipLimit=2.0 та tileGridSize=(8, 8)).

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 5
single

single

some-alt