Скачиваний:
201
Добавлен:
01.05.2014
Размер:
645.12 Кб
Скачать

3.2.2.2.Алгоритм получения негатива изображения.

Выход: LUT-таблица для получения негатива.

Begin

; цикл по всем градациям интенсивности

For i:=0 to 255 do LUT[i]:=255-i

End;{ Inverse }.

3.2.2.3. Алгоритм изменения контрастности и яркости изображения.

Вход: Alfa, beta - коэффициенты, входящие в формулу преобразования LUT-таблицы для изменения контрастности и яркости изображения.

Выход: LUT-таблица для получения негатива.

Begin

; цикл по всем градациям интенсивности

For i:=0 to 255 Do

If alfa*i+beta<0

Then LUT[i]:=0

Else

Begin

; вычисление новой интенсивности

intens:=round(alfa*i+beta);

if (intens>=0) and (intens<=255)

then LUT[i]:=byte(intens);

if intens>255 then LUT[i]:=255;

if intens<0 then LUT[i]:=0;

End;

End {contrast}.

3.2.2.4. Алгоритм построения гистограммы изображения.

Вход: WorkMatr[1..100,1..210] – исходная матрица изображения;

Выход: Hist[0..255] – массив распределения интенсивности изображения;

begin

;обнуление вектора гистограммы

For i:=0 to 255 do

hist[i]:=0;

; подсчет гистограммы

For i:=1 to 100 do

For j:=1 to 210 do

begin

index := WorkMatr[i,j]

INC ( hist[index] )

end

end

3.2.2.5. Алгоритм эквализации гистограммы изображения.

Вход: WorkMatr[1..100,1..210] – исходная матрица изображения;

hist[0..255] - гистограмма исходной матрицы изображения;

q - коэффициент эквализации;

Выход: Hist[0..255] – массив распределения интенсивности изображения;

begin

; начальная установка

sum:=hist[0]/21000;

LUT[0]:=0;

if q=1

then

; вычисление по упрощенной формуле

; сумма по всем градациям интенсивности

else

if hist[i]>0 then

intens:=round(255*sum);

If intens=256 then LUT[i]:=255

else LUT[i]:=byte(intens);

end.

3.2.3. Алгоритм двумерной пространственной фильтрации изображений.

Каждый элемент f out ( i , j) выходной матрицы интенсивности получается путем применения линейного преобразования к вектору

F (i,j) (см. Рис.9.).

Рис.3.9. Цифровая фильтрация изображения.

где W - ядро пространственной фильтрации, а .

Приведем алгоритм двумерной пространственной фильтрации изображений на псевдокоде.

Вход: WorkMatr[1..100,1..210] – исходная матрица изображения;

Dim – размерность скользящего окна (должна быть 3, 5 или 7);

Выход: WokMatrNew[1..100,1..210] – матрица фильтрованного изображения;

begin

; радиус скользящего окна

shift := dim div 2;

; расширение исходной матрицы изображения

; фильтрация

max_sum:=0;

min_sum:=0;

For i:=1 to 100 do

For j:=1 to 210 do

begin

max_sum := MAX(max_sum, sum)

min_sum := MIN ( min_sum, sum)

WorkMatrNew[i,j] := sum

end

; нормировка WorkMatrNew к формату gray-scale, т.е. значения матрицы от 0 до 255

For i:=1 to 100 do

For j:=1 to 210 do

WorkMatrNew[i,j]:=ROUND(((WorkMatrNew[i,j]-min_sum)/(max_sum-min_sum))*255)

end.

3.2.4. Алгоритм медианной фильтрации изображения.

Вход: WorkMatr[1..100,1..210] – исходная матрица изображения;

Dim – размерность скользящего окна (должна быть 3, 5 или 7);

Выход: WokMatrNew[1..100,1..210] – матрица фильтрованного изображения;

begin

; радиус скользящего окна

shift := Dim div 2;

; расширение исходной матрицы изображения

For i:=1 to 100 do

For j:=1 to 210 do

begin

; запись элементов окна фильтрации в одномерный массив

count:=0 ;число элементов в окне фильтрации

for i1:= -shift to shift do

for j1:= -shift to shift do

begin

INC(count)

; вспомогательный одномерный массив

arr_aux[count]:=IntMExt[i+i1,j+j1]

end

end

; упорядочивание одномерного массива по возрастанию

; упорядочивается только половина массива , т.к. нас интересует только

; центральный элемент

ind_max:=1

count1:=((dim*dim) div 2 ) + 1

for i:=1 to count1 do

begin

max:=0

count2:=dim*dim-i+1

for j:=1 to count2 do

begin

max := MAX(max,arr[j])

ind_max := ARG MAX (max,arr[j])

end

arr[ind_max]:=arr[count2]

end

WorkMatrNew[i,j] := max ; элемент после выхода из цикла является центральным

еnd.

Примеры преобразования изображений

Исходный сигнал Исходное изображение Преобразование "Негатив"

Усиление контраста Изменение яркости Изменение яркости и

контраста

Преобразование Изображение с точечными Резудьтат медианной

Эквализация Гистограммы дефектами фильтрации

Преобразование НЧ-фильтрация Преобразование ВЧ-фильтрация

Соседние файлы в папке Lecture11