Изравняване на хистограми за подобряване на качеството на изображението. Предварителна обработка на изображението Изравняване на изображението

  • 12.04.2020

Здравейте всички. Сега с моя научен ръководител подготвяме монография за издаване, където се опитваме с прости думиговорете за основите цифрова обработкаизображения. Тази статия разкрива много проста, но в същото време много ефективна техника за подобряване на качеството на изображението - изравняване на хистограма.

За по-лесно нека започнем с монохромни изображения (т.е. изображения, съдържащи информация само за яркостта, но не и за цвета на пикселите). Хистограмата на изображението е дискретна функция H, дефинирана върху набора от стойности, където bpp е броят битове, разпределени за кодиране на яркостта на един пиксел. Въпреки че не са задължителни, хистограмите често се нормализират до диапазона чрез разделяне на всяка стойност на функцията H[i] на общия брой пиксели в изображението. В табл. 1 показва примери за тестови изображения и хистограми, изградени на тяхна база:
Раздел. 1. Изображения и техните хистограми

След като внимателно проучихме съответната хистограма, можем да направим някои изводи за самото оригинално изображение. Например хистограмите на много тъмни изображения се характеризират с факта, че ненулевите стойности на хистограмата са концентрирани близо до нулеви нива на яркост и обратното за много светли изображения - всички ненулеви стойности са концентрирани вдясно страна на хистограмата.
Интуитивно можем да заключим, че най-удобното изображение за човешкото възприятие ще бъде изображение, чиято хистограма е близка до равномерно разпределение. Тези. за подобрение визуално качествонеобходимо е да се приложи такава трансформация към изображението, така че хистограмата на резултата да съдържа всички възможни стойности на яркост и в същото време в приблизително същото количество. Тази трансформация се нарича изравняване на хистограмата и може да се извърши с помощта на кода в списък 1.
Листинг 1. Внедряване на рутинна процедура за изравняване на хистограма

  1. процедура TCGrayscaleImage. Изравняване на хистограмата;
  2. конст
  3. k = 255
  4. h: масив [0 .. k] от двойно;
  5. i, j: дума;
  6. започвам
  7. за i := 0 до k do
  8. h[i] := 0;
  9. h[ кръг (k * себе си. Пиксели [ i, j] ) ] : = h[ кръг (k * себе си. Пиксели [ i, j] ) ] + 1;
  10. за i := 0 до k do
  11. h[ i] : = h[ i] / (self . Височина * self . Width ) ;
  12. за i := 1 до k направи
  13. h[ i] : = h[ i - 1 ] + h[ i] ;
  14. за i := 0 към себе си. Височина - 1 бр
  15. за j := 0 към себе си. Ширина - 1 бр
  16. себе си Пиксели [ i, j] : = h[ кръгъл (k * себе си . Пиксели [ i, j] ) ] ;
  17. край ;

В резултат на изравняването на хистограмата в повечето случаи динамичният диапазон на изображението се разширява значително, което прави възможно показването на незабелязани преди това детайли. Този ефект е особено изразен върху тъмни изображения, което е показано в табл. 2. Освен това си струва да се отбележи още една важна характеристика на процедурата за изравняване: за разлика от повечето филтри и градационни трансформации, които изискват настройка на параметри (апертура и константи за градационна трансформация), изравняването на хистограмата може да се извърши в напълно автоматичен режим без участието на оператор.
Раздел. 2. Изображения и техните хистограми след изравняване


Можете лесно да видите, че хистограмите след изравняване имат вид забележими прекъсвания. Това се дължи на факта, че динамичният диапазон на изходното изображение е по-широк от този на оригиналното изображение. Очевидно в този случай картографирането, разгледано в листинг 1, не може да осигури ненулеви стойности във всички бинове на хистограма. Ако все пак трябва да постигнете по-естествен външен вид на изходната хистограма, можете да използвате произволно разпределение на стойностите на i-тата хистограма в някои от нейните околности.
Очевидно изравняването на хистограмата улеснява подобряването на качеството на монохромните изображения. Естествено, бих искал да приложа подобен механизъм за цветни изображения.
Повечето не много опитни разработчици представят изображение в три RGB цветови канали и опитайте да приложите процедурата за изравняване на хистограмата към всеки цвят поотделно. В някои редки случаи това ви позволява да успеете, но в повечето случаи резултатът е така (цветовете са неестествени и студени). Това е така, защото RGB моделът не представя точно човешкото цветоусещане.
Нека помислим за друго цветово пространство - HSI. Този цветови модел (и други, свързани с него) се използва много широко от илюстратори и дизайнери, тъй като ви позволява да работите с по-познати концепции за нюанс, наситеност и интензитет.
Ако разгледаме проекцията на RGB куба в посоката на бяло-черния диагонал, тогава получаваме шестоъгълник, чиито ъгли съответстват на основните и вторичните цветове и всички сиви нюанси (лежащи на диагонала на куба) се проектират в централната точка на шестоъгълника (виж фиг. 1):

Ориз. 1. Проекция на цветен куб
За да можете да кодирате всички цветове, налични в RGB модела, като използвате този модел, трябва да добавите вертикална ос на яркост (или интензитет) (I). Резултатът е шестоъгълен конус (фиг. 2, фиг. 3):


Ориз. 2. Пирамида HSI (върхове)
В този модел нюансът (H) се дава от ъгъла спрямо червената ос, наситеността (S) характеризира чистотата на цвета (1 означава напълно чист цвят, а 0 съответства на нюанс на сивото). При стойност на наситеност нула, нюансът няма значение и е недефиниран.


Ориз. 3. Пирамида HSI
В табл. Фигура 3 показва разлагането на изображението на HSI компоненти (белите пиксели в тоналния канал съответстват на нулева наситеност):
Раздел. 3. цветово пространство HSI


Смята се, че за подобряване на качеството на цветните изображения е най-ефективно да се приложи процедурата за изравняване към канала за интензитет. Точно това е показано в табл. четири
Раздел. 4. Изравняване на различните цветови канали


Надявам се, че сте намерили този материал поне за интересен, най-много полезен. Благодаря ти.

Има три основни метода за увеличаване на контраста на изображението:

  • разтягане на линейна хистограма (линейно контрастиране),
  • нормализиране на хистограмата,
  • подравняване (линеаризиране или изравняване, изравняване) на хистограмата.

Линейно разтяганесе свежда до присвояване на нови стойности на интензитета на всеки пиксел в изображението. Ако интензитетите на оригиналното изображение се променят в диапазона от до, тогава е необходимо линейно да "разтегнете" посочения диапазон, така че стойностите да се променят от 0 до 255. За да направите това, достатъчно е да преизчислите стария интензитет стойности за всички пиксели съгласно формулата, където коефициентите просто се изчисляват въз основа на факта, че границата трябва да отиде до 0 и - до 255.

Нормализация на хистограматаза разлика от предишния метод, той не разтяга целия диапазон от промени в интензитета, а само най-информативната му част. Информативната част е набор от пикове на хистограмата, т.е. интензитети, които се срещат по-често от други в изображението. Кошчетата, съответстващи на редки интензитети, се изхвърлят по време на нормализацията, след което се извършва обичайното линейно разтягане на получената хистограма.

подравняванехистограмата е един от най-често срещаните начини. Целта на изравняването е всички нива на яркост да имат еднаква честота и хистограмата да съответства на единен закон за разпределение. Да кажем, че ни е дадено изображение в нива на сивото, което има разделителна способност на пиксели. Броят на нивата на квантуване на яркостта на пикселите (броят на контейнерите) е . След това, средно, за всяко ниво на яркост трябва да падне пиксели. Основната математика се крие в съпоставянето на двете разпределения. Нека са случайни променливи, описващи промяната в интензитета на пикселите в изображенията, е плътността на разпределение на интензитета върху оригиналното изображение и е желаната плътност на разпределение. Необходимо е да се намери трансформация на плътностите на разпределение, което би позволило получаването на желаната плътност:

Означаваме с и интегрални закони на разпределение на случайни променливи и . От условието за вероятностна еквивалентност следва, че . Записваме интегралния закон за разпределение по дефиниция:

Следователно получаваме това

Остава да разберем как да оценим интегралния закон за разпределение. За да направите това, първо трябва да изградите хистограма на оригиналното изображение, след което да нормализирате получената хистограма, като разделите стойността на всеки бин на общия брой пиксели. Стойностите на bin могат да се разглеждат като приближение на функцията на плътността на разпределението. По този начин стойността на интегралната функция на разпределение може да бъде представена като сума от следната форма:

Конструираната оценка може да се използва за изчисляване на нови стойности на интензитета. Имайте предвид, че горните трансформации на хистограмата могат да се прилагат не само към цялото изображение, но и към отделните му части.

Библиотеката OpenCV изпълнява функцията equalizeHist, която осигурява подобряване на контраста на изображението чрез изравняване на хистограмата [ , ]. Прототипът на функцията е показан по-долу.

void equalizeHist(const Mat& src, Mat& dst)

Функцията работи в четири стъпки:

Следното е пример за програма, която осигурява изравняване на хистограмата. Приложението приема като аргумент командна линияимето на оригиналното изображение. След като извършите операцията за изравняване на хистограмата, покажете оригиналното изображение 1 Използваното изображение е част от базата на PASACL VOC 2007., преобразуван в скала на сивото (Фиг. 7.11, вляво) и изображение с изравнена хистограма (Фиг. 7.11, вдясно).

#включи #включи използване на пространство от имена cv; const char helper = "Sample_equalizeHist.exe \n\ \t - име на файл с изображение\n"; int main(int argc, char* argv) ( const char *initialWinName = "Първоначално изображение", *equalizedWinName = "Изравнено изображение"; Mat img, grayImg, equalizedImg; if (argc< 2) { printf("%s", helper); return 1; } // загрузка изображения img = imread(argv, 1); // преобразование в оттенки серого cvtColor(img, grayImg, CV_RGB2GRAY); // выравнивание гистограммы equalizeHist(grayImg, equalizedImg); // отображение исходного изображения и гистограмм namedWindow(initialWinName, CV_WINDOW_AUTOSIZE); namedWindow(equalizedWinName, CV_WINDOW_AUTOSIZE); imshow(initialWinName, grayImg); imshow(equalizedWinName, equalizedImg); waitKey(); // закрытие окон destroyAllWindows(); // осовобождение памяти img.release(); grayImg.release(); equalizedImg.release(); return 0; }


Ориз. 7.11.

При всички трансформации елемент по елемент законът за разпределение на вероятностите, който описва изображението, се променя. При линейно контрастиране формата на плътността на вероятността се запазва, но в общия случай, т.е. с произволни стойности на параметрите на линейната трансформация, параметрите на плътността на вероятността на трансформираното изображение се променят.

Определянето на вероятностните характеристики на изображения, които са претърпели нелинейна обработка, е пряка задача на анализа. При решаване на практически проблеми с обработката на изображения може да се постави обратен проблем: според известната форма на плътността на вероятността pf(f) и желаната форма стр(ж) дефинирайте желаната трансформация ж= ϕ( f), на които трябва да бъде подложено оригиналното изображение. В практиката на цифрова обработка на изображения трансформирането на изображение в равновероятно разпределение често води до полезен резултат. В такъв случай

където жмин. и ж max - минимални и максимални стойности на яркост на преобразуваното изображение. Нека определим характеристиката на преобразувателя, който решава тази задача. Позволявам fи жобвързани с функция ж(н, м) = j( f(н, м)), а Pf(f) и Стр(ж) са интегралните закони за разпределение на входната и изходната яркост. Като вземем предвид (6.1), намираме:

Заместване на този израз в условието за вероятностна еквивалентност

след прости трансформации получаваме отношението

което е характеристика ж(н, м) = j( f(н, м)) в проблема, който се решава. Съгласно (6.2) оригиналното изображение претърпява нелинейна трансформация, чиято характеристика е Pf(f) се определя от интегралния закон за разпределение на оригиналното изображение. След това резултатът се свежда до даденото динамичен диапазонизползвайки операцията за линеен контраст.

По този начин трансформацията на плътността на вероятността предполага познаване на интегралното разпределение за оригиналното изображение. По правило няма надеждна информация за него. Апроксимацията с аналитични функции, поради грешки в апроксимацията, може да доведе до значителна разлика в резултатите от търсените. Следователно в практиката на обработка на изображения трансформацията на разпределенията се извършва на два етапа.



На първия етап се измерва хистограмата на оригиналното изображение. За цифрово изображение, чиято сива скала принадлежи към диапазона на целите числа, например, хистограмата е таблица от 256 числа. Всеки от тях показва броя на пикселите в изображението (кадъра), които имат дадена яркост. Чрез разделяне на всички числа в тази таблица на общия размер на извадката, равен на броя на извадките в изображението, се получава оценка на вероятностното разпределение на яркостта на изображението. Означаваме тази оценка с q pf(fq), 0 ≤ fq≤ 255. Тогава оценката на интегралното разпределение се получава по формулата:

На втория етап се извършва самата нелинейна трансформация (6.2), която осигурява необходимите свойства на изходното изображение. В този случай вместо неизвестното истинско интегрално разпределение се използва неговата оценка въз основа на хистограмата. Като се има предвид това, всички методи за поелементно преобразуване на изображения, чиято цел е да променят законите на разпределение, се наричат ​​хистограмни методи. По-специално се извиква трансформация, при която изходното изображение има равномерно разпределение изравняване (подравняване) на хистограмата.

Имайте предвид, че процедурите за преобразуване на хистограмата могат да се прилагат както към изображението като цяло, така и към отделните му фрагменти. Последното може да бъде полезно при обработката на нестационарни изображения, чиито характеристики се различават значително в различните области. В такъв случай най-добър ефектможе да се постигне чрез прилагане на хистограмна обработка на отделни зони – области на интерес. Вярно е, че това ще промени стойностите на показанията и всички други области. Фигура 6.1 показва пример за изравняване, извършено в съответствие с описаната методология.

Характерна особеност на много изображения, получени в реални системи за изображения, е съществена специфично теглотъмни области и сравнително малък брой области с висока яркост.

Фигура 6.1 – Пример за изравняване на хистограмата на изображението: a) оригиналното изображение и неговата хистограма c); б) трансформираното изображение и неговата хистограма г)

Изравняването на хистограмата води до изравняване на интегралните площи на равномерно разпределени диапазони на яркост. Сравнението на оригиналните (Фигура 6.1 a) и обработените (Фигура 6.1 b) изображения показва, че преразпределението на яркостта, което се случва по време на обработката, води до подобряване на зрителното възприятие.

При всички трансформации елемент по елемент законът за разпределение на вероятностите, който описва изображението, се променя. Нека разгледаме механизма на тази промяна, използвайки примера на произволна трансформация с монотонна характеристика, описана от функция (фиг. 2.8), която има обратна функция с една стойност. Да приемем, че случайната променлива се подчинява на плътността на вероятността. Нека е произволен малък интервал от стойности на случайната променлива и е съответният интервал на трансформираната случайна променлива.

Ако дадена стойност попада в интервала, тогава стойността попада в интервала, което означава вероятностната еквивалентност на тези две събития. Следователно, като вземем предвид малкостта на двата интервала, можем да напишем приблизително равенство:

,

където модулите отчитат зависимостта на вероятностите от абсолютните дължини на интервалите (и независимостта на знаците на нарастванията и ). Изчислявайки оттук плътността на вероятността на преобразуваното количество, замествайки вместо израза си чрез обратната функция и извършвайки преминаване към границата при (и, следователно,), получаваме:

. (2.4)

Този израз позволява да се изчисли плътността на вероятността на продукта на трансформация, която, както се вижда от него, не съвпада с плътността на разпределение на оригиналната случайна променлива. Ясно е, че извършената трансформация има значителен ефект върху плътността, тъй като (2.4) включва нейната обратна функция и нейната производна.

Отношенията стават малко по-сложни, ако трансформацията не се описва с функция едно към едно. Пример за такава по-сложна характеристика с двусмислена обратна функция е характеристиката на зъб на триона на фиг. 2.4, к. Въпреки това, като цяло значението на вероятностните трансформации не се променя в този случай.

Всички поелементни трансформации на изображения, разгледани в тази глава, могат да се разглеждат от гледна точка на промяната в плътността на вероятността, описана с израз (2.4). Очевидно, при нито един от тях, плътността на вероятността на изходния продукт няма да съвпадне с плътността на вероятността на оригиналното изображение (с изключение, разбира се, на тривиална трансформация). Лесно е да се види, че при линейно контрастиране формата на плътността на вероятността се запазва, но в общия случай, т.е. за произволни стойности на параметрите на линейната трансформация, параметрите на плътността на вероятността на трансформираното изображение се променят .

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

където и са минималните и максималните стойности на яркостта на преобразуваното изображение. Нека да определим характеристиките на преобразувателя, който решава този проблем. Нека и са свързани с функцията (2.2), а и са интегралните закони на разпределение на входните и изходните величини. Като вземем предвид (2.5), намираме:

.

Заместване на този израз в условието за вероятностна еквивалентност

след прости трансформации получаваме отношението

което е характерно (2.2) в решаваната задача. Съгласно (2.6) оригиналното изображение претърпява нелинейна трансформация, чиято характеристика се определя от интегралния закон за разпределение на самото оригинално изображение. След това резултатът се редуцира до определения динамичен диапазон с помощта на операцията за линеен контраст.

По същия начин могат да се получат решения на други подобни проблеми, при които се изисква законите за разпределение на изображението да се приведат в даден вид. Таблица на такива трансформации е дадена в. Една от тях, така наречената хиперболизация на разпределението, включва намаляване на плътността на вероятността на трансформираното изображение до хиперболична форма:

(2.7)

Ако вземем предвид, че когато светлината преминава през окото, входната яркост се логаритмира от неговата ретина, тогава получената плътност на вероятността се оказва еднаква. По този начин разликата от предишния пример се състои в отчитането на физиологичните свойства на зрението. Може да се покаже, че на изхода на нелинеен елемент с характеристика се получава изображение с вероятностна плътност (2.7).

също се определя от интегралния закон за разпределение на оригиналното изображение.

По този начин трансформацията на плътността на вероятността предполага познаване на интегралното разпределение за оригиналното изображение. По правило няма надеждна информация за него. Използването на аналитични приближения за разглежданите цели също е малко полезно, тъй като малките им отклонения от истинските разпределения могат да доведат до значителна разлика в резултатите от изискваните. Следователно в практиката на обработка на изображения трансформацията на разпределенията се извършва на два етапа.

На първия етап се измерва хистограмата на оригиналното изображение. За цифрово изображение, чиято сива скала, например, принадлежи към целочислен диапазон 0...255, хистограмата е таблица от 256 числа. Всеки от тях показва броя на точките в кадъра, които имат дадена яркост. Чрез разделяне на всички числа в тази таблица на общия размер на извадката, равен на броя на използваните пиксели на изображението, се получава оценка на вероятностното разпределение на яркостта на изображението. Ние обозначаваме тази оценка . Тогава оценката на интегралното разпределение се получава по формулата:

.

На втория етап се извършва самата нелинейна трансформация (2.2), която осигурява необходимите свойства на изходното изображение. В този случай вместо неизвестното истинско интегрално разпределение се използва неговата оценка въз основа на хистограмата. Като се има предвид това, всички методи за поелементно преобразуване на изображения, чиято цел е да променят законите на разпределение, се наричат ​​хистограмни методи. По-специално, трансформацията, при която изходното изображение има равномерно разпределение, се нарича изравняване (подравняване) на хистограмите.

Имайте предвид, че процедурите за преобразуване на хистограмата могат да се прилагат както към изображението като цяло, така и към отделните му фрагменти. Последният може да бъде полезен при обработката на нестационарни изображения, чието съдържание се различава значително по своите характеристики в различните области. В този случай най-добрият ефект може да се постигне чрез прилагане на обработка на хистограма в отделни области.

Използването на отношения (2.4)-(2.8), които са валидни за изображения с непрекъснато разпределение на яркостта, не е съвсем коректно за цифрови изображения. Трябва да се има предвид, че в резултат на обработката не е възможно да се получи идеално вероятностно разпределение на изходното изображение, така че е полезно да се контролира неговата хистограма.

а) оригинално изображение

б) резултат от обработката

Ориз. 2.9. Пример за изравняване на изображението

Фигура 2.9 показва пример за изравняване, извършено в съответствие с описаната методология. Характерна особеност на много изображения, получени в реални системи за изображения, е значителна част от тъмни зони и относително малък брой области с висока яркост. Изравняването е предназначено да коригира картината чрез подравняване на интегралните области на области с различна яркост. Сравнението на оригиналните (фиг. 2.9.a) и обработените (фиг. 2.9.b) изображения показва, че преразпределението на яркостта, което се случва по време на обработката, води до подобряване на зрителното възприятие.

Извършва обработка на изображения, визуализация и анализ

Image Processing Toolbox™ предоставя изчерпателен набор от референтни стандартни алгоритми и приложения за работен процес за обработка на изображения, анализ, визуализация и разработване на алгоритми. Можете да извършвате сегментиране на изображението, подобряване на изображението, премахване на шума, геометрични трансформации и регистриране на изображение, като използвате задълбочено обучение и традиционни техники за обработка на изображения. Кутията с инструменти за обработка поддържа 2D, 3D и произволно големи изображения.

Приложенията на Image Processing Toolbox ви позволяват да автоматизирате обичайните работни процеси за обработка на изображения. Можете интерактивно да сегментирате данни за изображения, да сравнявате методи за регистриране на изображения и да обработвате групово големи набори от данни. Функциите и приложенията за визуализация ви позволяват да изследвате изображения, 3D обеми и видеоклипове; регулирайте контраста; създаване на хистограми; и контролирайте видимите области (KINGS).

Можете да ускорите алгоритмите, като ги изпълните на многоядрени процесори и графични процесори. Много функции на кутията с инструменти поддържат генериране на C/C++ код за внедряване на компютърно зрение и анализ на прототипи.

Начало на работа

Научете основите на кутията с инструменти за обработка на изображения

Импортиране, експортиране и конвертиране

Импорт и експорт на данни за изображения, конвертиране на типове и класове изображения

Показване и изследване

Интерактивни инструменти за изображения и изследване

Геометрична трансформация и регистрация на изображения

Мащабирайте, завъртайте, изпълнявайте други N-D преобразуванияи подравнете изображения с помощта на корелация на интензитета, съвпадение на функции или картографиране на контролни точки

Филтриране и подобряване на изображението

Регулиране на контраста, морфологично филтриране, отстраняване на замъгляване, ROI базирана обработка

Сегментиране и анализ на изображения

Анализ на площи, анализ на структура, статистика на пиксели и изображения

Дълбоко обучение за обработка на изображения

Изпълнявайте задачи за обработка на изображения, като премахване на шум в изображението и генериране на изображения с висока разделителна способност от изображения с ниска разделителна способност, като използвате конволюционни невронни мрежи (изисква Deep Learning Toolbox™)