Algoholic.in.ua

Решения > Гистограмма изображения

Гистограмма изображения С++

Категория: Решения | Добавлено: 2016-01-23 | Просмотров: 518

Гистограмма изображения — это визуальное представление яркости изображения по уровням. Значения по горизонтальной оси гистограммы - уровни яркости (от 0 до 100), по вертикальной - количество пикселей с соответствующей яркостью.


Для построения гистограммы изображения, сначала нам необходимо подсчитать количество пикселей с каждым уровнем яркости. Делается это довольно легко. Во время конвертации изображения из RGB в HSV (HSB) необходимо в конце функции rgbToHsv добавить следующую строку:


Код реализации на C++:

        gist[int(V * 100)]++;      
        

Здесь gist[] - это массив целых чисел, который содержит значения гистограммы.


Для построения гистограммы нам понадобится элемент Chart из вкладки "Данные" панели элементов Visual studio. Функция построения гистограммы выглядит следующим образом:


Код реализации на C++:

        void buildHistogram(int chartCapacity, double histogramValues[]) {
			 chart1->Series[0]->Points->Clear();
			 for (int i = 1; i <= chartCapacity + 1; i++) {
				 chart1->Series[0]->Points->AddXY(i, histogramValues[i-1]);
			 }
		 }      
        

Пример:

Гистограмма изображения

Яндекс.Метрика
Украина онлайн