
- •Теоретический материал Яркость точки и гистограммы изображения.
- •Изменения яркости и контрастности
- •Изменение цветности (бинаризация, оттенки серого, негатив).
- •Наложение шума
- •Фильтрация
- •Методы выделения границ
- •Шумоподавляющая фильтрация
- •Требования к программе курсовой работы по дисциплине «Обработка сигналов и изображений»
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
ДОНЕЦЬКИЙ НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ
МЕТОДИЧНІ ВКАЗІВКИ
ДО ВИКОНАННЯ КУРСОВОЇ РОБОТИ З ДИСЦИПЛІНИ
«ОБРОБКА СИГНАЛІВ ТА ЗОБРАЖЕНЬ»
Галузь знань: 0501 «Інформатика та обчислювальна техніка»
Напрям підготовки: 6.050102 «Комп’ютерна інженерія»
Спеціальність: „Спеціалізовані комп’ютерні системи”
Розглянуто на засіданні кафедри
«Автоматизовані системи управління»
Протокол № від __________20__ р.
Затверджено на засіданні
учбової – видавничої ради ДОННТУ
Протокол № ___ від ___ ________ 20__ р.
Донецьк ДНТУ 2011
Методичні вказівки до курсової роботи з дисципліни "Обробка сигналів та зображень" для студентів спеціальності 7.091503 «Спеціалізовані комп'ютерні системи» (КСД). / Склали: Меркулова К.В.- Донецьк: ДНТУ, 2011. – 40 с.
Методичні вказівки містять короткі теоретичні відомості, методичні рекомендації і завдання до виконання лабораторних робіт з дисципліни «Обробка сигналів та зображень» з використанням технології MATLAB. IMAGEPROCESSINGTOOLBOX.
Укладачі: доц. Меркулова К.В.
Рецензент: _________________
Відповідальний за випуск: зав. каф. АСУ Скобцов Ю.О.
Теоретический материал Яркость точки и гистограммы изображения.
Яркость точки находится по формуле, коэффициенты которой определяются свойствами человеческого зрения:
Гистограммой в данном случае называется так или иначе представленная (например, в виде столбчатой диаграммы) зависимость числа повторений того/иного значения яркости на всём изображении от этого самого значения (то есть сколько раз встречается абсолютно чёрная точка, абсолютно белая и др.). Иными словами, один столбец гистограммы показывает, сколько пикселей текущего уровня яркости присутствует на всем изображении.При этом можно рассматривать 4 гистограммы: по 3 каналам и по вычисленной яркости.
Изменения яркости и контрастности
Эти изменения можно обобщить выражением «изменение баланса изображения», так как оба понятия – и яркость, и контрастность, – схожи и относятся к сфере восприятия изображения человеком.
Повышение/снижение яркости – это, соответственно, сложение/вычитание значения каждого канала с некоторым фиксированным значением (в пределах от 0 до 255); при этом обязательно необходимо контролировать выход нового значения канала за пределы диапазона 0..255.
Коррекцию можно выполнять при помощи такой функции:
int CorrectColor(int C)
{
if (C >255)
{
return255;
}
elseif (C <0)
{
return0;
}
elsereturn C;
}
Преобразование яркости выглядит так:
//toAdd - значение, на которое необходимо увеличить яркость изображения
for (i =0; i < bmp.Width; i++)
{
for (j =0; j < bmp.Height; j++)
{
//Считываем уровни яркости RGB каждого пикселя
R =bmp.GetPixel(i, j).R;
G =bmp.GetPixel(i, j).G;
B =bmp.GetPixel(i, j).B;
//Прибавляем к полученному значению фиксированный коэффициент
R = R + toAdd;
G = G + toAdd;
B = B + toAdd;
//Выполняем корректировку цвета
R = CorrectColor(R);
B =CorrectColor(B);
G =CorrectColor(G);
//Заменяем значения в пикселе
rezultImage.SetPixel(i, j, Color.FromArgb(R, G, B));
}
}
Повышение/снижение контрастности – это, соответственно, умножение/деление значения каждого канала на некоторое фиксированное значение (в том числе действительное), что приводит к изменению соотношений между цветами и, соответственно, к более чётким цветовым границам. На практике же существует такой принцип: изменение контрастности не должно приводить к изменению средней яркости по изображению, поэтому пользуются следующей формулой:
В этой формулеNewY – новое значение одного из каналов, K – коэффициент контрастности (K=(0…1) – снижение, K>1 – повышение контрастности), OldY – текущее значение того же канала, AveY – среднее значение того же канала по изображению (таким образом, алгоритм фактически является двухпроходовым). Обязательна всё та же коррекция нового значения при выходе его за границы 0...255.
Преобразование яркости выглядит так:
AveR=0;
AveG =0;
AveB =0;
for (i =0; i < bmp.Width; i++)
{
for (j =0; j < bmp.Height; j++)
{
//Находим сумму цветовых каналов для всего изображения
AveR = AveR +bmp.GetPixel(i, j).R;
AveG = AveG +bmp.GetPixel(i, j).G;
AveB = AveB +bmp.GetPixel(i, j).B;
}
}
//Находимсреднеезначение
AveR = AveR / (bmp.Width * bmp.Height);
AveG = AveG / (bmp.Width * bmp.Height);
AveB = AveB / (bmp.Width * bmp.Height);
for (i =0; i < bmp.Width; i++)
{
for (j =0; j < bmp.Height; j++)
{
R =bmp.GetPixel(i, j).R;
G =bmp.GetPixel(i, j).G;
B =bmp.GetPixel(i, j).B;
//Применяем формулу изменения контраста
//К - коэффициент преобразования
R= (int)((R-AveR) *K) +AveR;
G = (int)((G - AveG) * K) + AveG;
B = (int)((B - AveB) * K) + AveB;
R = CorrectColor(R);
G =CorrectColor(G);
B =CorrectColor(B);
rezultImage.SetPixel(i, j, Color.FromArgb(R, G, B));
}
}