Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
laba1_1_Shleev_Bliznuk.docx
Скачиваний:
21
Добавлен:
26.03.2016
Размер:
947.3 Кб
Скачать

Результаты:

Рис.8. Результат работы с ROI

Фрагмент кода выполнения

//========================================================================================

#define FILENAME2 "text_aria.jpg"

------------------------------------------------------------------------------------

cv::namedWindow("Region Of Interest", CV_WINDOW_AUTOSIZE);

IplImage *img = cvCloneImage(&(IplImage)dst); // convert

// задаём ROI

int x = 100;

int y = 200;

int width = 200;

int height = 100;

// добавочная величина

int add = 200;

// устанавливаем ROI

cvSetImageROI(img, cvRect(x, y, width, height));

cvAddS(img, cvScalar(add), img);

// сбрасываем ROI

cvResetImageROI(img);

IplImage *addimg = cvLoadImage(FILENAME2, 1); // загружаем изображение

assert(addimg != 0); // проверка

// задаём ROI

x = 300;

y = 0;

width = 150;

height = 100;

// устанавливаем ROI

cvSetImageROI(img, cvRect(x, y, width, height));

// обнулим изображение

cvZero(img);

// копируем изображение

cvCopy(addimg, img);

// сбрасываем ROI

cvResetImageROI(img);

cvShowImage("Region Of Interest", img);

cvWaitKey(0);

cvReleaseImage(&img);

cvReleaseImage(&addimg);

cvDestroyWindow("Region Of Interest");

//==========================================================================================

Задание 4: Постройте гистограмму изображения. Примените эквализацию гистограммы.

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

Для анализа участков изображений можно использовать гистограммы яркости. В книге «Learning OpenCV» приведён хороший рисунок, иллюстрирующий построение гистограмм, я без изменений приведу его ниже.

Из рисунка становится совершенно понятно, как строятся гистограммы. Естественно, что гистограммы (в совокупности с другими методами) можно использовать для распознавания изображений. Для получения гистограммы используется функция cvCreateHist().

Число измерений гистограммы. sizes Массив, содержащий в себе столбцы гистограммы. type Формат гистограммы. CV_HIST_ARRAY или CV_HIST_SPARSE, характеризующие способ хранения гистограммы. ranges Массив диапазонов гистограммы, используемый для определения к какому элементу относится входной пиксель. uniform Флаг однородности. Функция создаёт гистограмму указанного размера и возвращает указатель на созданный объект.

Эквализация гистограмм повышает качество монохромных изображений. Относительно цветных изображений: цветовое пространство HSI очень хорошо подходит для использования эквализации, так как позволяет оперировать более привычными для человека понятиями цветового тона – насыщенностью и интенсивностью. В этой модели цветовой тон Hзадаётся углом относительно оси красного цвета, насыщенностьSхарактеризует чистоту цвета (1означает совершенно чистый цвет, а0соответствует оттенку серого). При нулевом значении насыщенности тон не имеет смысла и не определен.

В RGB-модели, необходимо добавить вертикальную ось светлоты (или интенсивности).

Считается, что для повышения качества цветных изображений наиболее эффективно применять процедуру эквализации к каналу интенсивности.

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

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