Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
komp_met.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
13.81 Mб
Скачать

6.5. Построение гистограммы интенсивности цветовых компонентов

Функция imhist в текущем окне строит гистограмму интенсивности цветовых компонентов изображения.

imhist (I, n)

imhist (BW, n)

imhist (X, map), где I, BW, X – соответственно массивы полутонового, бинарного и индексированного изображений; map – палитра изображения X; n – количество столбцов гистограммы. Значение n при вызове функции можно не указывать, при этом будут использованы значения по умолчанию: n=256 для полутонового изображения, n=2 для бинарного изображения.

Замечание. Так как команда обрабатывает только одну матрицу. То ее нельзя применить непосредственно к изображению в формате RGB. Требуется преобразование в один из перечисленных форматов:

Пример 6.7. Найти гистограмму полного изображения на рис.5 и для подобласти, содержащей дефект поверхности.

>>D_small = imread(‘img’, ‘jpg’);

% Чтение изображения из файла

>>D_small_grey=rgb2gray(D_small);

% Преобразование исходного изображения в полутоновое

>>subplot (1,2,1), subimage(D_small_gray);

% Построение гистограммы яркостей и вывод ее на экран

>>subplot (1,2,2), imhist(D_small_gray);

Результат:

Рис.5. Гистограмма полного изображения

Рис.6. Гистограмма области изображения

6.6. Применение команды hist для анализа текстуры дорожного покрытия

Вид гистограммы характеризует текстуру примерно однородной области изображения. На Рис.6 показаны фотографии участков дорожного покрытия с соответствующими гистограммами.

Рис.7. Гистограммы полутонового изображения дорожного полотна (фото с расстояния 20 см) и их гистограммы

7. Управление параметрами изображений

7.1. Выравнивание гистограммы (эквализация)

Функция histeq улучшает контраст изображения с помощью преобразования значений пикселов исходного изображения таким образом, чтобы гистограмма яркостей пикселов результирующего изображения приблизительно соответствовала некоторой предопределенной гистограмме. В результате её применения диапазон значений интенсивностей растягивается на весь отрезок возможных значений. Таким образом, визуально светлые пикселы становятся ещё более светлыми, а темные – более темными. Аналогично команде hist, histeq применима только к чёрно-белому, полутоновому и индексированному изображениям.

Функция Id=histeq(Im, n) преобразует исходное полутоновое изображение Im таким образом, чтобы результирующее полутоновое изображение Id имело гистограмму яркостей пикселов, близкую к равномерной. Равномерная гистограмма hgram создается из n столбцов. Чем меньше n по сравнению с количеством градаций яркости в изображении Im, тем более равномерной получается гистограмма яркостей пикселов результирующего изображения. По умолчанию значение n равно 64, и данный параметр можно не указывать при вызове функции. Если используется изображение в индексированном формате, то команда histeq имеет вид: histeq(X, map, hgram).

Пример 7.1. Применить команду histeq к фотографии дорожного полотна на рис. 1.

>> Pic='C:\road.JPG';

>> I=imread(Pic);

% чтение исходного изображения и вывод его на экран.

>> imshow(I);

>> Is=histeq(I);

% выравнивание гистограммы яркостей исходного

% полутонового изображения

>> subplot(1,2,1), imshow(I);

% вывод исходного и полученного

>> subplot(1,2,2), imshow(Is);

% изображения в одно окно

>> subplot(1,2,1), imhist(I);

% вывод гистограммы яркостей исходного

>> subplot(1,2,2), imhist(Is);

% и полученного изображения в одно окно

Результат:

Рис.1. Изображение и соответствующая гистограмма слева – исходное, справа – после выполнения функции histeq

Пример 7.2. Использовать функцию histeq для получения гистограммы Рис.2, где текстура неразличима. Применить histeq:

Рис.2. Гистограмма изображения с неразличимой текстурой

Изменение интенсивности не заполняет весь отрезок от 0 до 250, что говорит о недостаточном контрасте изображения. Контрастность можно повысить одной из 3-х процедур histeq, imadjust и adapthisteq.

>> I2 = histeq(X);

>> figure, imshow(I2)

>> figure, imhist(I2)

Рис.3. Изображение и его гистограмма

Команда imwrite записывает изображение на диск в одном из поддерживаемых форматов.

imwrite(A,filename,fmt), где А – изображение, filename – название под которым изображение будет записано на диск, fmt – формат записи.

Пример 7.3. Записать изображение в графический файл и просмотреть информацию о файле.

>> imwrite (I2, 'F:\Grafika\111','jpg');

% Запись файла на диск

>> imfinfo('F:\Grafika\111','jpg')

% Просмотр информации о файле:

Filename: 'F:\Grafika\111'

FileModDate: '14-Mar-2007 11:38:32'

FileSize: 11708

Format: 'jpg'

FormatVersion: ''

Width: 154

Height: 131

BitDepth: 8

ColorType: 'grayscale'

FormatSignature: ''

NumberOfSamples: 1

CodingMethod: 'Huffman'

CodingProcess: 'Sequential'

Comment: {}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]