Вирівнювання гістограм в OpenCV Зберігає зображення у вказаний файл. Вирівнює гістограму зображення в градаціях сірого. Тепер ви можете робити різні зображення з різними умовами освітлення, вирівнювати їх і перевіряти результати. Вирівнювання гістограми добре, якщо гістограма зображення обмежена певною областю.
Вирівнювання гістограми покращує контрастність зображення, щоб розширити діапазон інтенсивності. Ви можете вирівняти гістограму певного зображення за допомогою функції equalizeHist().
Огляд коду:
- CommandLineParser parser( argc, argv, "{@input | lena.jpg | input image}" );
- Mat src = imread( samples::findFile( parser.get<String>( "@input" ) ), IMREAD_COLOR );
- cvtColor( src, src, COLOR_BGR2GRAY);
- Mat dst;
- equizeHist(src, dst);
- imshow( "Вихідне зображення", src );
- imshow( "Вирівняне зображення", dst);
Вирівнювання гістограми Це перетворення має на меті поширити гістограму по всьому діапазону інтенсивності та зробити гістограму максимально плоскою. Наслідком цього є підвищення контрастності зображення. Це повністю автоматичний метод, який не потребує встановлення жодних параметрів.
Вирівнювання гістограми не вдається коли вхідне зображення (a) має фон низької інтенсивності великої площі. У цьому випадку гістограма (d) має піковий компонент, що відповідає фоновому рівню сірого.
Якщо його входом є лише зображення у відтінках сірого, то виходом є наше вирівняне зображення гістограми. Якщо це кольорове (RGB) зображення, ми можемо розділити всі три різні потоки — червоний, зелений, синій; виклик cv2. equalizeHist() окремо для цих каналів і, нарешті, об’єднати назад, як показано в коді нижче.