Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБОРАТОРНАЯ РАБОТА №1__рус.doc
Скачиваний:
17
Добавлен:
18.11.2019
Размер:
1.86 Mб
Скачать

Преобразование цветного изображения в градациях серого

В системах анализа и распознавания изображений, при предварительной обработке изображения используется процедура преобразования цветного изображения в полутоновое. При преобразовании цветного изображения в градации серого используются следующие формулы для вычисления яркостей:

– используя цветовое пространство YСrCb:

.

где R, G, B – компоненты системы RGB. Кодирования или вычисления яркости осуществляется с использованием эмпирических коэффициентов при компонентах RGB, учитывающие особенности человеческого зрения, а именно его чувствительность при восприятии основных цветов красного, зеленого и синего.

Также для расчета яркости может использоваться среднеарифметическое значение

– цветовом пространстве HSI

,

или

– цветовом пространстве HSL

,

Для вычисления яркости используются соотношения следующих цветовых пространств – Lab, HSV, YUV, YIQ.

При преобразовании полно цветных изображений в изображение в градациях серого наиболее часто используют определение яркости цветового пространства YСrCb или HSI.

На рисунке 9 приведены результаты некоторых преобразований с использованием цветовых пространств.

Цветное изображение HSI HSV HSL YСrCb

Рисунок 9 – Результаты преобразований цветного изображения в градации серого с использованием цветовых пространств.

Из рисунка 9 видно, что красный цвет имеет высокую перцепционную яркость и, поэтому используя для преобразования цветовое пространство HSV, получаем очень светлый цветок. При использовании цветового пространства YСrCb цветок наоборот очень темный, так как теряется информация о красном цвете при переводе в полутона, из-за заранее подобранных коэффициентов при компонентах R,G,B. Т.е. учитывается фотометрическая, а не перцепционная яркость.

Также следует подчеркнуть, что преобразование в градации серого некоторого множества разных цветов, которые имеют одинаковые значения яркости может привести к существенной потере информации. Т.е. различия между цветами одинаковой яркости цветного изображение сохраняет на оригинале, тогда как в градациях серого сохраняется только яркость этих цветов, а цветовой контраст теряется. Контраст – разница цветовых оттенков.

Основные операции, которые используются для обработки изображений на С++:

Загрузка изображения в С++ в формате bmp:

// подключить библиотеку Graphics

#include <Graphics.hpp>

// объявить переменную изображения Ris_bmp

Graphics::TBitmap* Ris_bmp;

//

Ris_bmp = new Graphics::TBitmap;

if (OpenPictureDialog1->Execute())

{

//Загрузить изображение

Ris_bmp ->LoadFromFile(OpenPictureDialog1->FileName);

}

//

Image1->Picture->Bitmap= Ris_bmp;

Считывание компонент цветового пространства RGB

COLORREF color;

//рассматриваем попиксельно изображение Ris_bmp по ширине

for(int i=0;i<Width;i++)

//рассматриваем попиксельно изображение Ris_bmp по высоте

for(int j=0;j<Height;j++)

{

Для выделения трехбайтного кода цвета используются следующие соотношения:

color=GetPixel(bmp->Canvas->Handle,i,j);

r=GetRValue(color);

g=GetGValue(color);

b=GetBValue(color);

}

COLORREF – стандартный тип данных для представления цветов в Win32.

Преобразование цветного изображения в градации серого и вывод на экран, например в цветовой модели HSI:

grayscale=(r+g+b)/3;

// вывести полученное изображение на экран

SetPixel(Ris_bmp1 ->Canvas->Handle,i,j,RGB(grayscale, grayscale, grayscale))

Сохранение изображения

if (SavePictureDialog1->Execute()){

Ris_bmp1 ->SaveToFile(SavePictureDialog1->FileName + "_ grayscale.bmp");

3. Ключевые вопросы

1. Как преобразовать изображение из аналоговой в цифровую форму?

2. Какие есть виды изображений? Где они используются?

4. Что такое растр?

5. Что такое пиксель?

6. Какие вы знаете графические файловые форматы? Дать характеристику BMP, GIF, PNG, JPEG, PSD.

7. Какие есть цветовые модели?

8. Как преобразовать цветное изображение в градации серого.

4. Домашнее задание

Изучить ключевые вопросы. Составить программу преобразования цветного изображения из пространства RGB в градации серого используя цветовые модели HSV, HSL, HSI, YCrCb, XYZ.

5. Лабораторное задание

Ввести коды программ. Откомпилировать и выполнить их. Сделать анализ результатов работы.

6. Требования к протоколу

1. Тема работы.

2. Цель работы.

3. Ключевые положения.

4. Тексты программ.

5. Выводы.

7. Литература

1. Претт У. Цифровая, обработка изображений, т. 1 и 2. М.: Мир, 1982.

2. ГонсалесР., Вудс Р. Цифровая обработка изображением. М.: Техносфера, 2005.