Procesarea datelor în mediile MathCAD și LabVIEW. Pregătirea imaginii originale. „Tehnologii informatice în fabricarea instrumentelor”

Pentru a finaliza proiectul de curs, trebuie mai întâi să primiți fotografia mea în format digital cu dimensiuni de 120x300 pixeli în format bmp. Pentru a face acest lucru, trebuie să vă faceți fotografia, iar în programul ACDSee, după editare, obțineți imaginea necesară lucrării. Imaginea originală este prezentată în Fig. 1.

Orez. 1. Imagine originală.

Importarea datelor din fișierul grafic rezultat într-o matrice.

O aplicație dezvoltată în LabVIEW pentru a importa un fișier grafic și a-l converti în matrice bidimensională foloseste urmatoarele functii:

VI-ul citește fișierul BMP și generează datele de imagine necesare pentru afișarea fișierului în indicatorul de imagine.

VI-ul emite o imagine de 1, 4 sau 8 biți sau o imagine RGB de 24 de biți către indicatorul de model.

Acest VI preia o matrice unidimensională de octeți, presupunând că utilizatorul a finalizat toate operațiunile de împachetare și completare.

VI-ul convertește un grup de date de imagine într-o matrice bidimensională.

Este recomandabil să utilizați acest VI la ieșirea unuia dintre VI-urile subpaletei. Formate grafice care efectuează citirea fisiere grafice, pentru a converti datele imaginii într-o reprezentare bidimensională.

Dacă intrarea VI-ului este date de imagine pe 32 de biți, VI-ul elimină canalul alfa și returnează o imagine pe 24 de biți.

Figura 2 prezintă rezultatul obținut pe panoul frontal al aplicației.

Orez. 2 Afișare fișier sursăși conversia acestuia într-o matrice bidimensională

  1. Inversarea imaginii.

În fig. Figura 3 prezintă diagrama bloc pe care am folosit-o pentru a crea negativul în LabVIEW. Principiul construirii acestei diagrame bloc se bazează pe inversarea imaginii.

Inversarea imaginii înseamnă preluarea unui negativ din imaginea originală și invers.

Operația de inversare a imaginii poate fi scrisă matematic după cum urmează:

.

Folosind formula (1), albul este convertit în negru.

Fig.3 Diagrama bloc pentru obținerea unei imagini negative.

Panoul frontal pentru circuitul din Fig. 3 este prezentat în Fig. 4. Aici puteți vedea diferența dintre imaginea originală și negativul acesteia.

Orez. 4 Panoul frontal pentru obținerea unei imagini negative.

Pentru a efectua inversarea imaginii, aplicația a folosit următoarele funcții:

VI-ul convertește imaginea într-un desen, ceea ce vă permite să utilizați alte VI-uri din subpaleta Funcții imagine pentru a adăuga instrucțiuni pentru elementele de desen din imagine.

Acest VI polimorf vă permite să convertiți imagini de 1 biți, 4 biți, 8 biți sau color.

VI-ul convertește desenul într-un grup de date de imagine, care pot fi apoi salvate într-un fișier folosind VI-ul din subpaleta Formate grafice.

Intrare culoare de fundal(Culoare fundal) setează culoarea de fundal a imaginii.

VI-ul scrie un fișier în format BMP.

Calea funcțiilor de intrare către fișier BMP(calea către fișierul BMP) și date de imagine.

2. Contrastul liniar al imaginii originale.

Principiul construirii unei diagrame bloc fig. 5 pentru a obține o imagine desaturată și contrastată se bazează pe metoda contrastului liniar al imaginii.

Contrastul imaginii este asociat cu îmbunătățirea potrivirii dintre intervalul dinamic al imaginii și dimensiunea ecranului pe care se realizează randarea.

Orez. 5 Diagrama bloc pentru obținerea imaginii desaturate și a imaginii de contrast.

Panoul frontal pentru circuitul din Fig. 5 este prezentat în Fig. 6. Puteți vedea diferența dintre o imagine desaturată și o imagine cu contrast ridicat. Aici sunt afișate și valorile luminozității minime și maxime a pixelilor imaginii.

Orez. 6 Panoul frontal pentru imagini desaturate și imagini cu contrast ridicat.

Pentru a implementa contrastul imaginii originale, aplicația folosește următoarele funcții:

Funcția returnează valorile maxime și minime găsite în matrice, împreună cu indexul fiecărei valori.

Matricea de intrare poate fi o matrice n-dimensională de orice tip.

Ieșirile pentru valoarea maximă și valoarea minimă au același tip și structură de date ca și elementele matricei de intrare.

Ieșirea indicelui maxim afișează indicele primei valori maxime. Dacă matricea este multidimensională, atunci ieșirea indicilor max reprezintă o matrice ale cărei elemente sunt indicii primei valori maxime a matricei.

Ieșirea indicelui minim afișează indicele primei valori minime.

Dacă matricea este multidimensională, atunci ieșirea indicilor minimi reprezintă o matrice ale cărei elemente sunt indicii primei valori minime a matricei.

Dacă matricea numerică este unidimensională, atunci rezultatele indicele maxim și indicele minim sunt numere întregi scalare (a). Dacă matricea numerică este multidimensională, atunci aceste ieșiri reprezintă o matrice unidimensională care conține indicii valorilor maxime și minime (b).

La un întreg octet nesemnat.

Funcția convertește numărul de intrare într-un întreg fără semn de 8 biți în intervalul de la 0 la 255.

Scopul acestui proiect de curs este de a implementa algoritmii și metodele propuși de procesare a seturilor de date (imagini digitale) folosind mediile MathCAD și LabVIEW, precum și analiza comparativa două aplicații luate în considerare, indicând avantajele și dezavantajele lor una în raport cu cealaltă. Trebuie remarcat faptul că mediile MathCAD și LabVIEW sunt cele mai vizuale și adesea folosite pentru rezolvarea diferitelor probleme de inginerie. sarcini de calculși probleme de cercetare.

Procesarea digitală a imaginii este destul de luminoasă și un exemplu clar conversia și analiza datelor de măsurare. Conversia imaginilor digitale este utilizată pe scară largă în sisteme industriale viziunea artificială, sisteme de măsurare video, sisteme de televiziune aplicate, televiziune de difuzare și așa mai departe.

Scop transformare digitală imagistica constă în crearea condițiilor pentru îmbunătățirea percepției unei imagini (de exemplu, în diagnosticul medical cu raze X sau cu ultrasunete), formarea unei anumite imagini artistice (în televiziune), evidențierea caracteristicilor informative (în sistemele de recunoaștere a imaginii, sistemele de măsurare, sistemele de monitorizare). ) și așa mai departe.

În acest proiect de curs, astfel de transformări digitale vor fi folosite ca: importarea datelor din fișierul rezultat într-o matrice; inversarea imaginii; contrastul liniar al imaginii originale; construirea de imagini inițiale și contrastate liniare și cumulate; binarizarea imaginii rezultate după contrast liniar cu diferite praguri de binarizare; Mărirea de 2x a unei imagini cu contrast îmbunătățit utilizând extrapolarea de ordinul zero și interpolarea de ordinul întâi pentru a reconstrui pixelii de imagine intermediari; exportarea imaginilor contrastate și restaurate în fișiere bmp.

Este necesar să se facă distincția între procesarea imaginilor destinate percepției vizuale și prelucrarea în dispozitive automate de analiză, unde sarcinile de identificare a caracteristicilor, determinarea coordonatelor exacte curente ale unui obiect și generarea de date privind caracteristicile cantitative vin în prim-plan.

Imaginile studiate reflectă tiparele de interacțiune dintre lumină și altele radiatie electromagnetica Cu secțiuni separate scena studiată. Modularea fluxului radiant are loc atât în ​​ceea ce privește energia, cât și distribuția spectrală și se realizează ca urmare a interacțiunii radiațiilor cu substanța studiată datorită fenomenelor de absorbție, reflexie, împrăștiere, refracție, polarizare sau interferență. Pe aceste proprietăți, de regulă, se utilizează procesarea imaginilor în sistemele automate de analiză în scopul extragerii informatii cantitative despre obiectele studiate.

Crearea unei imagini digitale originale prin fotografie digitală și prelucrare ulterioară în editorul Abode Photoshop. Salvarea imaginii rezultate în format bmp, 300x300 pixeli în dimensiune (Fig. 1).

Rezultatul procesării în orice punct al cadrului depinde doar de valoarea imaginii de intrare în același punct. Avantajul evident al unor astfel de proceduri este simplitatea lor extremă. Cu toate acestea, multe dintre ele duc la o îmbunătățire subiectivă evidentă a calității vizuale. Aceasta determină atenția acordată procedurilor element cu element. Fără a exagera rolul lor, observăm că de foarte multe ori procesarea element cu element este utilizată ca etapă finală în rezolvarea mai multor sarcină dificilă procesarea imaginii. Este adesea util să subliniați și să îmbunătățiți anumite caracteristici, caracteristici și nuanțe ale imaginii observate pentru a îmbunătăți percepția subiectivă a acesteia.

Inversarea imaginii înseamnă obținerea unui negativ din imaginea originală și invers (Fig. 2a, b). Când utilizați formatul de imagine pe opt biți în tonuri de gri, nivelul de luminozitate este codificat în 256 de niveluri (de la 0 la 255). De fapt, conversia albului în negru este efectuată, ținând cont de toate cele 256 de niveluri de codare (Fig. 2).

Sarcina de contrast este legată de îmbunătățirea potrivirii interval dinamic imaginea și ecranul pe care se realizează vizualizarea. În cazul considerat al formatului în tonuri de gri, 1 octet (8 biți) de stocare este alocat pentru codificarea fiecărei mostre de imagine, astfel încât nivelurile pot lua una din 256 de valori. De obicei, domeniul de lucru este 0...255; în acest caz, valoarea 0 corespunde nivelului de negru în timpul vizualizării, iar valoarea 255 corespunde nivelului de alb. Să presupunem că luminozitatea minimă și maximă a imaginii originale sunt egale cu și respectiv. Dacă acești parametri sau unul dintre ei diferă semnificativ de valorile limită ale intervalului de luminozitate, atunci imaginea vizualizată pare nesaturată, inconfortabilă și obositoare de observat.

Vom obține o imagine desaturată (Fig. 3), iar apoi, folosind contrastul liniar, vom îmbunătăți calitatea acesteia (Fig. 3a, b, Fig. 4).



Pentru imagine digitală format în tonuri de gri, a cărui scară de luminozitate aparține intervalului întreg 0...255, histograma este un tabel de 256 de numere. Fiecare dintre ele arată numărul de puncte din cadru care au o anumită luminozitate.

Histograma liniară definește o căutare completă a matricei imaginii. Valorile elementelor matricei, la rândul lor, sunt indicii matricei histogramei. Când selectați orice element al matricei, unul este adăugat la elementul corespunzător al matricei histogramei. Ca rezultat, după o căutare completă a matricei, fiecare element al matricei reflectă numărul total de elemente ale matricei cu nivelul de luminozitate corespunzător (Fig. 4a, 5a, Fig. 5a, b).

Într-o histogramă cumulativă, orice valoare a unui element de matrice este egală cu suma tuturor celor anterioare (Fig. 4b, 5b, Fig. 6a, b).



Transformarea de prag transformă o imagine în tonuri de gri care conține toate nivelurile de luminanță într-o imagine binară cu pixeli de 0 sau 255 de luminanță.

Această operație, numită uneori binarizare sau cuantizare binară, poate fi utilă atunci când contururile obiectelor prezente în imagine sunt importante pentru observator, dar detaliile conținute în obiecte sau în fundal nu prezintă interes (Figura 6a, b).


Scalarea imaginii este o sarcină foarte importantă în analiza imaginilor. Această sarcină este indisolubil legată de problema recuperării datelor, deoarece odată cu creșterea dimensiuni fiziceÎn imagini, există întotdeauna pixeli intermediari a căror valoare este necunoscută. Determinarea nivelurilor de luminozitate a pixelilor noi este principala problemă care se rezolvă. Cu toate acestea, ambele metode propuse sunt bine aplicabile numai pentru matrice unidimensionale, așa că mai întâi trebuie să efectuați operația de recuperare a datelor rând cu rând, ignorând rândurile numai cu pixeli noi (toți valori zero), și apoi efectuați aceeași operație pentru coloanele matricei rezultate.Fig. 8b

În acest curs lucrează doi medii software- MathCAD și LabVIEW. Ca obiect de studiu a fost folosită o imagine de opt biți care măsoară 300x300 pixeli. Pe parcursul studiului s-a constatat că calitatea rezultatelor finale și intermediare obținute folosind ambele medii a fost identică. Unul dintre avantajele mediului LabVIEW este claritatea algoritmului de execuție și intuitiv interfață clară, ceea ce este un avantaj semnificativ în comparație cu programul MathCAD. Cu toate acestea, dacă comparați resursele PC consumate necesare pentru a finaliza sarcinile atribuite, puteți vedea că aceiași algoritmi LabVIEW necesită o „mașină” mult mai puternică. Acest lucru este clar vizibil în secțiunile „interpolare” și „extrapolare”. În opinia mea, gama de probleme rezolvate în mediul LabVIEW este mai largă decât cea a mediului MathCAD. Dar în cadrul acestui munca de curs nu se vede. Prin urmare, putem concluziona că MathCAD este program optim pentru a implementa sarcina.

Îmbunătățirea calității vizuale a imaginilor color

Problema îmbunătățirii calității imaginilor color este de mare interes practic. În cele mai multe cazuri, îmbunătățirea se referă la o creștere a calității percepției vizuale. Să luăm în considerare mai multe abordări care sunt utilizate pentru a rezolva această problemă. Acestea sunt egalizarea histogramei valorilor de luminozitate ale elementelor de imagine (egalizare), extinderea gamei dinamice a valorilor de luminozitate a imaginii, contrastul și mascarea neclară. O particularitate a problemei luate în considerare este că majoritatea abordărilor cunoscute au fost dezvoltate pentru a îmbunătăți calitatea semitonurilor, mai degrabă decât a imaginilor color. Sarcina de a îmbunătăți calitatea imaginilor color, spre deosebire de cele semitonuri, are propriile sale caracteristici. Cu toate acestea, în acest material Când rezolvăm problema creșterii calității vizuale a imaginilor color, vom folosi doar aceste instrumente și funcții care sunt implementate în aplicația Image. Caseta de instrumente de procesare.

Alinierea histogramei valorilor de luminozitate ale elementelor de imagine (egalizare)

Destul de des, imaginile brute originale au distorsiuni de luminanță. Motivele pot fi foarte diferite, dar în majoritatea cazurilor acest lucru se datorează imperfecțiunii echipamentului de generare a datelor video. Ca urmare, detaliile din astfel de imagini sunt slab distinse sau nu sunt deloc distinse. Pentru a crește contrastul unor astfel de imagini, utilizați diverse metode modificări ale histogramelor. Să dăm un exemplu de îmbunătățire a calității vizuale a unei imagini prin nivelarea histogramei valorilor de luminozitate ale elementelor sale. Pentru a face acest lucru, vom folosi funcția histeq încorporată în aplicația Image Processing Toolbox.

Considerăm imaginea originală în spatiu de lucru Matlab

L=imread("forest.bmp"); L=dublu(L)./255;

și vizualizați-o.

Figure,imshow(L);

Cutia de instrumente pentru procesarea imaginilor este cunoscută pentru a reda imaginile în spațiu de culoare RGB sau ca imagini indexate. În primul rând, implementăm egalizarea histogramelor valorilor de luminozitate separat pentru fiecare componentă de culoare din spațiul RGB.

L_R=histeq(L_R); L_G=histeq(L_G); L_B=histeq(L_B); L(:,:,1)=L_R; L(:,:,2)=L_G; L(:,:,3)=L_B; figură, imshow(L);

La procesarea imaginilor color, sistemul de culoare HSV este adesea folosit. Literatura susține că acest sistem de culori reprezintă mai adecvat percepția umană a culorii decât RGB.

Să convertim imaginea sursă în format HSV folosind funcția rgb2hsv.

L_hsv(:,:,3)=histeq(L_hsv(:,:,3));

Pentru a vizualiza rezultatul, este necesar să convertiți înapoi la spațiul de culoare RGB.

L=hsv2rgb(L_hsv); figură, imshow(L);

Extinderea intervalului dinamic al valorilor de luminozitate a imaginii

O altă abordare binecunoscută care este utilizată pe scară largă pentru a îmbunătăți calitatea vizuală a imaginilor este extinderea intervalului dinamic al valorilor de luminozitate.

L=imread("krepost.bmp"); L=dublu(L)./255; figură, imshow(L);

Imaginea originală este reprezentată în spațiul de culoare RGB. Să extindem intervalul dinamic al luminozității sale pentru fiecare componentă de culoare.

L_R=L(:,:,1);L_G=L(:,:,2);L_B=L(:,:,3);

Să definim minimul și valorile maxime luminozitatea tuturor componentelor de culoare. Aceste date vor fi sursa pentru această metodă de corectare a distorsiunilor de gradație.

MIN_L_R=min(min(L_R));MIN_L_G=min(min(L_G));MIN_L_B=min(min(L_B)); MAX_L_R=max(max(L_R));MAX_L_G=max(max(L_G));MAX_L_B=max(max(L_B));

Natura transformărilor este determinată de parametru. Dacă =1, atunci transformarea este liniară. Cu toate acestea, destul de des, mai ales dacă imaginea originală conține zone întunecate sau luminoase dintr-o zonă mare, transformările neliniare sunt mai eficiente atunci când .

A=.5; L_R=((L_R-MIN_L_R)./(MAX_L_R-MIN_L_R)).^a; L_G=((L_G-MIN_L_G)./(MAX_L_G-MIN_L_G)).^a; L_B=((L_B-MIN_L_B)./(MAX_L_B-MIN_L_B)).^a; L(:,:,1)=L_R; L(:,:,2)=L_G; L(:,:,3)=L_B;

Să vizualizăm rezultatul transformării.

Figure,imshow(L);

Acum, ca și în exemplul anterior, să prezentăm imaginea în sistemul de culori HSV

L_hsv=rgb2hsv(L);

și implementați aceeași procedură pentru extinderea gamei dinamice a valorilor tonurilor de culoare.

A=.5; L_hsv(:,:,3)=((L_hsv(:,:,3)-min(min(L_hsv(:,:,3))))./(max(max(L_hsv(:,:,3)) ))-min(min(L_hsv(:,:,3))))).^a; L=hsv2rgb(L_hsv);

Să ne imaginăm rezultatul.

Figure,imshow(L);

Imagini color contrastante

Să luăm în considerare o altă abordare care este folosită pentru a îmbunătăți calitatea vizuală a imaginilor - contrastul. Când implementăm această abordare, vom folosi funcția imfilter.

Citim imaginea originală și o vizualizăm.

L=imread("canoe.bmp"); L=dublu(L)./255; figură, imshow(L);

Fiecare componentă de culoare a imaginii care este prezentată în format RGB, vom procesa separat.

L_R=L(:,:,1);L_G=L(:,:,2);L_B=L(:,:,3);

Pentru a face acest lucru, selectați o mască de filtru care mărește contrastul imaginii

H = fspecial("unsharp");

și aplicați-l pe fiecare componentă de culoare.

L_R=imfilter(L_R,h); L_G=imfilter(L_G,h); L_B=imfilter(L_B,h); L(:,:,1)=L_R; L(:,:,2)=L_G; L(:,:,3)=L_B;

Să vizualizăm rezultatul contrastării unei imagini prezentate în spațiul de culoare RGB.

Figure,imshow(L);

Să ne imaginăm aceeași imagine în sistemul de culori HSV și să efectuăm transformări similare.

L_hsv=rgb2hsv(L); L_hsv(:,:,3)=imfilter(L_hsv(:,:,3),h); L=hsv2rgb(L_hsv

Să prezentăm rezultatul transformărilor efectuate.

Figure,imshow(L);

Metode de mascare neclare

Să luăm în considerare o altă clasă de metode - metode de mascare neclară, care sunt, de asemenea, folosite pentru a îmbunătăți calitatea vizuală a imaginilor.

Mai întâi, calculăm și vizualizăm imaginea originală.

L=imread("hestain.bmp"); L=dublu(L)./255; figură, imshow(L);

L_R=L(:,:,1);L_G=L(:,:,2);L_B=L(:,:,3); MEAN_L_R=medie(medie(L_R));MEAN_L_G=medie(medie(L_G));MEAN_L_B=medie(medie(L_B)); a=3; L_R=MEAN_L_R+a.*(L_R-MEAN_L_R); L_G=MEAN_L_G+a.*(L_G-MEAN_L_G); L_B=MEAN_L_B+a.*(L_B-MEAN_L_B); L(:,:,1)=L_R; L(:,:,2)=L_G; L(:,:,3)=L_B;

Să ne imaginăm rezultatul transformării.

Figure,imshow(L);

L_hsv=rgb2hsv(L);

și aplicați metoda de mascare neclară.

MEAN_L_hsv=medie(medie(L_hsv(:,:,3))); L_hsv(:,:,3)=MEAN_L_hsv+a.*(L_hsv(:,:,3)-MEAN_L_hsv); L=hsv2rgb(L_hsv);

Să prezentăm rezultatul transformării efectuate.

Figure,imshow(L);

Tehnica de mascare neclară, care a fost folosită pentru a clarifica imaginile color, poate fi implementată diferit. Să ne uităm la asta mai detaliat.

Ca și în exemplele anterioare, vom demonstra mai întâi cum funcționează metoda atunci când procesăm componente individuale de culoare. Pentru a face acest lucru, luăm în considerare imaginea originală în Zona de lucru Matlab și vizualizați-l.

L=imread("westconcordaerial.bmp"); figură, imshow(L);

MINISTERUL EDUCAȚIEI ȘI ȘTIINȚEI AL FEDERATIEI RUSE

INSTITUTUL DE TEHNOLOGIE

_____________UNIVERSITATEA FEDERALĂ DE SUD din Taganrog________

Facultatea de Electronică și Ingineria Instrumentației (FEP)

Departament sisteme automatizate cercetare științificăși experimente (ASNIiE)

NOTĂ EXPLICATIVĂ

pentru munca de curs

prin disciplina

« Tehnologii computerizateîn fabricarea instrumentelor"

„Prelucrarea datelor într-un mediu de programare grafică laborator VEDERE »

Introducere

Scopul acestui proiect de curs este de a implementa algoritmii și metodele propuși de prelucrare a seturilor de date (imagini digitale) folosind LabVIEW. LabVIEW sunt cele mai vizuale și adesea folosite pentru a rezolva diverse probleme de calcul inginerești și probleme de cercetare.

Procesarea digitală a imaginilor este un exemplu destul de clar și ilustrativ de conversie și analiză a datelor de măsurare. Conversia imaginilor digitale este utilizată pe scară largă în sistemele industriale de viziune artificială, sistemele de măsurare video, sistemele de aplicații de televiziune, televiziunea de difuzare și așa mai departe.

Scopul conversiei imaginilor digitale este de a crea condiții pentru îmbunătățirea percepției imaginii (de exemplu, în diagnosticul medical cu raze X sau cu ultrasunete), formarea unei anumite imagini artistice (în televiziune), evidențierea caracteristicilor informative (în sistemele de recunoaștere a imaginilor, sistemele de măsurare, sisteme de monitorizare), etc. Mai departe.

În acest proiect de curs, astfel de transformări digitale vor fi folosite ca: importarea datelor din fișierul rezultat într-o matrice; inversarea imaginii; contrastul liniar al imaginii originale; construirea de imagini inițiale și contrastate liniare și cumulate; binarizarea imaginii rezultate după contrast liniar cu diferite praguri de binarizare; Mărirea de 2x a unei imagini cu contrast îmbunătățit utilizând extrapolarea de ordinul zero și interpolarea de ordinul întâi pentru a reconstrui pixelii de imagine intermediari; exportarea imaginilor contrastate și restaurate în fișiere bmp.

Este necesar să se facă distincția între procesarea imaginilor destinate percepției vizuale și prelucrarea în dispozitive automate de analiză, unde sarcinile de identificare a caracteristicilor, determinarea coordonatelor exacte curente ale unui obiect și generarea de date privind caracteristicile cantitative vin în prim-plan.

Imaginile studiate reflectă modelele de interacțiune a luminii și a altor radiații electromagnetice cu părțile individuale ale scenei studiate. Modularea fluxului radiant are loc atât în ​​ceea ce privește energia, cât și distribuția spectrală și se realizează ca urmare a interacțiunii radiațiilor cu substanța studiată datorită fenomenelor de absorbție, reflexie, împrăștiere, refracție, polarizare sau interferență. Pe aceste proprietăți se bazează, de regulă, utilizarea prelucrării imaginilor în sistemele automate de analiză pentru a extrage informații cantitative despre obiectele studiate.

Imaginile naturale nu sunt de origine computerizată. ÎN

aproape că nu există ascuțiți tranziții de culoare. Desene pe calculator ca

În plus, orice altele sunt împărțite în două tipuri: raster și vector.

Bitmaps-urile sunt stocate ca matrice dreptunghiulară cu elemente,

determinarea luminozității componentelor de culoare. Imagini vectoriale

reprezintă o succesiune de comenzi pentru construirea lor. Exemplu

comenzi – un cerc cu un centru într-un punct și cu o anumită rază,

texturat cu material asemănător lemnului. Avantajul rasterului

imagini - ușurință de reproducere și realism, dezavantaj -

volum mare ocupat, probleme cu scalarea. În vector

imagini, dimpotrivă, avantajul este volumul mic ocupat,

ușurință de scalare, dar dezavantajul este nevoia de preliminar

procesarea înainte de redare și dificultatea de a crea realiste

imagini. În cele ce urmează vom lua în considerare doar imagini raster ca o matrice dreptunghiulară.

Să luăm în considerare principalele formate utilizate în procesarea computerizată

imagini.

Format alb-negru. Fiecare element al matricei este reprezentat de unul

pic. Daca el egal cu unu, atunci se identifică cu culoarea neagră dacă

egal cu zero – cu alb. Acesta este cel mai simplu format, este folosit la imprimare

ziare, recunoaștere text și semnătură.

Format în tonuri de gri(scara tonurilor de gri). Diferența dintre acest format și

precedentul este că pentru fiecare element al matricei sunt alocate 8

biți (un octet). Acest lucru ne permite să folosim 256 de niveluri de gri.

Dacă elementul matricei este 0, atunci avem culoare alba, cu creşterea

valori ale elementului de până la 255, luminozitatea imaginii scade și dacă

valoarea elementului 255 obținem culoarea neagră. Între 0 și 255

nivelurile vor fi aranjate în culori gri conform regulii: cu cât valoarea este mai aproape de

255, cu atât griul va fi mai închis. Acest format vă permite să obțineți destul

imagini alb-negru de înaltă calitate.

Format multicanal. ÎN în acest caz, elementul de matrice este reprezentat ca un vector cu coordonatele modelului de culoare utilizat.

De obicei, vectorul este tridimensional, deoarece ochiul uman reacționează la trei

diferite componente de culoare. Fiecare componentă vectorială este cel mai adesea

ocupă un octet de memorie.

Format indexat folosit pentru reducerea volumelor

imagini sau pentru utilizare anumite culori. Element de matrice

este un indicator către un tabel de culori. Numărul de culori utilizate este

2K, unde K este numărul de biți de memorie utilizați pentru a stoca elementul

matrici. Culorile din tabelul specificat pot fi codificate cu un număr diferit

biți De exemplu, la 256 moduri de culoare Sunt selectate 256 de adaptoare video

culori din 262.144 posibile, deoarece culorile selectate sunt reprezentate în

Formatul RGB și pentru fiecare componentă de culoare sunt codificate cu șase

În toate etapele acestui proiect de curs, se realizează procesarea

imagini în format alb-negru sau în tonuri de gri.

Pregătirea imaginii originale

Crearea imaginii digitale originale prin fotografie digitală și prelucrare ulterioară în orice editor grafic. Salvarea imaginii rezultate în format bmp, 300x300 pixeli în dimensiune (Fig. 2).

Prelucrarea imaginii prin transformări elementare

Rezultatul procesării în orice punct al cadrului depinde doar de valoarea imaginii de intrare în același punct. Avantajul evident al unor astfel de proceduri este simplitatea lor extremă. Cu toate acestea, multe dintre ele duc la o îmbunătățire subiectivă evidentă a calității vizuale. Aceasta determină atenția acordată procedurilor element cu element. Fără a exagera rolul lor, observăm că de foarte multe ori procesarea element cu element este utilizată ca etapă finală în rezolvarea unei probleme mai complexe de procesare a imaginii. Este adesea util să subliniați și să îmbunătățiți anumite caracteristici, caracteristici și nuanțe ale imaginii observate pentru a îmbunătăți percepția subiectivă a acesteia.

Scopul acestui proiect de curs este implementarea algoritmilor și metodelor propuși de prelucrare a seturilor de date (imagini digitale) folosind mediile MathCAD și LabVIEW, precum și o analiză comparativă a celor două aplicații luate în considerare, indicând avantajele și dezavantajele acestora în raport cu reciproc. Trebuie remarcat faptul că mediile MathCAD și LabVIEW sunt cele mai vizuale și adesea folosite pentru a rezolva diverse probleme de calcul de inginerie și probleme de cercetare.

Procesarea digitală a imaginilor este un exemplu destul de clar și ilustrativ de conversie și analiză a datelor de măsurare. Conversia imaginilor digitale este utilizată pe scară largă în sistemele industriale de viziune artificială, sistemele de măsurare video, sistemele de aplicații de televiziune, televiziunea de difuzare și așa mai departe.

Scopul conversiei imaginilor digitale este de a crea condiții pentru îmbunătățirea percepției imaginii (de exemplu, în diagnosticul medical cu raze X sau cu ultrasunete), formarea unei anumite imagini artistice (în televiziune), evidențierea caracteristicilor informative (în sistemele de recunoaștere a imaginilor, sistemele de măsurare, sisteme de monitorizare), etc. Mai departe.

În acest proiect de curs, astfel de transformări digitale vor fi folosite ca: importarea datelor din fișierul rezultat într-o matrice; inversarea imaginii; contrastul liniar al imaginii originale; construirea de imagini inițiale și contrastate liniare și cumulate; binarizarea imaginii rezultate după contrast liniar cu diferite praguri de binarizare; Mărirea de 2x a unei imagini cu contrast îmbunătățit utilizând extrapolarea de ordinul zero și interpolarea de ordinul întâi pentru a reconstrui pixelii de imagine intermediari; exportarea imaginilor contrastate și restaurate în fișiere bmp.

Este necesar să se facă distincția între procesarea imaginilor destinate percepției vizuale și prelucrarea în dispozitive automate de analiză, unde sarcinile de identificare a caracteristicilor, determinarea coordonatelor exacte curente ale unui obiect și generarea de date privind caracteristicile cantitative vin în prim-plan.

Imaginile studiate reflectă modelele de interacțiune a luminii și a altor radiații electromagnetice cu părțile individuale ale scenei studiate. Modularea fluxului radiant are loc atât în ​​ceea ce privește energia, cât și distribuția spectrală și se realizează ca urmare a interacțiunii radiațiilor cu substanța studiată datorită fenomenelor de absorbție, reflexie, împrăștiere, refracție, polarizare sau interferență. Pe aceste proprietăți se bazează, de regulă, utilizarea prelucrării imaginilor în sistemele automate de analiză pentru a extrage informații cantitative despre obiectele studiate.

Pregătirea imaginii originale

Crearea unei imagini digitale originale prin fotografie digitală și prelucrare ulterioară în editorul Abode Photoshop. Salvarea imaginii rezultate în format bmp, 300x300 pixeli în dimensiune (Fig. 1).

Procesarea imaginilor folosind transformări în funcție de elemente

Rezultatul procesării în orice punct al cadrului depinde doar de valoarea imaginii de intrare în același punct. Avantajul evident al unor astfel de proceduri este simplitatea lor extremă. Cu toate acestea, multe dintre ele duc la o îmbunătățire subiectivă evidentă a calității vizuale. Aceasta determină atenția acordată procedurilor element cu element. Fără a exagera rolul lor, observăm că de foarte multe ori procesarea element cu element este utilizată ca etapă finală în rezolvarea unei probleme mai complexe de procesare a imaginii. Este adesea util să subliniați și să îmbunătățiți anumite caracteristici, caracteristici și nuanțe ale imaginii observate pentru a îmbunătăți percepția subiectivă a acesteia.

Reprezentarea imaginii rezultate sub formă de matrice

Inversarea imaginii

Inversarea imaginii înseamnă obținerea unui negativ din imaginea originală și invers (Fig. 2a, b). Când utilizați formatul de imagine pe opt biți în tonuri de gri, nivelul de luminozitate este codificat în 256 de niveluri (de la 0 la 255). De fapt, conversia albului în negru este efectuată, ținând cont de toate cele 256 de niveluri de codare (Fig. 2).

Contrastul liniar al imaginii

Sarcina de contrast este legată de îmbunătățirea potrivirii intervalului dinamic al imaginii și a ecranului pe care se realizează randarea. În cazul considerat al formatului în tonuri de gri, 1 octet (8 biți) de stocare este alocat pentru codificarea fiecărei mostre de imagine, astfel încât nivelurile pot lua una din 256 de valori. De obicei, domeniul de lucru este 0...255; în acest caz, valoarea 0 corespunde nivelului de negru în timpul vizualizării, iar valoarea 255 corespunde nivelului de alb. Să presupunem că luminozitatea minimă și maximă a imaginii originale sunt egale cu și respectiv. Dacă acești parametri sau unul dintre ei diferă semnificativ de valorile limită ale intervalului de luminozitate, atunci imaginea vizualizată pare nesaturată, inconfortabilă și obositoare de observat.

Vom obține o imagine desaturată (Fig. 3), iar apoi, folosind contrastul liniar, vom îmbunătăți calitatea acesteia (Fig. 3a, b, Fig. 4).

Construirea de histograme de imagine liniare și cumulate

Pentru o imagine digitală în tonuri de gri a cărei scară de gri este în intervalul întreg 0...255, histograma este un tabel cu 256 de numere. Fiecare dintre ele arată numărul de puncte din cadru care au o anumită luminozitate.

Histograma liniară definește o căutare completă a matricei imaginii. Înţeles matrix elements la rândul lor sunt indici ai tabloului histogramei. Când selectați orice element al matricei, unul este adăugat la elementul corespunzător al matricei histogramei. Ca urmare, după o căutare completă a matricei fiecare element de matrice reflectă numărul total de elemente de matrice cu nivelul de luminozitate adecvat (Fig. 4a, 5a, Fig. 5a, b).

Într-o histogramă cumulativă, orice valoare a unui element de matrice este egală cu suma tuturor celor anterioare (Fig. 4b, 5b, Fig. 6a, b).

Binarizarea imaginilor

Transformarea de prag transformă o imagine în tonuri de gri care conține toate nivelurile de luminanță într-o imagine binară cu pixeli de 0 sau 255 de luminanță.

Această operație, numită uneori binarizare sau cuantizare binară, poate fi utilă atunci când contururile obiectelor prezente în imagine sunt importante pentru observator, dar detaliile conținute în obiecte sau în fundal nu prezintă interes (Figura 6a, b).

2x mărire a imaginii

Scalarea imaginii este o sarcină foarte importantă în analiza imaginilor. Această sarcină este indisolubil legată de problema recuperării datelor, deoarece atunci când dimensiunile fizice ale unei imagini cresc, apar întotdeauna pixeli intermediari, a căror valoare este necunoscută. Determinarea nivelurilor de luminozitate a pixelilor noi este principala problemă care se rezolvă. Cu toate acestea, ambele metode propuse funcționează bine numai pentru matrice unidimensionale, așa că mai întâi trebuie să efectuați operația de recuperare a datelor rând cu rând, ignorând rândurile numai cu pixeli noi (toate valorile zero), apoi faceți aceeași operație pentru coloanele din matricea rezultată.

Interpolare de ordinul întâi

Interpolarea de ordinul întâi constă în echivalarea cu un nou pixel a valorii medii a doi pixeli originali adiacenți (Fig. 8a, b, Fig. 8).

Concluzie

În acest curs, au fost luate în considerare două medii software - MathCAD și LabVIEW. Ca obiect de studiu a fost folosită o imagine de opt biți care măsoară 300x300 pixeli. Pe parcursul studiului s-a constatat că calitatea rezultatelor finale și intermediare obținute folosind ambele medii a fost identică. Unul dintre avantajele mediului LabVIEW este claritatea algoritmului de execuție și o interfață intuitivă, clară, ceea ce reprezintă un avantaj semnificativ în comparație cu programul MathCAD. Cu toate acestea, dacă comparați resursele PC consumate necesare pentru a finaliza sarcinile atribuite, puteți vedea că aceiași algoritmi LabVIEW necesită o „mașină” mult mai puternică. Acest lucru este clar vizibil în secțiunile „interpolare” și „extrapolare”. În opinia mea, gama de probleme rezolvate în mediul LabVIEW este mai largă decât cea a mediului MathCAD. Dar acest lucru nu poate fi văzut în cadrul acestui curs. Prin urmare, putem concluziona că MathCAD este programul optim pentru implementarea sarcinii.

Bibliografie

1. Ghid pentru proiectarea cursului: Prelucrarea datelor în Medii MathCADși LabVIEW, Taganrog 2007

Aplicație

Fig. 1

  • Serghei Savenkov

    un fel de recenzie „scurtă”... de parcă s-ar grăbi undeva