Справочник от Автор24
Поделись лекцией за скидку на Автор24

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

  • 👀 266 просмотров
  • 📌 210 загрузок
Выбери формат для чтения
Статья: Представление изображения и цвета изображения в компьютерной графике
Найди решение своей задачи среди 1 000 000 ответов
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Конспект лекции по дисциплине «Представление изображения и цвета изображения в компьютерной графике» pdf
Представление изображения и цвета изображения в компьютерной графике © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Изображение Изображение оптическое – картина, получаемая в результате прохождения через оптическую систему лучей, распространяющихся от объекта, и воспроизводящая его контуры и детали. Компьютерное представление изображения: Функция интенсивности (яркости) канала I  g ( x, y),{x [ x0 , x1 ], y [ y0 , y1 ]} Используется дискретное представление I  g (i, j ),{i  1, n, j 1, m} © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Представление изображения Растр (англ. raster) - отображение вида f : X Y  2 R2 X Z Y Z C 2 r Где 2 - обозначает множество всех подмножеств R 2 C - множество значений атрибутов (как правило, цвет). f (i, j ) – элемент растра, называемый пикселем f (i, j )  ( A(i, j ),C (i, j )) A(i, j )  R 2 – область пикселя C (i, j )  C – атрибут пикселя C (i, j )  I (i, j ) – интенсивность (или яркость) пикселя C (i, j )  {R(i, j ),G(i, j ), B(i, j )} – цветовые атрибуты в цветовой модели RGB © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Представление изображения M ij  ( Aij , Cij ) Aij : (i, j ) одна точка – матричное обозначение элемент растра (пикселя) Aij : (i, i  1)  ( j, j  1) квадрат © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Представление цвета в машинной графике Относительная чувствительность колбочек человеческого глаза Распределение элементов воспринимающих цвета в одночиповых решениях (фотокамерах, видеокамерах и т.п.) А Б © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Цветовое восприятие Яркость Человеческий глаз обладает тремя типами фоторецепторов, чувствительных к красному зеленому и синему свету Оттенок (тон) Насыщенность Человеческий мозг преобразует RGB на отдельные каналы: яркости и цветовые компоненты © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Формирование представление изображения Формирование представление изображения Формирование представление изображения Проекция через линзу Изображение объекта Формирование представление изображения Проекция на дискретный сенсорный массив Цифровая камера Формирование представление изображения Регистрация сенсором средних значений цвета дискретное изображение Выход: дискретный цвет Формирование представление изображения Дискретизация непрерывные цвета отображаются в конечном, дискретном наборе цветов. Вход: непрерывный цвет Формирование представление изображения Пикселизация и Цветовая дискретизация Sampling and Quantization Пиксельная сетка Original sampled quantized sampled & quantized *Пикселизация - разложение изображения на (минимальные) элементы Дискретизация, квантование - преобразование непрерывной информации в дискретную © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Представление изображения (Цифровое изображение) Сетка состоящая из квадратов, каждый из которых содержит единственный цвет Цветное изображение обладает 3-мя значениями на пиксель; Монохромное - 1 Интенсивности: красный зеленый синий Каждый такой квадрат называется пикселем (элемент изображения) Интенсивность © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Представление цвета в машинной графике Цветовая модель — абстрактная модель описания представления цветов в виде кортежей чисел, в обычном случае трех или четырех значений, называемых "цветовыми компонентами " или "цветовыми координатами " Цветовое пространство представляет собой модель представления цвета, основанную на использовании цветовых координат Цветовая палитра - это таблица данных с информацией о коде закодированного цвета. Представление цвета в машинной графике (Цветовая палитра) Черно-белая палитра - включает в себя только два цвета черный и белый Серая палитра (grayscale) - каждый элемент может иметь один из 256 оттенков серого 8-битная палитра - из всей гаммы цветов, воспринимаемых человеческим глазом, выбираются только 256 24-битная палитра (truecolor) - более 16 миллионов оттенков © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Представление цветного изображения Пикселизация Синхронная пикселизация всех каналов цветного изображения. Подписи (вверху изображения) Левый – величина Правый – цифровая информация © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Представление цветного изображения Пикселизация Пикселизация по каналам цветного изображения: Красный – Red Зеленый – Green Синий – Blue Подписи (вверху изображения) Левый – Канал Правый – цифровая информация © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Представление цветного изображения Пикселизация Пикселизация цветного изображения по каналу яркости Подписи (вверху изображения) Левый – величина Правый – цифровая информация © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Представление цветного изображения Пикселизация Пикселизация цветного изображения компоненте цветности Подписи (вверху изображения) Левый – Величина Правый – цифровая информация © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич 16× Пикселизация Представление цветного изображения Пикселизация © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Цветовые модели © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Цветовая система CIE XYZ X  k  I () X ()d Y  k  I ()Y ()d Z  k  I ()Z ()d где I(λ) - спектральная функция распределения для представляемого цвета, а k - масштабный коэффициент, выбираемый исходя из того, какой цвет принимается за белый и в каком диапазоне должны лежать значения Y. k Ymax  Iбел ()Y ()d где Iбел(λ) - спектральная функция распределения для выбранного эталона белого цвета. Функция ρY(λ) соответствует относительному восприятию интенсивности света значения цветности (англ. chromacity values) x, y, z, определяются из X,Y,Z следующим образом: x X X Y  Z y Y X Y  Z z Z X Y  Z © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Цветовая система CIE XYZ и диаграмма цветности Цветовые модели XYZ и RGB Если цвет задан таким образом (x, y, Y), то следует, что Y  x  X  y    Y  Y   Z   Y (1  x  y )     y        Если базисные RGB-цвета заданы как (xR, yR, YR), (xG, yG, YG), (xB, yB, YB), получаем следующую формулу преобразования: zR=1-xR-yR; zG=1-xG-yG; zB=1-xB-yB;  X       Y  Z       YR xR yR YR YR zR yR YG xG yG YG YG zG yG XYZ  xyY //X from 0 to 95.047 Y=Y x = X / ( X + Y + Z ) //Y from 0 to 100.000 y = Y / ( X + Y + Z ) //Z from 0 to 108.883 YB  xB  yB  R  YB  G  YB  B  zB   yB  xyY XYZ //Y from 0 to 100 X=x×(Y/y) //x from 0 to 1 Y=Y Z = ( 1 - x - y ) × ( Y / y ) //y from 0 to 1 Коэффициенты перевода (частный случай) RGB  XYZ X = 0.431×R+0.342×G+0.178×B Y = 0.222×R+0.707×G+0.071×B Z = 0.020×R+0.130×G+0.939×B XYZ RGB R = 3.063×X-1.393×Y-0.476×Z G = -0.969×X+1.876×Y+0.042×Z B = 0.068×X-0.229×Y+1.069×Z © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Цветовые модели RGBXYZ var_R = ( R / 255 ) var_G = ( G / 255 ) var_B = ( B / 255 ) //R from 0 to 255 //G from 0 to 255 //B from 0 to 255 if ( var_R > 0.04045 ) var_R = ( ( var_R + 0.055 ) / 1.055 ) ^ 2.4 else var_R = var_R / 12.92 if ( var_G > 0.04045 ) var_G = ( ( var_G + 0.055 ) / 1.055 ) ^ 2.4 else var_G = var_G / 12.92 if ( var_B > 0.04045 ) var_B = ( ( var_B + 0.055 ) / 1.055 ) ^ 2.4 else var_B = var_B / 12.92 var_R = var_R * 100 var_G = var_G * 100 var_B = var_B * 100 X = var_R * 0.4124 + var_G * 0.3576 + var_B * 0.1805 Y = var_R * 0.2126 + var_G * 0.7152 + var_B * 0.0722 Z = var_R * 0.0193 + var_G * 0.1192 + var_B * 0.9505 © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Цветовые модели XYZRGB var_X = X / 100 var_Y = Y / 100 var_Z = Z / 100 //X from 0 to 95.047 //Y from 0 to 100.000 //Z from 0 to 108.883 var_R = var_X * 3.2406 + var_Y * -1.5372 + var_Z * -0.4986 var_G = var_X * -0.9689 + var_Y * 1.8758 + var_Z * 0.0415 var_B = var_X * 0.0557 + var_Y * -0.2040 + var_Z * 1.0570 if ( var_R > 0.0031308 ) var_R = 1.055 * ( var_R ^ ( 1 / 2.4 ) ) - 0.055 else var_R = 12.92 * var_R if ( var_G > 0.0031308 ) var_G = 1.055 * ( var_G ^ ( 1 / 2.4 ) ) - 0.055 else var_G = 12.92 * var_G if ( var_B > 0.0031308 ) var_B = 1.055 * ( var_B ^ ( 1 / 2.4 ) ) - 0.055 else var_B = 12.92 * var_B R = var_R * 255 G = var_G * 255 B = var_B * 255 © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Цветовая модель LAB Lab — аббревиатура названия двух разных (хотя и похожих) цветовых пространств. Более известным и распространенным является CIE LAB (точнее, CIE 1976 L*a*b*), другим — Hunter Lab (точнее, Hunter L, a, b). Светлота 25 % Светлота 75 % © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Цветовая модель LAB (XYZ -> L*a*b*) var_X := X / ref_X; var_Y := Y / ref_Y; var_Z := Z / ref_Z; //ref_X = 95.047 Observer= 2°, Illuminant= D65 //ref_Y = 100.000 //ref_Z = 108.883 if ( var_X > 0.008856 ) then var_X := power(var_X, ( 1/3 )) else var_X := ( 7.787 * var_X ) + ( 16 / 116 ); if ( var_Y > 0.008856 ) then var_Y := power(var_Y, ( 1/3 )) else var_Y := ( 7.787 * var_Y ) + ( 16 / 116 ); if ( var_Z > 0.008856 ) then var_Z := power(var_Z, ( 1/3 )) else var_Z := ( 7.787 * var_Z ) + ( 16 / 116 ); L := ( 116 * var_Y ) - 16; a := 500 * ( var_X - var_Y ); b := 200 * ( var_Y - var_Z ); © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Цветовая модель LAB (XYZ -> L*a*b*) var_Y := ( L + 16 ) / 116; var_X := a / 500 + var_Y; var_Z := var_Y - b / 200; if ( power(var_Y,3) > 0.008856 ) then var_Y := power(var_Y,3) else var_Y := ( var_Y - 16 / 116 ) / 7.787; if ( power(var_X,3) > 0.008856 ) then var_X := power(var_X,3) else var_X := ( var_X - 16 / 116 ) / 7.787; if ( power(var_Z,3) > 0.008856 ) then var_Z := power(var_Z,3) else var_Z := ( var_Z - 16 / 116 ) / 7.787; X := ref_X * var_X; //ref_X = 95.047 Observer= 2°, Illuminant= D65 Y := ref_Y * var_Y; //ref_Y = 100.000 Z := ref_Z * var_Z; //ref_Z = 108.883 © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Цветовые модели RGB и CMY RGB R C 1 G  M 1 B Y 1 © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Работа с изображением RGB Использование параметра Pixels объявление переменной цвета, и переменных спектра Color :Tcolor (cardinal) CR,CG,CB : Byte Назначение цвета Bitmap.Canvas.Pixels[x,y]:=Color Получение цвета Color:=Bitmap.Canvas.Pixels[x,y] Разложение цвета на спектральные компоненты RGB: CR:=GetRValue(Color) CG:=GetGValue(Color) CB:=GetBValue(Color) Получение цвета на основе спектра RGB Color:=RGB(CR,CG,CB) Color:=(CR or (CG shl 8) or (CB shl 16)); © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Работа с изображением RGB через массив записей TRGBTriple массив записей TRGBTriple = tagRGBTRIPLE; tagRGBTRIPLE = packed record rgbtBlue: Byte; rgbtGreen: Byte; rgbtRed: Byte; Задание типа TRGBArray = ARRAY[0..32767] OF TRGBTriple; pRGBArray = ^TRGBArray; Объявление переменной выражающей строку RowOriginal : pRGBArray; CR, CG, CB : byte Color : Tcolor (cardinal) Для битмапа задание разрядности 24bit=3x8 Bitmap.PixelFormat := pf24bit; Чтение линии RowOriginal := Bitmap.ScanLine[N]; © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Работа с изображением RGB через массив записей TRGBTriple Чтение линий for i:=0 to Bitmap.Width-1 do RowOriginal := Bitmap.ScanLine[i]; Обращение к элементам CR:= RowOriginal [j].rgbtRed CG:= RowOriginal [j].rgbtGreen CB:= RowOriginal [j].rgbtBlue Color:=RGB(RowOriginal[j].rgbtRed, RowOriginal[j].rgbtGreen, RowOriginal[j].rgbtBlue); Занесение значений элементам RowOriginal[j].rgbtRed:= CR RowOriginal[j].rgbtGreen := CG RowOriginal[j].rgbtBlue := CB RowOriginal[j].rgbtRed:=GetRValue(Color) RowOriginal[j].rgbtGreen :=GetGValue(Color) RowOriginal[j].rgbtBlue :=GetBValue(Color) © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Цветовые модели CMY CMYK //RGB значения [0..255] CMY и CMYK значения [0..1] RGB  CMY CMY  RGB C = 1 - ( R / 255 ) M = 1 - ( G / 255 ) Y = 1 - ( B / 255 ) R = ( 1 - C ) × 255 G = ( 1 - M ) × 255 B = ( 1 - Y ) × 255 CMYK  CMY C=(C×(1-K)+K) M=(M×(1-K)+K) Y=(Y×(1-K)+K) var_K = 1 CMY  CMYK if ( C < var_K ) var_K = C if ( M < var_K ) var_K = M if ( Y < var_K ) var_K = Y if ( var_K == 1 ) { //Black C=0 M=0 Y=0 } else { C = ( C - var_K ) / ( 1 - var_K ) M = ( M - var_K ) / ( 1 - var_K ) Y = ( Y - var_K ) / ( 1 - var_K ) } K = var_K © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Цветовая модель HSV Цветовая модель HSV (англ. Hue, Saturation, Value — тон, насыщенность, значение) или HSB (англ. Hue, Saturation, Brightness — оттенок, насыщенность, яркость) — цветовая модель, в которой координатами цвета являются • Hue — цветовой тон, (например, красный, зелёный или сине-голубой). Варьируется в пределах 0—360°, однако иногда приводится к диапазону 0—100 или 0—1. • Saturation — насыщенность. Варьируется в пределах 0—100 или 0—1. • Value (значение цвета) или Brightness — яркость. Также задаётся в пределах 0—100 и 0—1. © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Цветовые модели RGBHSV H [0,360) S ,V , R, G, B [0,1] MAX — максимальное значение из R, G и B; MIN — минимальное из них.  0,  GB 60   MAX  MIN  GB H  60  MAX  MIN  BR  60   MAX  MIN  R G 60   MAX  MIN если MAX  MIN  0, если MAX  R и G  B  360, если MAX  R и G  B 0,  S   MIN 1  MAX , если MAX  0 если MAX  0 V  MAX  120, если MAX  G  240, если MAX  B © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Цветовые модели RGBHSV { maxVal = maximum(R,G,B); minVal = minimum(R,G,B); V = maxVal; //Определение светлоты If ( maxVal == 0 ) S = 0; //Определение насыщенности else S = ( maxVal - minVal )/maxVal; If ( S == 0 ) H = UNDEFINED; else { //Цвет между желтым и пурпурным if( R == maxVal ) H = (G-B)/(maxVal - minVal ); //Цвет между голубым и желтым else if ( G == maxVal ) H = 2 + (B-R)/(maxVal - minVal ); //Цвет между пурпурным и голубым else if ( B == maxVal ) H = 4 + (R-G)/(maxVal - minVal ); H = H * 60; if( H < 0 ) H = H + 360; } } © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Цветовые модели HSVRGB (Комплементарные цвета ) Sector  H H  Sector mod 6 frac  60 60 p  V (1  S ) q  V (1  frac  S ) t  V (1  (1  frac)  S ) Sector  0  R  V G t B p Sector  1  R  q Sector  2  R  p Sector  3  R  p Sector  4  R  t Sector  5  R  V G V G V Gq G p G p B p Bt B V B V Bq Два цвета называются комплементарными, если при смешивании их в равной пропорции получается чистый серый цвет. Вычисление Комплементарного цвета:  H  180, H '   H  180, VS S' V ( S  1)  1 V '  V ( S  1)  1 если H  180 если H  180 © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Цветовые модели HSVRGB { if( S == 0 ) { // находимся на оси симметрии - оттенки серого R = V; // если V=0 черный цвет G = V; B = V; } else { sector = floor( H / 60 ); // floor(x) возвращает наибольшее целое <= x frac = H / 60 - sector; // дробная часть H/60 T = V * ( 1 - S ); P = V * ( 1 - S*frac ); Q = V * ( 1 - S*(1 - frac) ); switch( sector ) { case 0: R = V; G = Q; B = T; break; case 1: R = P; G = V; B = T; break; case 2: R = T; G = V; B = Q; break; case 3: R = T; G = P; B = V; break; case 4: R = Q; G = T; B = V; break; case 5: R = V; G = T; B = P; break; } } } © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Цветовая модель HLS (HSL HSB) Цветовая модель HLS, HSL или HSI (от англ. Нue, Lightness, Saturation - тон, светлота, насыщенность) схожа с моделью HSV. Следует отметить, что HSV и HLS — две разные цветовые модели. © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Цветовые модели RGBHSL (HLS HSB)   Неопределе но  GB 60   MAX  MIN  GB H  60   360 MAX  MIN  BR  60   120  MAX  MIN  R G 60   240  MAX  MIN если MAX  MIN если MAX  R и G  B если MAX  R и G  B если MAX  G если 0  MAX  MIN MAX  MIN   2L  MAX  MIN S   MAX  MIN  MAX  MIN 2  2L  2  ( MAX  MIN )  1 MAX  B если если если если H — тон [0; 360] S — насыщенность [0; 1] L — яркость [0; 1] R, G, B — значения цвета в цветовой модели RGB, в диапазоне [0; 1] MAX — максимум из (R, G, B) MIN — минимум из (R, G, B) L  0 или MAX  MIN 1 0 L 2 1  L 1 2 L 1 1 L  ( MAX  MIN ) 2 © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Цветовые модели RGBHSL (HLS HSB) { maxVal = maximum(R,G,B); minVal = minimum(R,G,B); L = (maxVal + minVal) / 2; if( maxVal == minVal ) { S = 0; H = UNDEFINED; } else { if( L <= 0.5 ) S = (maxVal - minVal)/(maxVal + minVal); else S = (maxVal - minVal)/(2 - (maxVal + minVal)); if( R == maxVal ) H = (G - B)/(maxVal - minVal); else if( G == maxVal ) H = 2 + (B - R)/(maxVal - minVal); else if( B == maxVal ) H = 4 + (R - G)/(maxVal - minVal); H = H * 60; if( H < 0 ) H = H + 360; } } © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Цветовые модели HSL (HLS HSB)RGB  L  (1.0  S ) если L  0.5 Q  L  S  L  S если L  0.5 P  2.0  L  Q H H - приведение к интервалу [0,1]) 360 1 1 TR  H k  TG  H k TB  H k  3 3 если Tc  1  Tc  Tc  1.0 для каждого c  R, G, B если Tc  0  Tc  Tc  1.0 для каждого c  R, G, B Для каждой компоненты цвета c = R,G,B: 1  P  (( Q  P )  T  6 . ) если T  c c  6  1 1 Q если  Tc  Colorc   6 2  2 1 2 P  (( Q  P )  (  T )  6 . ) если  T   c c 3 2 3   P иначе © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Цветовые модели HSL (HLS HSB)RGB { if( S == 0 ) { R = L; G = L; B = L; } else { if( L <= 0.5 ) M2 = L * (L + S); else M2 = (L + S) - L * S; M1 = 2 * L - M2; R = Value(M1,M2,(H + 120) mod 360); G = Value(M1,M2,H); B = Value(M1,M2,(H - 120) mod 360); } } // Вспомогательная функция Value Value( N1, N2, Hue ) { if( Hue < 60 ) return N1 + (N2 - N1)*Hue / 60; else if( Hue < 180 ) return N2; else if( Hue < 240 ) return N1 + (N2 - N1)*(240 - Hue) / 60; else return N1; } © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Цветовая модель HSV vs HLS Сравнение компонентов HSV_S HSV_V HLS_S HLS_L оригинал Hue (оттенок) © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Цветовая модель YUV [PAL] Цветовая модель YUV Y - яркостная составляющая, U и V - цветоразностные составляющие оригинал Y U V UV © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Цветовая модель YUV [PAL] Цветовая модель YUV Y - яркостная составляющая, U и V - цветоразностные составляющие Диапазоны значений в схемах RGB и YUV будут следующими: R [0...255] G [0...255] B [0...255] Y [0...255] U [-112...112] V [-157...157] . Перевод цветов из схемы RGB в YUV Y  0.299  R  0.587  G  0.114  B U  0.147  R  0.289  G  0.436  B V  0.615  R  0.515  G  0.100  B Перевод цветов из схемы YUV в RGB R  Y  1.14  V G  Y  0.395  U  0.581 V B  Y  2.032  U © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Цветовая модель YIQ [NTSC ] Цветовая модель YIQ Y - яркостная составляющая, I и Q - цветоразностные составляющие Диапазоны значений в схемах RGB и YIQ будут следующими: R [0...255] G [0...255] B [0...255] Y [0...255] I [-152...152] Q [-134...134] . Получение значений каналов YIQ Y = 0.299×R´ + 0.587×G´ + 0.114×B´ I = 0.596×R´ - 0.27×5G´ - 0.321×B´ = V×cos 33° - U×sin 33° = 0.736×(R´ - Y) - 0.268×(B´ - Y) Q= 0.212×R´ - 0.523×G´ + 0.311×B´ = V×sin 33° + U×cos 33° = 0.478×(R´ - Y) + 0.413×(B´ - Y) Y  0.299 0.587  R  0114 .      I  . 596  . 274  . 322     G . Q  0.211  0.522 0.311   B  Преобразование YIQ  RGB R = Y + 0.956×I + 0.621×Q G = Y - 0.272×I - 0.647×Q B = Y - 1.107×I + 1.704×Q 0.623  Y   R  1 0.956 G   1  0.272  0.648  I .       B  1  1..105 0.705  Q  © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Цветовая модель YCbCr YPbPr Цветовая модель YCbCr YPbPr Y - яркостная составляющая, Cr, Pr Cb, Pb - цветоразностные составляющие Переход от RGB к YPbPr Y  Kr  R  (1  Kr  Kb)  G  Kb  B; 1 1 Pb    ( B  Y ); 2 1  Kb 1 1 Pr    ( R  Y ); 2 1  Kr Выбор Kb и Kr зависит от того, какая RGB-модель используется По стандарту ITU-R BT.601 Kb = 0, 114; Kr = 0, 299. В последнее время используют стандарт ITU-R BT.709 Kb = 0, 0722; Kr = 0, 2126, Переход от RGB к YCbCr Kg  1  Kr  Kb; Y  Ymin  (Ymax  Ymin )  ( Kr  R  Kg  G  Kb  B); Cmin  Cmax Cmax  Cmin 1    ( Kr  R  Kg  G  (1  Kb)  B); 2 2 1  Kb C  Cmax Cmax  Cmin 1 Cr  min    ((1  Kr )  R  Kg  G  Kb  B); 2 2 1  Kr Cb  В телевидении обычно Ymin = 16, Ymax = 235, Cmin = 16, Cmax = 240. В стандарте сжатия изображений JPEG : Ymin = 0, Ymax = 255, Cmin = 0, Cmax = 255. © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Цветовая модель YCbCr (JPEG) Формат обмена файлами JPEG позволяет использовать YCbCr, где Y, CB и CR имеют полный 8-битный диапазон 0-255 Диапазоны значений в схемах RGB и YCbCr будут следующими: R [0...255] G [0...255] B [0...255] Y [0...255] Cb [0...255] Cr [0...255] (JPEG) Y [0...255] Cb [-127…127] Cr [-127...127] (не нормированная форма) Преобразование RGBYCbCr Y  0.299  R  0.587  G  0.114  B Cb  128  0.1168736  R  0.331264  G  0.5  B Cr  128  0.5  R  0.418688  G  0.081312  B 0.5866 0.1145   R   Y   0.2989 Cb    0.1688  0.33124 0.5000  G .      Cr   0.5000  0.4184  0.0816  B  Преобразование YCbCr  RGB R  Y  1.402  (Cr  128) G  Y  0.34414  (Cb  128)  0.71414  (Cr  128) B  Y  1.772  (Cb  128)  R  1 0.0000 1.4022   Y  G   1  0.3456 0.7145 Cb .       B  1  1.7710 0.0000 Cr  © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Обработка изображений: Поэлементная обработка Работа с гистограммами © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Обработка изображений Семейство методов и задач, где входной и выходной информацией являются изображения. Примеры : • Улучшение качества изображения • Устранение шума в изображениях • Усиления полезной и подавления нежелательной (в контексте конкретной задачи) информации • Совмещение изображений • Сегментация изображений © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Типы обработок изображений Операция Характеристика Выходное значение по заданным координатам зависит только от поэлементная входного значения в тех же координатах. сложность constant Выходное значение по заданным координатам зависит от входных значений некоторой окрестности от заданных координат P2 Выходное значение по заданным Глобальная координатам зависит от всех входных значений на изображении N2 Локальная !!! Сложность определяется количеством операций с пикселями Размер изображения = N×N; Окрестность соседей = P×P. © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Типы обработок изображений Гистограмма изображения Гистограмма изображения (иногда: график уровней или просто уровни) — гистограмма уровней яркости изображения (суммарная, или разделённая по цветовым каналам). Процедура формирования гистограммы 1. Подсчитывается количество точек каждого цвета и заносится в массив. 2. Рассчитывается коэффициент масштабирования для вывода гистограммы на экран © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Линейная коррекция Изменение яркости оригинал Малая яркость Высокая яркость Добавление к значению яркости каждого пикселя фиксированного коэффициента коррекции позволяет повысить яркость изображения I new  I old  I corr Вычитание фиксированного коэффициента коррекции от значения яркости каждого пикселя позволяет снизить уровень яркости изображения I new  I old  I corr !!!: при каждом рассчете необходимо следить чтобы значение не вышло за установленные рамки (пример 0..255) © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Инвертирование, бинаризация Бинаризация - это преобразование изображения к двухцветному (чёрнобелому). Бинаризация производится следующим образом: 1. выбирается значение порога, относительно которого будет произведена бинаризация. 2. все значения пикселей исходного изображения, лежащие ниже этого порога, превращаются в основной (чёрный) цвет, а лежащие выше - в цвет фона (белый цвет). Инвертирование - это замена значения яркости каждого пикселя на его дополнение до предельно допустимого значения Пример дополнение до 255 (расчётная формула: Ynew = 255 – Yold) Оригинал Инвертированное изображение Бинаризованное изображение © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Линейная коррекция Изменение контраста Контраст — это ширина динамического диапазона изображения, который можно наглядно представить в виде ширины гистограмм . x  xmin y ( y max  y min )  y min xmax  xmin y  (k  ( x 127.5))  127.5 Коррекция с учетом коэффициента контрастности k относительно центра диапазона [0..255] X – значение спектра пикселя оригинального изображения Y - значение спектра пикселя выходного изображения Xmin and Xmax – минимальные и максимальные значение спектра пикселя оригинального изображения Ymin and Ymax – желаемые значения (минимальные и максимальные значение спектра) Оригинал Заниженный контраст Повышенный контраст © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Линейная коррекция Компенсация узкого диапазона яркостей – линейное растяжение: Линейная коррекция не всегда позволяет добиться желаемого результата! © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Нелинейная коррекция Нелинейная компенсация недостаточной контрастности Часто применяемые функции: • Степенная • Изначальная цель – коррекция для правильного отображения на мониторе. y  c  x • Логарифмическая • Цель – сжатие динамического диапазона при визуализации данных y  c  log(1  x) Степенное преобразование Гамма-коррекция Гамма-коррекция Изначальная цель – коррекция для правильного отображения на мониторе. Так называют преобразование вида: y  c  x y  c  ( x  r ) 1  x  y  255    255  Графики функции f -1(y) © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Нелинейная коррекция График корректирующей функции © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Нелинейная коррекция Пример График функции коррекции Компенсация разности освещения (пример) Компенсация разности освещения Идея: Формирование изображения: I (i, j )  l (i, j )  f (i, j ) Плавные изменения яркости относятся к освещению, резкие - к объектам. объект f (i, j ) освещение l (i, j ) Изображение освещенного объекта I (i, j ) Выравнивание освещения • Алгоритм – Получить приближенное изображение освещения путем низочастотной фильтрации l(i, j )  I (i, j )  G – Восстановить изображение по формуле I (i, j ) f (i, j )  l (i, j ) Выравнивание освещения (пример) Цветовая коррекция изображений © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Цветовая коррекция изображений Изменение цветового баланса • Изменение цветового баланса – Компенсация: • Неверного цветовосприятия камеры • Цветного освещения – Создание эффектов (Старое кино, выцветшее фото и т.п.) к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич © 2015 Цветовая коррекция изображений Гамма-коррекция цветовых каналов Оригинал David Peters, producer, and representatives of the IA, The International Alliance of Theatrical Stage Employees, Moving Picture Technicians, Artists and Allied Crafts, on the set of Frozen Impact (PorchLight Entertainment, 2003). Цветовая коррекция изображений Гамма-коррекция цветовых каналов red =2 Цветовая коррекция изображений Гамма-коррекция цветовых каналов Оригинал Цветовая коррекция изображений Гамма-коррекция цветовых каналов red =0.5 Цветовая коррекция изображений Гамма-коррекция цветовых каналов Оригинал Цветовая коррекция изображений Гамма-коррекция цветовых каналов green =2 Цветовая коррекция изображений Гамма-коррекция цветовых каналов Оригинал Цветовая коррекция изображений Гамма-коррекция цветовых каналов green =0.5 Цветовая коррекция изображений Гамма-коррекция цветовых каналов Оригинал Цветовая коррекция изображений Гамма-коррекция цветовых каналов blue =2 Цветовая коррекция изображений Гамма-коррекция цветовых каналов Оригинал Цветовая коррекция изображений Гамма-коррекция цветовых каналов blue =0.5 Цветовая коррекция изображений Изменение насыщенности цветов изображения Оригинал Цветовая коррекция изображений Изменение насыщенности цветов изображения saturation + 50% Цветовая коррекция изображений Изменение насыщенности цветов изображения Оригинал Цветовая коррекция изображений Изменение насыщенности цветов изображения saturation - 50% Цветовая коррекция изображений Изменение оттенка цветного изображения R→R Y →Y G→ G C→C B→B M→ M original Цветовая коррекция изображений Изменение оттенка цветного изображения R→Y Y →G G→ C C→B B→M M→ R hue + 60° Цветовая коррекция изображений Изменение оттенка цветного изображения R→G Y →C G→ B C→M B→R M→ Y hue + 120° Цветовая коррекция изображений Изменение оттенка цветного изображения R→C Y →B G→ M C→R B→Y M→ G hue + 180° Цветовая коррекция изображений Изменение оттенка цветного изображения R→B Y →M G→ R C→Y B→G M→ C hue + 240° Цветовая коррекция изображений Изменение оттенка цветного изображения R→M Y →R G→ Y C→G B→C M→ B hue + 300° Цветовая коррекция изображений Изменение оттенка цветного изображения R→R Y →Y G→ G C→C B→B M→ M hue + 360° = original Цветовая коррекция изображений Метод (Идеология) «Серый мир»  Предположение: – Сумма всех цветов на изображении естественной сцены дает серый цвет;  Метод: – Посчитать средние яркости по всем каналам: 1 1 1 R G  B R   R( x, y); G   G( x, y); B   B( x, y); Avg  ; N N N 3 – Масштабировать яркости пикселей по следующим коэффициентам: Avg Avg Avg Rnew  Rold  ; Gnew  Gold  ; Bnew  Bold  ; R G B © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Цветовая коррекция изображений Метод (Идеология) «Серый мир» Примеры © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Цветовая коррекция изображений Метод (Идеология) «Серый мир» Примеры Цветовая коррекция изображений Метод (Идеология) «Идеальный отражатель» • Предположение: – Наиболее яркие области изображения относятся к бликам на поверхностях, модель отражения которых такова, что цвет блика = цвету освещения; • Метод – Обнаружить максимальные значения интенсивности по каждому из каналов цветовой модели: Rmax , Gmax , Bmax – Произвести масштабирование интенсивности в каждом канале для пикселей: 255 Rnew  Rold  ; Rmax 255 Gnew  Gold  ; Gmax 255 Bnew  Bold  ; Bmax © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Цветовая коррекция изображений Метод «Autolevels» • Растяжение контрастности «Autolevels» – Идея – растянуть интенсивности по каждому из каналов на весь диапазон; • Метод: – Найти минимальные и максимальные значения интенсивности по каждому из каналов цветовой модели: Rmin , Rmax , Gmin , Gmax , Bmin , Bmax – Преобразовать значения интенсивности каждого канала: (255  0) (255  0) Rnew  ( Rold  Rmin )  ; Gnew  (Gold  Gmin )  ; ( Rmax  Rmin ) (Gmax  Gmin ) Bnew  ( Bold (255  0)  Bmin )  ; ( Bmax  Bmin ) © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Цветовая коррекция изображений Метод Растяжение контрастности «Autolevels» пример Цветовая коррекция изображений Метод Растяжение контрастности «Autolevels» пример Оригинальное изображение Обработанное изображение © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Цветовая коррекция изображений Коррекция с опорным цветом • Предположение – Пользователь указывает цвет вручную; • Источник: – Априорные знания – «облака – белые» – Хорошая фотография этой же сцены • Метод – Преобразовать по каждому из каналов цвета по формуле: Rdst Rnew  Rold  ; Rsrc Gdst Gnew  Gold  ; Gsrc Bdst Bnew  Bold  ; Bsrc © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Цветовая коррекция изображений Коррекция с опорным цветом пример Виды шумов Фильтрация изображений © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Источники шума – неидеальное оборудование для захвата изображения (ТВ-тюнер, видеокамера, сканер и т.п.); – плохие условия съемки (например, сильные шумы, возникающие при ночной фото/видеосъемке); – помехи, возникающие при передаче по аналоговым каналам, т. е. наводки от источников электромагнитных полей, собственные шумы активных компонентов (усилителей) линии передачи; – искажение данных при их передаче через цифровые каналы или повреждение информации на носителе; – неточности при выделении яркостного и цветоразностных сигналов из аналогового композитного сигнала и т. п.; – спекл-шум, возникающий на радиолокационных изображениях и изображениях ультразвуковой диагностики, вызван энергетическими помехами из-за беспорядочно распределенных отражателей сигнала, слишком мелких для того, чтобы их могла отобразить система. © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Классификация шума По способу искажения    аддитивный шум, мультипликативный шум, импульсный шум С точки зрения визуального восприятия  белый шум – сигнал, отсчеты которого не коррелируют друг с другом. Его разновидностью является белый гауссовский шум.  импульсный шум – случайные изолированные точки на изображении, значения которых значительно отличаются от значений окружающих их точек (обычно возникает при передаче по аналоговым каналам)  цветные пятна – характерны для аналогового сигнала (к примеру, присутствуют в видеоизображении, оцифрованного с носителя стандарта VHS или аналогов);  биение пикселей – области, точки в которых имеют произвольное значение в связи с ошибкой декодирования.  шум, вызываемый помехами в электросети;  вертикальные царапины (характерны для старых черно-белых видеозаписей). Вертикальные царапины возникают при механическом повреждении эмульсии на пленке. Цифровой шум Цифровой шум проявляется в виде случайным образом расположенных элементов растра (точек), имеющих размеры близкие к размеру пикселя. Цифровой шум отличается от изображения более светлым или тёмным оттенком серого и цвета (яркостный шум - luminance noise) и/или по цвету (хроматический шум - chrominance noise). Цифровой шум придаёт фотографии неестественный вид — создаётся ощущение, что на изображение наложена маска из точек различной яркости и цвета. В особенности, цифровой шум портит восприятие однотонноокрашенных частей изображения (например голубого неба) и объёмное восприятие объектов заднего плана, находящихся не в фокусе. Величина шума — характеристика понятийная и мало информативная. Как принято в электронике, говорить надо об отношении сигнал-шум. Математический анализ цифрового шума выявляет нелинейную структуру в фотографическом изображении. Наглядно можно сравнивать шум разных матриц так: когда две парные тестовые фотографии после ресайза к одному размеру имеют одинаково заметный шум, и при этом ИСО на одной больше чем на другой. © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Цифрово́й шум На левой части изображения приведён фрагмент фотографии снятой при неблагоприятных условиях (длинная выдержка, высокая чувствительность ISO), шум хорошо заметен. На правой части изображения — фрагмент фотографии снятой при благоприятных условиях. Шум практически незаметен © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Подавление шумов - Фильтры усреднение пикселей по соседям вычисление среднего арифметического вычисление среднего геометрического вычисление среднего гармонического вычисление среднего контрагорманического - Фильтры основанные на порядковых статистиках Медианные фильтры фильтр максимума/минимума Фильтр срединной точки Фильтр усеченного среднего - Линейные фильтры Простые сглаживающие фильтры Фильтр Гаусса - Нелинейные фильтры kuwahara Filter 2D Cleaner Filter by Jim Casaburi Spatial Smoother by Ioura Batugowski © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Принцип линейных фильтров (Свертка) m n C new ( x, y)   Ak ,l C old ( x  m / 2  k , y  n / 2  l ) k 0 l 0 Cnew , Cold – новые и старые значения пикселей изображения соответственно; Ak,l – коэффициент, определяющий эффект, который накладывает фильтр; m, n – константы, задающие размер фильтра. © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Принцип линейных фильтров (Свертка) (0,0) – Ядро обработки A k A= l y y x Cold x Cnew ( x, y )  Cnew r1 r2  A k   r1 l   r 2 k ,l Cold ( x  k , y  l ) © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Усреднение пикселей по соседям вычисление среднего арифметического 1 f ( x, y )  g ( s, t )  m  n ( s ,t )Sxy Sxy - прямоугольную окрестность (множество координат точек изображения) размерами тхn с центром в точке (х,у). g (х,у) – точка оригинального изображения (искаженного изображения) f (х,у) – точка обработанного изображения При выполнение в линейной форме коэффициенты Ak,l = 1/mn         1 9 1 9 1 9 1 9 1 9 1 9 1 9 1 9 1 9         Ядро усредняющего фильтра 3×3 © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Обработка плавающим окном: Пример Оригинал Усреднение 3×3 © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Обработка плавающим окном: Пример Оригинал Усреднение 3×3 © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Обработка плавающим окном: Пример Оригинал Усреднение 3×3 © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Обработка плавающим окном: Пример Оригинал Усреднение 3×3 © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Средне арифметический фильтр Рекурсивная реализация Алгоритм вычислений для пиксела (x,y) с маской размерностью радиусов r1 r2 Если x=0 то sumpx , y  r1 r2  C k   r1 l   r 2 old 3 2 1 5 7 1 + (x  k, y  l) – В противном случае sumpx , y  sumpx1, y  r2 C l  r 2 old ( x  r1  1, y  l )  r2 C l  r 2 old ( x  r1, y  l ) При выполнении подсчета необходимо проверять выход за границы изображения 6 + 8 – + 13 2 3 4 © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Усреднение пикселей по соседям вычисление среднего геометрического   f ( x, y )    g ( s , t )  ( s ,t )S xy  1 mn Sxy - прямоугольную окрестность (множество координат точек изображения) размерами тхn с центром в точке (х,у). g (х,у) – точка оригинального изображения (искаженного изображения) f (х,у) – точка обработанного изображения © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Усреднение пикселей по соседям вычисление среднего гармонического m n f ( x, y )  1  ( s ,t )S xy g ( s, t ) Sxy - прямоугольную окрестность (множество координат точек изображения) размерами тхn с центром в точке (х,у). g (х,у) – точка оригинального изображения (искаженного изображения) f (х,у) – точка обработанного изображения Среднегармонический фильтр хорошо работает в случае униполярного «белого» импульсного шума (т.е. когда значение шума соответствует появлению белых точек на изображении), но не работает в случае униполярного «черного» импульсного шума (когда значение шума соответствует появлению черных точек). Этот фильтр также хорошо работает для других типов шума, таких как гауссов шум. © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Усреднение пикселей по соседям вычисление среднего контрагорманического  g ( s, t ) f ( x, y )  Q 1 ( s ,t )S xy  g ( s, t ) Q ( s ,t )S xy Sxy – прямоугольную окрестность (множество координат точек изображения) размерами тхn с центром в точке (х,у). g (х,у) – точка оригинального изображения (искаженного изображения) f (х,у) – точка обработанного изображения Q – порядок фильтра Этот фильтр хорошо приспособлен для уменьшения или почти полного устранения импульсного шума. При положительных значениях Q фильтр устраняет «черную» часть импульсного шума. При отрицательных значениях Q фильтр устраняет «белую» часть импульсного шума. Обе части шума не могут быть устранены одновременно. © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Фильтр Гаусса Функция распределения коэффициентов фильтра Гаусса в одномерном пространстве принимает вид: A( x)  1 2   e x2  2 2 а в двумерном пространстве рассчитывается по формуле:  1 A( x, y )  e 2 2   x2  y2 2 2 © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Фильтры основанные на порядковых статистиках Медианные фильтры f ( x, y)  medg ( s, t ) ( s ,t )S xy фильтр максимума/минимума f ( x, y)  max g ( s, t ) ( s ,t )S xy f ( x, y)  min g ( s, t ) ( s ,t )S xy Sxy – прямоугольную окрестность (множество координат точек изображения) размерами тхn с центром в точке (х,у). g() – точки оригинального изображения (искаженного изображения) f (х,у) – точка обработанного изображения © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Фильтры основанные на порядковых статистиках Фильтр срединной точки 1  f ( x, y)   max {g ( s, t )}  min {g ( s, t )} ( s ,t )S xy 2 ( s ,t )S xy  Фильтр усеченного среднего 1 f ( x, y )  m n  d  g ( s, t ) ( s ,t )S xy r Sxy – прямоугольную окрестность (множество координат точек изображения) размерами тхn с центром в точке (х,у). g() – точки оригинального изображения (искаженного изображения) gr() – оставшиеся точки оригинального изображения после отсечения f (х,у) – точка обработанного изображения © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Фильтры основанные на порядковых статистиках Медианный фильтр с весовыми коэффициентами 1 2 1 2 3 2 1 2 1 3 2 4 7 3 6 8 7 7 Весовые коэффициенты 6 2, 2, 3, 3, 3, 3, 4, 6, 6, 7, 7, 7, 7, 7, 8 © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Фильтры основанные на порядковых статистиках Медианные фильтры (сравнение) © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Фильтры основанные на порядковых статистиках Многоступенчатый медианный фильтр R3 R2 R1          m5       R4  Многоступенчатый медианный фильтр обладает наилучшим сохранением деталей изображения.  mi = med( Ri ), i =1,2,3,4. Result = med(m1,m2,m3,m4,m5 ) © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Вариация ядра фильтров Классическая реализация Модификация Де Хааном Другие возможные виды ядра фильтра © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Kuwahara Filter ШАГ1 вычисление среднего арифметического значение и дисперсии для областей a b c d с учётом расширения размерности 1 m n As  Ak ,l  m  n k 0 l 0 ………… 1 m n Ds  Dk ,l  m  n k 0 l 0 ШАГ2 выявление области с наименьшей дисперсией ШАГ3 назначение отклика как наименьшего среднего значения области с наименьшей дисперсией © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Kuwahara Filter пример Оригинал Kuwahara Filter 7×7 © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Фильтр 2D Cleaner Filter by Jim Casaburi для каждого пикселя изображения рассчитывается значение с учетом окрестности по формуле: Px , y  R  Ch (Ts, r )      G  Ch (Ts, r )   B  Ch (Ts, r )    Px,y – пиксель, с окрестностью которого ведется работа; RGB – значения каналов RGB спектра; Ts – значение порога, характеризующего возможность обработки; r – ранг окрестности (вид окрестности квадрат со стороной 2·r+1); Ch(Ts,r) – функция расчета значения канала в спектре r r   Sv(i, j ) Ch (Ts, r )  i  r j  r r r   Cc (i, j ) i  r j  r © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Фильтр 2D Cleaner Filter by Jim Casaburi Sv(i,j) – функция отсечения значения спектра по порогу; Cc(i,j) – функция указания пригодности значения спектра по порогу. Эти функции принимают следующие значения: sv i , j , Sv(i, j )   0 , 1, Сс (i, j )   0 , если sv i , j  sv 0,0  Ts если sv i , j  sv 0,0  Ts если svi , j  sv 0,0  Ts если svi , j  sv 0,0  Ts где svi,j – значение спектра рассматриваемого цветового канала; Ts – значение порога. © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Фильтр 2D Cleaner Filter by Jim Casaburi (алгоритмическая реализация) for (each pixel of the current video frame) { GetRGB (source_pixel, r, g, b); tot_red = tot_green = tot_blue = 0; count_red = count_green = count_blue = 0; for (each pixel in the specified radius) { GetRGB (neighbour_pixel, r1, g1, b1); if (abs(r1-r) < Threshold) tot_red += r1; count_red ++; if (abs(g1-g) < Threshold) tot_green += g1; count_green ++; if (abs(b1-b) < Threshold) tot_blue += b1; count_blue ++; } destination_pixel = RGB (tot_red / count_red, tot_green / count_green , tot_blue / count_blue ); } © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Spatial Smoother by Ioura Batugowski (алгоритмическая реализация) for (i=0; i<=511; ++i) square_tab[i] = (i-255) ^ 2; for (each pixel of the current video frame) { GetRGB (source_pixel, r, g, b); tot_red = tot_green = tot_blue = 0; count = 0; r_tab = square_tab[255 - r]; g_tab = square_tab[255 - g]; b_tab = square_tab[255 - b]; for (each pixel in the specified radius) { GetRGB (neighbour_pixel, r1, g1, b1); square_error = (r_tab[r1] + g_tab[g1] + b_tab[b1]) >> Strength; if (square_error > 16) square_error =16; square_error = 16 - square_error ; tot_red += r1* square_error; tot_green += g1* square_error; tot_blue += b1* square_error; count += square_error; } destination_pixel = RGB (tot_red/count, tot_green / count , tot_blue / count); } © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Технология Retinex © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Общие сведения В зависимости от обстоятельств (характера отснятой сцены) применение методов на основе технологии Retinex позволит:  Повысить четкость (так называемый Sharpening)  Путем компенсации размытости связанную с процессом формирования изображения  Выравнивание цветовых характеристик изображения  Улучшение согласованности выходных данных, с учётом изменения освещения  сжатия динамического диапазона Виды алгоритмов на основе технологии Retinex:  Single Scale Retinex (SSR)  Multi-Scale Retinex (MSR)  Multi-Scale Retinex with Color Restoration (MSRCR)  Multi-Scale Retinex with canonical gain/offset © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Single Scale Retinex Алгоритм SSR (Single-Scale Retinex) выравнивает освещенность изображения, сохраняя локальный контраст в плохо и ярко освещенных областях. Коррекция происходит по формуле: R( x, y, Sigma)  logI ( x, y)  logI ( x, y) * G( x, y, sigma) где G — Гауссиан, sigma — коэффициента размытия, "*" — оператор свертки (применение фильтра). После применения SSR, основная часть полученных пикселей принадлежит диапазону [-1; 1], для визуализации изображения, значения необходимо нормализовать по формуле: I ( x, y)  I ret ( x, y)  255  127.5 © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Single Scale Retinex sigma = 8 © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Multi Scale Retinex Алгоритм MSR (Multi-Scale Retinex) — это взвешенная сумма SSR с разными коэффициентами размытия. MSR = w1·SSR1 + w2·SSR2 +… + wn·SSRn причем w1+w2+...+wn=1. Обычно, на практике n=3 sigma = 8, 20, 40, 120 © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Адаптивная обработка изображений © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Адаптивная бинаризация Необходима в случае неравномерной яркости фона/объекта. © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Принцип адаптивной бинаризации Необходима в случае неравномерной яркости фона/объекта. 1. Для каждого пикселя изображения I(x, y): 1. В окрестности пикселя радиуса r высчитывается индивидуальный для данного пикселя порог T; 2. Если I(x, y) > T + C , результат 1, иначе 0; Варианты выбора T:    T = mean T = median T = (min + max) / 2 © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Пример адаптивной бинаризации Исходное r=7, C=0 r=7, C=7 r=75, C=10 Адаптивная фильтрация Необходима для улучшения фильтрации изображения с точки зрения дальнейшей обработки Виды адаптаций разнообразных фильтров Адаптация структуры фильтра Адаптация размера окна обработки Адаптация коэффициентов фильтра обработки Адаптация принципов обработки * Адаптации типа фильтрации © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Адаптация структуры фильтра © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Адаптация размера окна и структуры фильтра © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Адаптация коэффициентов фильтра обработки © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Критерии адаптивной фильтрации Виды возможных критериев Локальная пороговая разность обработки Динамическая зависимость порога обработки от диапазона спектра Многоступенчатый выбор порогов обработки Трех-компонентный порог по динамическому диапазону спектра Функциональная зависимость порога обработки от локального диапазона в окрестности R точки обработки Функциональная зависимость порога обработки от системы уравнений коррекции в окрестности R точки обработки Секционное распределение порога обработки по изображению Объектное распределение порога обработки по изображению * Условный пороговый оператор © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Адаптация коэффициентов фильтра Гаусса Шаг 1. Проверка на применимость коэффициентов для локальных условий обработки Шаг 2. Снижение или обнуление коэффициентов не подпадающих под локальные условия Шаг 3. Расчет отклика фильтра Гаусса Шаг 4. Коррекция отклика фильтра в соответствии с коэффициентом коррекции вычисляемого по формуле по формуле: Kkor  1 r r   Kgauss m,n m r n r где Kkor – коэффициент коррекции; m, n – переменные размерности по горизонтали и вертикали; r – радиус маски фильтра; Kgaussm,n – значение коэффициента для элемента (m,n) области маски фильтра. © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Адаптивная медианная фильтрация Zmin — минимальное значение яркости в окрестности S; Zmax — максимальное значение яркости в S; Zmed — медиана значений яркости в S; Zxy — значение яркости в точке (х,у) Smax — максимальный допустимый размер S. Алгоритм адаптивной медианной фильтрации состоит из двух ветвей, обозначенных ниже как ветвь А и ветвь Б, и его действие заключается в следующем. Ветвь А: А1 = Zmed - Zmin А2 = Zmed — Zmax если А1 > 0 и А2 < 0, перейти к ветви Б; иначе увеличить размер окрестности; если размер окрестности <= Smax повторить ветвь А; иначе результат равен Zxy Ветвь Б: В1 = Zxy - Zmin В2 = Zxy - Zmax если В1 > 0 и B2 < 0, результат равен Zxy иначе результат равен Zmed © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич Модифицированная Адаптивная медианная фильтрация Шаг 1. Считывание данных из окна обработки (маски фильтра). Шаг 2. Изменение структуры на основе динамического порога 1 3N 3N T ( x, y )  I (i, j )  I ( x, y ) 1.2  9 N i j Шаг 3. Упорядочивание значений пикселей, покрываемых новой маской фильтра. Шаг 4. Если идет 2х кратное превышение порога то проводим одномерную фильтрацию Гаусса для элементов в радиусе (N-1)/2 от центрального элемента. © к.т.н. доцент каф. ИВТ Зотин Александр Геннадьевич
«Представление изображения и цвета изображения в компьютерной графике» 👇
Готовые курсовые работы и рефераты
Купить от 250 ₽
Решение задач от ИИ за 2 минуты
Решить задачу
Найди решение своей задачи среди 1 000 000 ответов
Найти
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач

Тебе могут подойти лекции

Автор(ы) Теличко В.Г.
Смотреть все 462 лекции
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot