ПредишенСледващото

2.4. Собел оператор

Соубъл оператор - дискретни диференциална оператор, който изчислява приблизителни стойности на производни на различни поръчки за функцията на яркост пиксела [1]. Най-често срещаният пример за практическо използване е определянето на границите (ръбове) на обектите в изображението, т.е. отбелязва рязка промяна на яркостта.

Това твърдение се основава на навиване на изображението с интегрална филтри. В най-простия случай, операторът е изграден върху изчисляването на навивания на оригиналното изображение с ядра и. осигуряване на изчисление на първите производни на следните направления:

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

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

Посочваме Входните параметри функция Собел.

  • SRC - изображението източник.
  • DST - полученото изображение.
  • ddepth - дълбочината на полученото изображение.
  • xorder - за производно по отношение на оста Ox.
  • yorder - за производно по отношение на оста Oy.
  • ksize - големината на удължаване ядрото Собел оператор. Предполага една от стойностите 1, 3, 5 или 7. Във всички случаи сърцевината има размер kSize х kSize. освен когато kSize = 1. Когато kSize = 1 са 3x1 размер на ядрото или 1x3, се прилага по същество Gaussian филтър. Определената стойност може да се използва само при изчисляването на първата и втората частични производни по отношение на оси Ox и Oy. По подразбиране, ядрото е с размер 3х3. Имайте предвид, че в допълнение има специална стойност kSize = CV_SCHARR = -1. което съответства на размера на 3x3 филтър ядрото Scharra (Шар) и може да осигури по-точни оценки на производните спрямо оператора Соубъл:
  • мащаб - незадължителен параметър, който определя коефициент, за изчислените стойности на производни. мащабирането по подразбиране се прилага.
  • делта - незадължителен параметър е интензитетът компенсира се добавя преди съхранение резултат в DST матрица.
  • borderType - параметър, който определя метода на граници допълнения.
  • На следващо място, един пример за разпределение на ръбове в изображението чрез прилагане на хоризонталните и вертикалните оператори Собел и осредняване на получените градиенти указанията. Имайте предвид, че по-рано се прилага Гаусов филтър (GaussianBlur) за премахване на шум в оригиналното изображение и превръща получи изображение сивата скала (cvtColor). В резултат на оператора Собел се получават изображения, чиито дълбочина различава от дълбочината на оригиналното изображение, така конвертира тези матрици в 8-битово цяло число преди по-нататъшни операции (convertScaleAbs).

    На следващата фигура (фиг. 7.7) показва резултата от по-горе програма на изображението за изпитване (фиг. 7.2. Ляво).

    Знайте, Intuit, лекция, операции по обработка на основното изображение


    Фиг. 7.7. В резултат на прилагане на оператор Соубъл в хоризонтална и вертикална посока, средната стойност на проекция

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

    Имайте предвид, че библиотеката OpenCV съдържа функционални getDerivKernels. който ви позволява да получите на ядрото да се изчисли специфичен частично производно с конкретна бленда. Подробно описание на параметрите на тази функция може да се намери в документи [7].

    Подкрепете проекта - споделете линка, благодаря!