• Ce poți găti din calmar: rapid și gustos

    Cu toate transformările element cu element, legea distribuției probabilității care descrie imaginea se modifică. Cu contrast liniar, se păstrează forma densității de probabilitate, dar în cazul general, i.e. cu valori arbitrare ale parametrilor de transformare liniară, parametrii de densitate de probabilitate ai imaginii transformate se modifică.

    Determinarea caracteristicilor probabilistice ale imaginilor care au fost supuse procesării neliniare este o sarcină directă de analiză. La hotărâre probleme practice procesarea imaginilor, se poate formula problema inversă: folosind o formă cunoscută de densitate de probabilitate pf(f) și aspectul dorit p g(g) determină transformarea necesară g= ϕ( f) la care trebuie supusă imaginea originală. În practică prelucrare digitală transformarea imaginilor într-o distribuție equiprobabilă produce adesea rezultate utile. În acest caz

    Unde g min și g max – valorile minime și maxime ale luminozității imaginii convertite. Să determinăm caracteristicile convertorului care decide această sarcină. Lasă fŞi g conectate prin funcție g(n, m) = j( f(n, m)), A Pf(f) Și pg(g) – legi integrale de distribuție a luminozităților de intrare și de ieșire. Ținând cont de (6.1), găsim:

    Substituind această expresie în condiția echivalenței probabilistice

    după transformări simple obţinem relaţia

    reprezentând o caracteristică g(n, m) = j( f(n, m)) în problema care se rezolvă. Conform (6.2), imaginea originală suferă o transformare neliniară, a cărei caracteristică este Pf(f) este determinată de legea distribuției integrale a imaginii originale. După aceasta, rezultatul este adus la intervalul dinamic specificat folosind o operație de contrast liniar.

    Astfel, transformarea densității de probabilitate presupune cunoașterea distribuției cumulative pentru imaginea originală. De regulă, nu există informații sigure despre aceasta. Aproximarea prin funcții analitice, din cauza erorilor de aproximare, poate duce la o diferență semnificativă a rezultatelor față de cele cerute. Prin urmare, în practica procesării imaginilor, transformarea distribuțiilor se realizează în două etape.



    În prima etapă, se măsoară histograma imaginii originale. Pentru o imagine digitală a cărei tonuri de gri, de exemplu, aparține intervalului întreg, histograma este un tabel cu 256 de numere. Fiecare dintre ele arată numărul de puncte din imagine (cadru) având o luminozitate dată. Prin împărțirea tuturor numerelor din acest tabel la dimensiunea totală a eșantionului egală cu numărul de eșantioane din imagine, obținem o estimare a distribuției probabilității luminozității imaginii. Să notăm această estimare cu q pf(f q), 0 ≤ f q≤ 255. Atunci estimarea distribuției cumulate se obține prin formula:

    În a doua etapă se realizează însăși transformarea neliniară (6.2), oferind proprietățile necesare imaginii de ieșire. În acest caz, în locul distribuției cumulative adevărate necunoscute, se utilizează estimarea acesteia bazată pe histogramă. Ținând cont de acest lucru, toate metodele de transformare a imaginii element cu element, al căror scop este modificarea legilor de distribuție, se numesc metode histograme. În special, se numește o transformare în care imaginea de ieșire are o distribuție uniformă egalizarea (nivelarea) histogramei.

    Rețineți că procedurile de conversie a histogramelor pot fi aplicate atât imaginii în ansamblu, cât și fragmentelor sale individuale. Acesta din urmă poate fi util la procesarea imaginilor nestaționare, ale căror caracteristici diferă semnificativ în diverse zone. În acest caz, un efect mai bun poate fi obținut prin aplicarea procesării histogramei în zone individuale - zone de interes. Adevărat, valorile citirilor și toate celelalte zone se vor schimba. Figura 6.1 prezintă un exemplu de egalizare efectuată în conformitate cu metodologia descrisă.

    Trăsătură caracteristică a multor imagini obținute în sisteme de imagistică reale, este semnificativă greutate specifică zone întunecate și un număr relativ mic de zone cu luminozitate ridicată.

    Figura 6.1 – Exemplu de egalizare a histogramei imaginii: a) imaginea originală și histograma acesteia c); b) imaginea transformată și histograma acesteia d)

    Egalizarea histogramei duce la egalizarea zonelor integrale ale intervalelor de luminozitate distribuite uniform. O comparație a imaginilor originale (Figura 6.1 a) și prelucrate (Figura 6.1 b) arată că redistribuirea luminozității care are loc în timpul procesării duce la o îmbunătățire a percepției vizuale.

    Preprocesarea imaginii- un proces de imbunatatire a calitatii imaginii, cu scopul de a obtine cea mai exacta imagine bazata pe original si adaptata pentru analiza automata.

    Dintre defectele de imagine digitală putem evidenția următoarele tipuri:

    • Zgomot digital
    • Defecte de culoare (luminozitate și contrast insuficiente sau excesive, nuanță incorectă a culorii)
    • estompare (defocalizare)

    Metodele de preprocesare a imaginii depind de obiectivele cercetării și pot include următoarele tipuri de lucrări:

    Filtrarea imaginilor zgomotoase

    Zgomot de imagine digitală- un defect de imagine introdus de fotosenzorii și electronica dispozitivelor care le folosesc. Pentru a o suprima, se folosesc următoarele metode:

    Media liniară a punctelor alaturi - cel mai simplu tip de algoritmi de eliminare a zgomotului. Ideea lor principală este să ia media aritmetică a punctelor dintr-o anumită vecinătate ca nouă valoare a punctului.

    Din punct de vedere fizic, o astfel de filtrare este implementată prin parcurgerea pixelilor imaginii cu o matrice de convoluție care are următoarea formă:

    Exemplu:

    div este coeficientul de normalizare astfel încât intensitatea medie să rămână neschimbată. Este egal cu suma coeficienților matricei, în exemplul div = 6.

    Blur Gaussian(un tip de convoluție liniară) este implementat prin parcurgerea pixelilor imaginii cu o matrice de convoluție care arată astfel:

    Matricea 5x5 este umplută conform legii normale (Gauss). Mai jos este aceeași matrice, unde coeficienții sunt deja normalizați, deci div-ul pentru această matrice este egal cu unu.

    Puterea estomparii depinde de dimensiunea matricei.

    Pixelul din stânga sus nu are „vecini” în stânga și deasupra, prin urmare, nu avem cu ce să înmulțim coeficienții matricei!

    Rezolvarea acestei probleme necesită crearea unei imagini intermediare. Ideea este de a crea o imagine temporară cu dimensiuni

    lățime + 2 gol / 2, înălțime + 2 gol / 2, unde

    lățime și înălțime – lățimea și înălțimea imaginii filtrate,

    gap – dimensiunea matricei de convoluție.

    Imaginea de intrare este copiată în centrul imaginii, iar marginile sunt umplute cu cei mai exteriori pixeli ai imaginii. Blur-ul este aplicat tamponului intermediar, iar apoi rezultatul este extras din acesta.

    Filtru median este un filtru de fereastră care scanează secvențial imaginea și returnează la fiecare pas unul dintre elementele care au căzut în fereastra filtrului.

    Pixelii care „cad” în fereastră sunt sortați în ordine crescătoare și este selectată valoarea care se află în mijlocul listei sortate.

    Filtrul median este de obicei folosit pentru a reduce zgomotul sau a „netezi” o imagine.

    Pentru a îmbunătăți claritatea imagine se folosește următorul filtru (div=1):

    Transformări morfologice

    Filtrarea morfologică este utilizată pentru a extinde (dilacta) sau îngusta (eroziune) elementele unei imagini binare.

    Dilatare(extindere morfologică) – convoluția unei imagini sau a unei zone selectate a unei imagini cu un șablon. Șablonul poate avea orice formă și dimensiune. În același timp, singurul lucru care iese în evidență este poziție de conducere(ancoră), care este combinată cu pixelul curent atunci când se calculează convoluția.

    O imagine binară este un set ordonat (set ordonat) de puncte alb-negru (pixeli). Intensitatea maximă a pixelilor imaginii este unu, iar cea minimă este zero.

    Aplicarea dilatației se reduce la trecerea șablonului peste întreaga imagine și aplicarea operatorului de căutare pentru intensitatea maximă locală a pixelilor imaginii care sunt acoperiți de șablon. Dacă maximul este 1, atunci punctul în care se află ancora șablonului va fi alb. Această operație provoacă creșterea zonelor luminoase din imagine. În figură, pixelii sunt marcați cu gri, care vor fi albi ca urmare a aplicării dilatării.

    Eroziune(îngustarea morfologică) este operația inversă a dilatației. Efectul eroziunii este similar cu dilatația, singura diferență este că se folosește operatorul de căutare minim local. Dacă minimul este 0, atunci punctul în care se află ancora șablonului va fi negru. În imaginea din dreapta, pixelii gri sunt pixelii care se vor înnegri ca urmare a eroziunii.

    Operațiunea " Dilatare" - analog al "sau" logic al operațiunii " Eroziune" este un analog al "și" logic.

    Rezultatul operațiilor morfologice este determinat în mare măsură de șablonul (elementul structural) utilizat. Alegând un alt element structural, puteți rezolva diferite probleme de procesare a imaginii:

    • Reducerea zgomotului.
    • Selectarea limitelor unui obiect.
    • Selectarea scheletului unui obiect.

    Corectarea luminozității și contrastului imaginilor

    Luminozitate este o caracteristică care determină cât de mult diferă culorile pixelilor de negru. De exemplu, dacă o fotografie digitalizată a fost făcută pe vreme însorită, luminozitatea acesteia va fi semnificativă. Pe de altă parte, dacă fotografia a fost făcută seara sau noaptea, atunci luminozitatea acesteia va fi scăzută.

    Contrast este o caracteristică a cât de multă variație există în culorile pixelilor dintr-o imagine. Cu cât este mai mare răspândirea valorilor de culoare a pixelilor, cu atât este mai mare contrastul imaginii.

    Efectuați procesare, vizualizare și analiză a imaginilor

    Image Processing Toolbox™ oferă un set cuprinzător de algoritmi standard de referință și aplicații de flux de lucru pentru procesarea imaginilor, analiză, vizualizare și dezvoltarea algoritmilor. Este posibil să se efectueze segmentarea imaginii, îmbunătățirea imaginii, eliminarea zgomotului, transformări geometrice și cartografiere de înregistrare folosind metode de învățare profundă și metode tradiționale de procesare a imaginii. Suport pentru caseta de instrumente de procesare pentru imagini 2D, 3D și arbitrar mari.

    Aplicațiile Image Processing Toolbox vă permit să automatizați fluxurile obișnuite de procesare a imaginilor. Puteți segmenta în mod interactiv datele de imagine, puteți compara metodele de înregistrare a imaginilor și puteți procesa în serie seturi mari de date. Caracteristicile și aplicațiile de vizualizare vă permit să explorați imagini, volume 3D și videoclipuri; reglați contrastul; creați histograme; și controlați zonele vizibile (REGI).

    Puteți accelera algoritmii rulându-i pe procesoare și GPU-uri multi-core. Multe funcții ale casetei de instrumente acceptă generarea de cod C/C++ pentru implementarea sistemului de viziune computerizată și analiza prototipului.

    Noțiuni de bază

    Aflați elementele de bază ale Casetei de instrumente pentru procesarea imaginilor

    Import, export și conversie

    Importați și exportați date de imagine, convertiți tipuri și clase de imagini

    Afișare și cercetare

    Instrumente interactive pentru afișarea și explorarea imaginilor

    Transformarea geometrică și înregistrarea imaginii

    Scalați, rotiți, efectuați alte transformări N-D și aliniați imaginile folosind corelarea intensității, potrivirea caracteristicilor sau maparea punctelor de control

    Filtrarea și îmbunătățirea afișajului

    Corecție de contrast, filtrare morfologică, deblurring, procesare bazată pe ROI

    Segmentarea și analiza afișajului

    Analiza zonei, analiza structurii, statistica pixelilor si imaginilor

    Învățare profundă pentru procesarea imaginilor

    Efectuați sarcini de procesare a imaginilor, cum ar fi eliminarea zgomotului și generarea de imagini de înaltă rezoluție din imagini cu rezoluție joasă folosind rețele neuronale convoluționale (necesită Deep Learning Toolbox™)

    Există trei metode principale pentru creșterea contrastului imaginii:

    • întinderea histogramei liniare (contrast liniar),
    • normalizarea histogramei,
    • alinierea (liniarizarea sau egalizarea) histogramei.

    Întindere liniară se reduce la alocarea de noi valori de intensitate fiecărui pixel din imagine. Dacă intensitățile imaginii originale au variat în intervalul de la până la , atunci este necesar să „întindeți” liniar intervalul specificat, astfel încât valorile să se schimbe de la 0 la 255. Pentru a face acest lucru, este suficient să recalculați vechile valori de intensitate pentru toți pixelii conform formulei, în care coeficienții sunt pur și simplu calculati pe baza faptului că chenarul ar trebui să meargă la 0 și la 255.

    Normalizarea histogramei Spre deosebire de metoda anterioară, nu întinde întreaga gamă de modificări de intensitate, ci doar partea sa cea mai informativă. Partea informativă este înțeleasă ca un set de vârfuri de histogramă, adică. intensități care apar mai des decât altele în imagine. Binele corespunzătoare intensităților care apar rar sunt aruncate în timpul procesului de normalizare și apoi se realizează întinderea liniară obișnuită a histogramei rezultate.

    Aliniere histogramele sunt una dintre cele mai comune metode. Scopul egalizării este de a se asigura că toate nivelurile de luminozitate au aceeași frecvență și că histograma urmează o distribuție uniformă. Să presupunem că ni se oferă o imagine în tonuri de gri care are o rezoluție de pixeli. Numărul de niveluri de cuantizare a luminozității pixelilor (număr de bins) este . Apoi, în medie, pentru fiecare nivel de luminozitate ar trebui să existe pixeli. Matematica de bază constă în compararea celor două distribuții. Fie variabile aleatorii care descriu modificarea intensității pixelilor în imagini, fie densitatea de distribuție a intensității în imaginea originală și densitatea de distribuție dorită. Este necesar să găsim o transformare a densităților de distribuție care să ne permită obținerea densității dorite:

    Să notăm cu și legile integrale de distribuție a variabilelor aleatoare și . Din condiţia echivalenţei probabilistice rezultă că . Să notăm legea distribuției integrale prin definiție:

    De aici obținem asta

    Rămâne de aflat cum se estimează legea distribuției integrale. Pentru a face acest lucru, trebuie mai întâi să construiți o histogramă a imaginii originale, apoi să normalizați histograma rezultată, împărțind valoarea fiecărui bin la numărul total de pixeli. Valorile bin pot fi considerate ca o aproximare a funcției densității distribuției. Astfel, valoarea funcției de distribuție cumulativă poate fi reprezentată ca o sumă de următoarea formă:

    Estimarea construită poate fi utilizată pentru a calcula noi valori de intensitate. Rețineți că transformările histogramei enumerate pot fi aplicate nu numai întregii imagini, ci și părților sale individuale.

    Biblioteca OpenCV implementează funcția equalizeHist, care asigură îmbunătățirea contrastului imaginii prin egalizarea histogramei [,]. Prototipul funcției este prezentat mai jos.

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

    Funcția funcționează în patru etape:

    Mai jos dăm un exemplu de program care asigură egalizarea histogramei. Aplicația preia numele imaginii sursă ca argument în linia de comandă. După efectuarea operației de egalizare a histogramei, este afișată imaginea originală 1 Imaginea folosită face parte din baza de date PASACL VOC 2007., convertită în tonuri de gri (Fig. 7.11, stânga) și o imagine cu o histogramă egalizată (Fig. 7.11, dreapta).

    #include #include folosind cv spatiu de nume; const char helper = „Sample_equalizeHist.exe \n\ \t - nume fișier imagine\n"; int main(int argc, char* argv) ( const char *initialWinName = "Imagine inițială", *equalizedWinName = "Imagine egalizată"; 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; }


    Orez. 7.11.