Algoritmet e përpunimit të imazhit. Algoritmet bazë të përpunimit të imazhit Përdor algoritme të avancuara të përpunimit të imazhit për të siguruar të sakta

Zhurma dixhitale është një defekt imazhi që ndodhet rastësisht në zona që janë afër madhësisë së pikselit dhe ndryshojnë nga imazhi origjinal në shkëlqim ose ngjyrë. Reduktimi i zhurmës luan një rol të rëndësishëm në transmetimin, përpunimin dhe ngjeshjen e sekuencave dhe imazheve video.

Zhurma e videos mund të ndodhë për disa arsye:

1. Pajisje të papërsosura për kapjen e videove.

2. Kushtet e dobëta të xhirimit - për shembull, xhirimet e fotografive / videove gjatë natës, xhirimet në mot të keq.

3. Ndërhyrja gjatë transmetimit mbi kanalet analoge - ndërhyrje nga burimet e fushave elektromagnetike, zhurma e brendshme e përbërësve aktivë (përforcues) të linjës së transmetimit. Një shembull do të ishte një sinjal televiziv.

4. Pasaktësitë në filtrimin gjatë nxjerrjes së sinjaleve të ndriçimit dhe ndryshimit të ngjyrave nga një sinjal analog i përbërë, etj.

Sasia e zhurmës në një imazh mund të shkojë nga një njollë pothuajse e padukshme në një fotografi dixhitale të marrë në dritë të mirë deri në imazhe astronomike ku zhurma errëson shumicën e informacion i dobishëm, e cila mund të merret vetëm përmes përpunimit të mundimshëm të imazhit.

Ekzistojnë lloje të ndryshme të zhurmës, në varësi të natyrës së shpërndarjes së rastësishme të zhurmës në imazh. Në praktikë, llojet e mëposhtme janë më të zakonshmet:

Zhurma e bardhë Gaussiane

Një nga zhurmat më të zakonshme është zhurma shtesë Gauss, e cila karakterizohet nga shtimi i vlerave me një shpërndarje normale dhe mesatare zero për çdo piksel në një imazh. Termi "shtesë" do të thotë që ky lloj zhurme i shtohet sinjalit të dobishëm. Ndodh kur marrja e sinjalit është e dobët.

Zhurmë dixhitale

Arsyeja për shfaqjen e zhurmës dixhitale shoqërohet më së shpeshti me veçoritë e pajisjeve të përdorura për xhirime - zakonisht me ndjeshmëri të pamjaftueshme të dritës të matricës. Ky lloj zhurme karakterizohet nga zëvendësimi i disa pikseleve në imazh me vlera të një vlere fikse ose të rastësishme. Nëse shkëlqimi i pikave është afërsisht i barabartë, zhurma dixhitale quhet gjithashtu "impuls". Nëse intensiteti i pikave mund të ndryshojë nga e zeza në të bardhë, kjo zhurmë quhet zhurmë e kripës dhe piperit.

Në mënyrë tipike, ky lloj zhurme prek vetëm një numër të vogël pikselësh në një imazh.

Zhurmë e kombinuar

Rastet kur imazhi në vëllim të barabartë është i zhurmshëm me zhurmë Gaussian dhe pulsimet e rastësishme janë shumë më pak të zakonshme. Ky grup quhet zhurmë e kombinuar.

Defektet e skanimit të imazhit

Gjithashtu, efektet e jashtme mund të shfaqen në imazh, të tilla si çarje, gërvishtje, mavijosje. Këto objekte nuk kanë një strukturë homogjene, dhe përcaktimi i formës dhe vendndodhjes së tyre është kryesisht përtej analizës matematikore. Defektet e këtij lloji mund të trajtohen vetëm me përpunimin manual të imazhit, kështu që ato nuk merren parasysh në këtë punë.

Algoritmet e heqjes së zhurmës

Ekzistojnë një numër i madh i algoritmeve për heqjen e zhurmës nga imazhet, dhe ato mund të përdoren jo vetëm nga programe speciale të përpunimit, por edhe nga disa kamera fotografike dhe video. Përkundër kësaj, ende nuk ka një algoritëm universal të filtrimit, pasi kur përpunoni një imazh, gjithmonë ekziston nevoja për të zgjedhur midis shkallës së eliminimit të efekteve të padëshiruara dhe ruajtjes së detajeve të vogla që kanë karakteristika të ngjashme me zhurmën. Për më tepër, një algoritëm që përballon me lehtësi një lloj zhurme mund të prishë imazhin vetëm me një lloj tjetër zhurme.

Le të shqyrtojmë disa nga algoritmet më të njohura të shtypjes së zhurmës së figurës.

Mesatarja mesatare e pikselëve

Ideja më e thjeshtë për heqjen e zhurmës është mesatarja e vlerave të pikselëve në një lagje hapësinore. Meqenëse zhurma ndryshon në mënyrë të pavarur nga piksel në piksel, zhurma e pikselëve fqinjë do të anulojë njëri -tjetrin kur shtohet. Specifikohet një dritare drejtkëndore, e cila mbivendoset në secilën piksel të figurës me radhë. Vlera e pikselit qendror llogaritet bazuar në analizën e të gjithë pikseleve fqinjë që bien brenda zonës së dritares. Prandaj, sa më e madhe të jetë dritarja e marrë, aq më shumë vlerë mesatare do të merret në fund, gjë që çon në një efekt të fortë mjegullimi.

Në versionin më të thjeshtë, analiza e pikselëve fqinjë është gjetja e mesatares së tyre aritmetike. Për të zvogëluar ndikimin e pikselëve që nuk i përkasin të njëjtës zonë me atë në shqyrtim (për shembull, një skicë e errët në një sfond të lehtë), mund të futni një prag të caktuar numerik dhe të merrni parasysh kur llogaritni vetëm ata fqinjë diferenca e të cilëve nga pikseli qendror nuk e kalon këtë prag. Sa më e lartë vlera e pragut, aq më e fortë do të jetë mesatarja. Opsioni i konsideruar mund të komplikohet duke futur koeficientët e peshës për çdo piksel fqinj në varësi të distancës së tyre në qendër të zonës së konsideruar.

Kjo metodë mund të aplikohet edhe në domenin kohor, mesatarisht çdo piksel mbi kornizat ngjitur të transmetimit të videos (çdo piksel do të mesatarizohet mbi piksele të vendosura në të njëjtin pozicion në kornizat ngjitur).

Ky algoritëm është shumë i thjeshtë, por nuk jep një rezultat të mirë, në të njëjtën kohë çon në një mjegullim të fortë të detajeve të figurës.

Filtri Gaussian

Ka një parim të funksionimit të ngjashëm me metodën e mëparshme dhe gjithashtu i përket numrit të filtrave zbutës. Sidoqoftë, zvogëlimi i zhurmës duke përdorur një filtër mesatar mesatar ka një pengesë të rëndësishme: të gjithë fqinjët e pikselit të përpunuar kanë të njëjtin efekt në rezultat, pavarësisht nga distanca e tyre ndaj tij. Filtri Gaussian gjithashtu mesatarizon pikselin qendror dhe fqinjët e tij në një zonë të caktuar, vetëm kjo ndodh sipas një ligji të caktuar, i cili përcaktohet nga funksioni Gaussian.

Aty ku parametri y vendos sasinë e turbullimit dhe parametri A siguron normalizim. Si rezultat, pikseli qendror i zonës së konsideruar do të ketë vlera më e madhe që korrespondon me kulmin e shpërndarjes së Gausit. Vlerat e elementeve të mbetur do të kenë gjithnjë e më pak ndikim ndërsa distanca nga qendra rritet.

Filtri i matricës i llogaritur sipas formulës së treguar quhet Gaussian; sa më e madhe të jetë madhësia e tij, aq më e fortë është turbullimi (me një y fikse). Meqenëse ky filtër është i ndashëm, ai mund të përfaqësohet si:

Prandaj rrjedh se konvolucioni mund të kryhet në mënyrë sekuenciale nga rreshtat dhe kolonat, gjë që çon në një përshpejtim domethënës të metodës për madhësi të mëdha filtri.

Algoritmi 2Dcleaner

Zëvendëson çdo piksel në figurë me mesataren e pikselëve fqinjë të marrë në një zonë të kufizuar nga një rreze e caktuar. Në këtë rast, jo të gjitha pikat brenda rrezes merren parasysh, por vetëm ato vlera e të cilave ndryshon nga pikseli qendror me jo më shumë se një vlerë (pragu) të paracaktuar. Kjo bën që zonat me ngjyrë të njëtrajtshme të jenë të paqarta më shumë sesa skajet e mprehta të objekteve. Kjo zvogëlon zhurmën e nivelit të ulët në imazh duke ruajtur të paprekur detajet e imëta.

Filtrimi mesatar

Algoritmet lineare rezultojnë të jenë shumë efektive në shtypjen e zhurmës Gaussiane, kur pikselët fqinjë, edhe pse kanë një përhapje të caktuar të vlerave, mbeten ende brenda një vlere mesatare të caktuar karakteristike të rajonit të cilit i përkasin. Sidoqoftë, ndonjëherë ju duhet të merreni me imazhe të shtrembëruara nga llojet e tjera të ndërhyrjes. Një shembull i një ndërhyrje të tillë është zhurma e impulsit, e cila manifestohet në prani të pikave të shpërndara rastësisht të shkëlqimit të rastit në imazh. Mesatarja në këtë rast "njollos" çdo pikë të tillë në piksele fqinje, duke çuar në një përkeqësim të cilësisë së figurës.

Mënyra standarde për të shtypur zhurmën e impulsit është filtrimi mesatar. Kjo teknikë jo-lineare e përpunimit të imazhit eliminon elementët e jashtëm, por, ndryshe nga algoritmet mesatare lineare, i lë sekuencat monotonike të pikselëve të pandryshuara. Për shkak të kësaj, filtrat mesatarë janë në gjendje të ruajnë pa shtrembërim konturet e objekteve dhe ndryshimet midis zonave me shkëlqim të ndryshëm, duke shtypur në mënyrë efektive zhurmën e pakorrelacionuar dhe detajet e vogla.

Parimi i filtrimit: setshtë vendosur një dritare e caktuar me madhësi tek, e cila mbivendoset në mënyrë sekuenciale në secilën piksel të figurës. Ndër të gjitha pikselët brenda zonës së konsideruar, përfshirë atë qendrore, kërkohet vlera mesatare, e cila përfundimisht i caktohet pikselit qendror të zonës. Në këtë rast, mesatarja nënkupton elementin mesatar të grupit të vlerave të pikselave të renditura që i përkasin zonës. Madhësia e dritares tek është zgjedhur pikërisht për të siguruar ekzistencën e pikselit mesatar.

Filtershtë e mundur të përdoret një filtër mesatar për të shtypur zhurmën e bardhë Gaussian në imazh. Sidoqoftë, studimi i shtypjes së zhurmës duke përdorur filtrimin mesatar tregon se efektiviteti i tij në zgjidhjen e këtij problemi është më i ulët se ai i filtrimit linear.

Filtrimi mesatar nuk është pa disavantazh i natyrshëm në shumicën e filtrave të anulimit të zhurmës - rritja e madhësisë së maskës për të përmirësuar shkallën e shtypjes së zhurmës çon në një rënie të qartësisë së figurës dhe mjegullimin e kontureve të saj. Sidoqoftë, është e mundur të minimizohen efektet negative duke aplikuar filtrimin mesatar me një madhësi maskë dinamike (filtrim mesatar shtesë). Parimi i tij mbetet i njëjtë, vetëm madhësia e dritares rrëshqitëse të filtrimit mund të ndryshojë në varësi të shkëlqimit të pikselave fqinjë.

Mprehja e një imazhi

Pothuajse të gjithë algoritmet për shtypjen e zhurmës në imazh çojnë në mjegullimin e tij, si rezultat, detajet e vogla humbasin dhe perceptimi i figurës bëhet i vështirë. Filtri i mprehjes së figurës mund të kompensojë pjesërisht këtë efekt negativ dhe të rivendosë kontrastin e humbur të konturit dhe kalimet e ngjyrave. Mprehtësia gjithashtu mund të varet nga shumë faktorë të tjerë - nga cilësia e lenteve, nga hapja e përdorur, nga trashësia e filtrit anti -moire të vendosur në matricën e shumicës kamera dixhitale turbullimin e imazhit në shkallë të ndryshme. Gjithashtu, mprehtësia e imazheve shpesh duhet të rritet pas zvogëlimit të madhësisë së tyre, sepse kjo në mënyrë të pashmangshme humbet një pjesë të informacionit dhe me të qartësinë e kontureve.

Maskimi i paqartë është një teknikë që lejon duke rritur kontrastin e kalimeve midis toneve të një imazhi për të përmirësuar perceptimin e tij vizual për shkak të iluzionit të mprehjes. Në fakt, mprehtësia mbetet në të njëjtin nivel, sepse, në parim, është e pamundur të rivendosësh detajet e humbura të figurës, por përmirësimi i kontrastit midis zonave me shkëlqim të ndryshëm çon në faktin se imazhi perceptohet si më i qartë.

Figura 5.1 - Ilustrim i konceptit të "mprehtësisë së konturit"

Mprehtësia e figurës varet nga madhësia e ndryshimit në shkëlqim midis zonave (W) që formojnë konturet e tij, dhe nga mprehtësia e ndryshimit në këtë ndryshim (H).

Teknika e maskimit të mprehtë u përdor për herë të parë për përpunimin e fotografive të filmit. Metoda e përshtatur për përpunimin dixhital të imazhit ndryshon pak nga ajo origjinale: e ashtuquajtura "maskë jo e mprehtë" zbritet nga imazhi - kopja e tij e paqartë dhe e përmbysur. Rezultati është një imazh i ri që përmban vetëm skicat e dritës të origjinalit. Skicat e errëta mund të merren thjesht duke përmbysur rezultatin.

Nëse në të ardhmen zbritni skicat e errëta nga imazhi origjinal dhe shtoni ato të lehta, ju merrni një rritje të konsiderueshme të kontrastit në çdo ndryshim të shkëlqimit.

Ju mund të përdorni ndonjë nga filtrat e anulimit të zhurmës, për shembull, filtrin Gaussian, për të mjegulluar origjinalin në mënyrë që të merrni një "maskë të mprehtë".

Figura 5.2 - Rezultati i aplikimit të maskimit të mprehtë

Operacioni i konvolucionit përdoret mjaft shpesh në përpunimin e imazhit. Përveç mprehjes, përdoret për mjegullimin, rritjen e shkëlqimit, ndriçimin, etj.

Konvolucioni i imazhit është operacioni i llogaritjes së një vlere të re të një pikseli të caktuar, e cila merr parasysh vlerat e pikselëve fqinjë përreth. Në një kuptim të përgjithshëm, ky term nënkupton disa veprime që kryhen në secilën pjesë të figurës.

Elementi kryesor i konvolucionit është maska ​​e konvolucionit - është një matricë (me madhësi arbitrare dhe raport aspektesh). Kjo maskë shpesh quhet filtër, bërthamë, model ose dritare. Vlerat e elementeve të matricës zakonisht quhen koeficientë.

Më shpesh, një matricë katrore përdoret si një bërthamë konvolucioni.

Përpunimi i imazhit nga operacioni i konvolucionit është si më poshtë: Elementi qendror i matricës, i quajtur "spirancë", mbivendoset në mënyrë sekuenciale në secilën piksel të figurës. Vlera e re e pikselit të konsideruar llogaritet si shuma e vlerave të pikselave fqinjë, shumëzuar me koeficientët përkatës të maskës së konvolucionit.

Efekti që rezulton varet nga kerneli i konvolucionit të zgjedhur.

Thelbi i filtrit për rritjen e kontrastit ka një vlerë më të madhe se 1 në pikën (0, 0), me shumën totale të të gjitha vlerave të barabarta me 1. Për shembull, filtri për rritjen e kontrastit është filtra me kernelë të specifikuar nga matricat:

Efekti i rritjes së kontrastit arrihet me faktin se filtri thekson ndryshimin midis intensiteteve të pikselave fqinjë, duke hequr këto intensitete nga njëri -tjetri. Ky efekt do të jetë sa më i fortë, aq më e madhe është vlera e termit qendror të bërthamës.

Filtrimi linear i kontrastit i bazuar në konvolucion mund të rezultojë në halo të dukshme me ngjyra rreth skajeve të imazhit.

Kompensimi i Diferencës së Ndriçimit

Problemet e ndriçimit të figurës më së shpeshti shfaqen kur dritaret, dielli ose burime të tjera të parregulluara të dritës hyjnë në kornizë.

Kjo situatë quhet "dritë e tepërt" dhe çon në faktin se, për shkak të ndriçimit shumë të ndritshëm të mbështetësit, detajet dhe ngjyra e objekteve të vendosura në sfondin e objekteve tepër të ndritshme humbasin, duke u bërë të vështira për t'u dalluar.

Situata e mungesës së dritës është gjithashtu e zakonshme. Mund të shkaktohet nga xhirimet në dhoma të errëta me ndriçim të dobët, si dhe diapazoni i kufizuar i ndjeshmërisë së pajisjeve video.

Algoritmi Retinex me një shkallë të vetme

Kur përpiqeni të ndriçoni imazhin duke rritur ndriçimin e secilit piksel me një vlerë fikse, zonat fillestare të ndritshme mund të duken plotësisht të fryra.

Në raste të tilla, kërkohet të aplikohet korrigjimi "i zgjuar" i ngjyrave, i cili do të ishte në gjendje të barazonte ndriçimin në imazh, duke përpunuar zonat e dritës në një masë më të vogël se ato të errëta.

Këto kërkesa plotësohen nga algoritmi Single Scale Retinex, bazuar në parimet e dizajnit të receptorit të retinës. Qëllimi kryesor i algoritmit është të ndajë imazhin në përbërës që janë përgjegjës për ndriçimin dhe detajet veç e veç. Meqenëse problemet në imazh lidhen me ndriçimin e skenës, atëherë, pasi të keni marrë një komponent përgjegjës për ndriçimin, bëhet e mundur ta transformoni atë veçmas nga imazhi, duke rritur kështu ndjeshëm cilësinë e tij.

Çdo imazh mund të përfaqësohet si produkt i një sinjali me frekuencë të lartë (reflektim - R) dhe një sinjal me frekuencë të ulët (ndriçim - I).

S (x, y) = I (x, y) * R (x, y) (5.6)


Figura 5.3 - Paraqitja e imazhit në algoritmin Retinex.

Një imazh i përafërt i ndriçimit mund të merret duke përdorur filtrim me kalim të ulët - me fjalë të tjera, thjesht mjegullimin e figurës origjinale, për shembull, me një filtër Gaussian.

ku G - filtri Gaussian

Meqenëse logaritmi i sinjalit nuk ndryshon frekuencën, dhe për shkak të vetive të funksionit logaritmik (logaritmi i produktit është i barabartë me shumën e logaritmave të faktorëve), problemi i ndarjes së produktit të sinjaleve mund të jetë thjeshtuar në problemin e ndarjes së shumës së sinjaleve.

Pas kësaj, mbetet vetëm për të marrë një eksponent nga sinjali i marrë në mënyrë që ta ktheni atë në shkallën e amplitudës origjinale. Komponenti që rezulton me frekuencë të lartë mund t'i shtohet imazhit origjinal të paqartë dhe të ndriçuar, i cili vepron si një model i ri i dritës.

Efekti i marrë nga barazimi i ndriçimit mund të jetë shumë i fortë (zonat e errëta do të bëhen të njëjta në shkëlqim si ato të lehta). Për të zvogëluar efektin, thjesht mund të përzieni imazhin e përpunuar me origjinalin në një proporcion të caktuar.

Korrigjimi i gamës

Qëllimi fillestar i korrigjimit gama është të kompensojë dallimet në ngjyrat e shfaqura në pajisje të ndryshme dalëse në mënyrë që imazhi të duket i njëjtë kur shihet në monitorë të ndryshëm. Për shkak të pamjes jo-lineare të funksionit të fuqisë së aplikuar, korrigjimi gama gjithashtu ju lejon të rrisni kontrastin e zonave të errëta të figurës, pa ekspozuar tepër detaje të ndritshme dhe pa humbur dallueshmërinë e skajeve të objekteve në imazh.

Informacioni në lidhje me shkëlqimin në formë analoge në televizion, si dhe në formën dixhitale në formatet më të zakonshme grafike, ruhet në një shkallë jo-lineare. Shkëlqimi i një pikseli në ekranin e monitorit mund të konsiderohet proporcional

ku unë është shkëlqimi i pikselit në ekranin e ekranit (ose shkëlqimi i përbërësve të ngjyrave, të kuq, jeshil dhe blu veç e veç),

V është vlera numerike e ngjyrës nga 0 në 1, dhe

d - tregues i korrigjimit të gama.

Nëse r është më pak se 1, atëherë karakteristikat e transmetimit të niveleve do të jenë konveks dhe imazhi që rezulton do të jetë më i lehtë se origjinali. Nëse r është më e madhe se 1, atëherë karakteristika e transmetimit të nivelit do të jetë konkave dhe imazhi që rezulton do të jetë më i errët se origjinali.

Si parazgjedhje, parametri r është i barabartë me 1, i cili korrespondon me karakteristikat lineare të transmetimit të niveleve dhe mungesën e korrigjimit gama.

Zgjedhja e kontureve të një imazhi

Analiza e konturit mund të përdoret për të përshkruar, njohur, krahasuar dhe kërkuar objekte grafike të përfaqësuara si skica. Meqenëse përdorimi i kontureve përjashton pikat e brendshme të objektit nga shqyrtimi, kjo mund të zvogëlojë ndjeshëm kompleksitetin llogaritës dhe algoritmik të këtyre operacioneve.

Figura 5.4 - Ndryshimi në formën e funksionit të fuqisë në varësi të parametrit r

Një skicë objekti është një listë pikash që përfaqësojnë një kurbë të caktuar në imazh që ndan objektin nga sfondi. Më shpesh, një kërcim në shkëlqimin ose ngjyrën vërehet përgjatë konturit.

Për të thjeshtuar kërkimin e kontureve në figurë, mund ta para-binarizoni atë.

Filtri Sobel zgjedh kufijtë e objekteve bazuar në shkëlqimin e tyre. Meqenëse përbërësi i ngjyrave nuk merret parasysh, imazhet duhet së pari të konvertohen në shkallë gri.

Filtri Sobel aplikohet në mënyrë sekuenciale në secilën piksel, duke llogaritur vlerën e përafërt të gradientit të shkëlqimit të tij. Gradienti për secilën pikë të figurës (funksioni i shkëlqimit) është një vektor dy-dimensional, përbërësit e të cilit janë derivate horizontale dhe vertikale të shkëlqimit të figurës.

Në secilën pikë të figurës, vektori i gradientit është i orientuar në drejtim të rritjes më të madhe të shkëlqimit, dhe gjatësia e tij korrespondon me madhësinë e ndryshimit të shkëlqimit. Këto të dhëna na lejojnë të bëjmë një supozim në lidhje me mundësinë e gjetjes së pikës në shqyrtim në kufirin e një objekti të caktuar, si dhe në lidhje me orientimin e këtij kufiri.

Kjo rezultati i funksionimit të operatorit Sobel në një pikë në rajonin e shkëlqimit të vazhdueshëm do të jetë një vektor zero, dhe në një pikë të shtrirë në kufirin e rajoneve me shkëlqim të ndryshëm - një vektor që kalon kufirin në drejtim të rritjes së shkëlqimit.

Për të llogaritur vlerat e përafërta të derivateve në secilën pikë të figurës, filtri Sobel përdor konvolucion me një matricë 3 × 3.

Koeficientët e matricës Sobel:

Vlera përfundimtare e gradientit llogaritet me përafrim me formulën:

| G | = | Gx | + | Gy |

Detektor kufitar Kenny

Megjithëse puna e Kenny u krye në ditët e para të vizionit kompjuterik (1986), detektori i kufirit Kenny është ende një nga zbuluesit më të mirë. Metoda e Kenny është një algoritëm me shumë faza dhe përfshin hapat e mëposhtëm:

1. Pastrimi i imazhit nga zhurma dhe detajet e panevojshme.

2. Pastrimi i imazhit nga zhurma dhe detajet e panevojshme.

3. Kërkoni për gradientet e figurës, për shembull, nga operatori Sobel.

4. Shtypja e jo-maksimave. Vetëm lartësitë lokale janë shënuar si kufij.

5. Filtrimi i pragut të dyfishtë. Kufijtë e mundshëm përcaktohen nga pragjet.

6. Gjurmimi i rrugës (lidhni skajet me shtigjet)

Meqenëse zhurma më e vogël në imazh mund të shkelë integritetin e kontureve të saj, rekomandohet të filtroni imazhin me çdo metodë të zvogëlimit të zhurmës para fillimit të kërkimit. Për shkak të shpejtësisë së lartë të funksionimit dhe lehtësisë së zbatimit, filtri Gaussian përdoret më shpesh. Skajet e një imazhi mund të jenë në drejtime të ndryshme, kështu që algoritmi i Kenny përdor katër filtra për të zbuluar skajet horizontale, vertikale dhe diagonale. Duke përdorur operatorin e zbulimit të kufirit (për shembull, operatori Sobel), merret vlera për derivatin e parë në drejtimin horizontal (Gy) dhe drejtimin vertikal (Gx). Nga ky gradient, ju mund të merrni këndin e drejtimit të kufirit:

Këndi i drejtimit të kufirit është i rrumbullakosur në një nga katër qoshet që përfaqësojnë vertikale, horizontale dhe dy diagonale (për shembull, 0, 45, 90 dhe 135 gradë). Vetëm ato piksele në të cilat arrihet maksimumi i gradientit lokal në drejtim të vektorit të gradientit deklarohen si kufij. Vlera e drejtimit duhet të jetë shumëfish i 45 °. Pas shtypjes së jo-maksimaleve, skajet bëhen më të sakta dhe më të holla.

Në hapin tjetër, duke filtruar pragun për secilën piksel të konsideruar, përcaktohet nëse i përket kufijve të figurës. Sa më i lartë pragu, aq më uniformë do të jenë konturet e gjetura; megjithatë, skajet e dobëta mund të injorohen. Nga ana tjetër, ulja e pragut rrit ndjeshmërinë e algoritmit ndaj zhurmës. Përzgjedhja e kufirit të Kenny përdor dy pragje filtrimi: nëse vlera e pikselit është më e lartë se kufiri i sipërm, ajo merr vlerën maksimale (kufiri konsiderohet i vlefshëm), nëse më i ulët, pikseli është i shtypur, pika me një vlerë që bie brenda intervalit midis pragjet marrin një vlerë mesatare fikse (ato do të përpunohen në hapin tjetër).

Hapi i fundit në përpunimin e imazhit është lidhja e skajeve individuale në konturet uniforme. Pikselët që morën mesataren në hapin e mëparshëm ose shtypen (nëse nuk prekin asnjë nga skajet e zbuluara tashmë) ose janë ngjitur në konturin përkatës.

Segmentimi

Shumica e imazheve të marra nga pajisjet fotografike dhe video janë raster, domethënë ato përbëhen nga pika me ngjyra të vendosura në një rrjet drejtkëndëshe. Sidoqoftë, njerëzit e perceptojnë botën përreth tyre si një koleksion i objekteve të tëra, dhe jo një matricë pikash. Truri i njeriut është në gjendje të kombinojë detaje të ndryshme të një imazhi në zona homogjene, duke e ndarë në mënyrë të pandërgjegjshme në objekte. Ky proces quhet segmentim, dhe mund të zbatohet në mënyrë programore kur zgjidhet problemi i analizës së imazhit kompjuterik dhe njohjes së modelit. Segmentimi kryhet në fazat e hershme të analizës dhe cilësia e ekzekutimit të tij mund të ketë një ndikim të fortë në shpejtësinë dhe saktësinë e tij.

Metodat e segmentimit mund të ndahen në dy klasa: automatike - që nuk kërkojnë ndërveprim të përdoruesit dhe ndërvepruese - duke përdorur të dhënat e përdoruesit direkt në proces.

Në rastin e parë, nuk përdoret asnjë informacion a priori për vetitë e zonave, por disa kushte vendosen në ndarjen e vetë imazhit (për shembull, të gjitha zonat duhet të jenë uniforme në ngjyrë dhe cilësi). Meqenëse ky formulim i problemit të segmentimit nuk përdor informacion a priori në lidhje me objektet e përshkruara, metodat e këtij grupi janë universale dhe të zbatueshme për çdo imazh.

Për një vlerësim të përafërt të cilësisë së një metode në një problem specifik, zakonisht regjistrohen disa veti që një segmentim i mirë duhet të ketë:

§ uniformiteti i rajoneve (uniformiteti i ngjyrës ose strukturës);

§ pabarazia e rajoneve fqinje;

§ butësia e kufirit të rajonit;

Një numër i vogël i "vrimave" të vogla brenda rajoneve;

Segmentimi i pragut

Pragu është metoda më e thjeshtë e fokusuar në përpunimin e imazhit, zona individuale homogjene të së cilës ndryshojnë në shkëlqimin mesatar. Sidoqoftë, nëse imazhi ndriçohet në mënyrë të pabarabartë, disa prej objekteve mund të përkojnë në intensitet me sfondin, gjë që do ta bëjë segmentimin e pragut joefektiv.

Lloji më i thjeshtë dhe në të njëjtën kohë i përdorur shpesh i segmentimit të pragut është segmentimi binar, kur vetëm dy lloje të zonave homogjene dallohen në imazh.

Në këtë rast, transformimi i secilës pikë të imazhit burimor në dalje kryhet sipas rregullit:

ku x0 është parametri i vetëm i përpunimit i quajtur pragu. Nivelet e shkëlqimit të daljes y0 dhe y1 mund të jenë arbitrare, ato kryejnë vetëm funksionet e etiketave, me ndihmën e të cilave shënohet harta që rezulton - duke i caktuar pikat e saj klasave K1 ose K2, respektivisht. Nëse produkti që rezulton është duke u përgatitur për perceptimin vizual, atëherë shpesh vlerat e tyre korrespondojnë me nivelet e zezë dhe të bardhë. Nëse ka më shumë se dy klasa, atëherë gjatë pragut, duhet të vendoset një familje pragje që ndan shkëlqimin e klasave të ndryshme nga njëra -tjetra.

Segmentimi i pragut është i mirë për përzgjedhjen e një numri të vogël të objekteve që nuk kryqëzohen në një imazh që kanë një strukturë homogjene dhe dallohen ashpër nga sfondi. Me një rritje të shkallës së heterogjenitetit të figurës, dhe kështu numrin e segmenteve dhe kompleksitetin e tyre, ky lloj segmentimi bëhet i paefektshëm.

Segmentimi bazuar në ndarjen e grafikut

Metodat e teorisë së grafikut janë një nga fushat më aktive në zhvillimin e segmentimit të imazhit.

Ideja e përgjithshme e metodave të këtij grupi është si më poshtë. Imazhi paraqitet në formën e një grafi të ponderuar, me kulme në pikat e figurës. Pesha e një buze të një grafi pasqyron ngjashmërinë e pikave në një kuptim (distanca midis pikave sipas disa metrikave). Ndarja e imazhit modelohet nga prerjet e grafikut.

Zakonisht, në metodat e teorisë së grafikut, futet funksionale e "kostos" së prerjes, e cila pasqyron cilësinë e segmentimit të marrë. Pra, problemi i ndarjes së imazhit në zona homogjene reduktohet në problemin e optimizimit të gjetjes së një shkurtimi të kostos minimale në grafik. Kjo qasje lejon, përveç uniformitetit të ngjyrës dhe strukturës së segmenteve, të kontrollojë formën e segmenteve, madhësinë e tyre, kompleksitetin e kufijve, etj.

Për të gjetur uljen e kostos minimale, përdoren metoda të ndryshme: algoritme lakmitare (në çdo hap një skaj i tillë zgjidhet në mënyrë që kostoja totale e prerjes të jetë minimale), metoda programimi dinamike (garantohet që duke zgjedhur skajin optimal në çdo hap, do të përfundojmë me rrugën optimale), algoritmin Dijkstra, etj.

Interpolimi

Në grafikat kompjuterike, metoda e interpolimit përdoret shpesh në procesin e ndryshimit të shkallës së imazheve. Duke ndryshuar numrin e pikselave në një imazh, interpolimi ndihmon për të shmangur pikselimin e tepërt të figurës kur ajo zmadhohet ose humbjen e detajeve të rëndësishme kur zvogëlohet.

Gjatë procesit të interpolimit, pika shtesë futen midis pikselëve të figurës, toni dhe ngjyra e vlerësuar e të cilave llogariten duke përdorur një algoritëm të veçantë bazuar në analizën e të dhënave të disponueshme për zonat fqinje. Fatkeqësisht, meqenëse çdo interpolim është vetëm një përafrim, imazhi do të humbasë pa ndryshim cilësinë sa herë që interpolohet.

Interpolimi i Fqinjit më të afërt

Ky algoritëm është lloji më i thjeshtë i interpolimit, thjesht duke rritur çdo piksel të imazhit në shkallën e kërkuar. Kërkon kohën më të vogël të përpunimit, por jep rezultatet më të këqija.

Interpolimi bilinear

Ky lloj interpolimi kryhet për secilën koordinatë të rrjetit dy-dimensional. Në këtë rast, imazhi konsiderohet si një sipërfaqe, ngjyra është dimensioni i tretë. Nëse imazhi është me ngjyra, atëherë interpolimi kryhet veçmas për tre ngjyra. Për secilën pikë të panjohur në imazhin e ri, interpolimi bilinear merr parasysh një katror prej katër pikselesh të njohura përreth. Mesatarja e ponderuar e këtyre katër pikselave përdoret si vlerë e interpoluar. Si rezultat, imazhet duken dukshëm më të lëmuara sesa rezultati i metodës së fqinjit më të afërt.

Interpolimi bilinear funksionon mirë në faktorë të mëdhenj të shkallëzimit të numrave të plotë, por i mjegullon skajet e mprehta të figurës mjaft shumë.

Interpolimi bicubik shkon një hap më tej se interpolimi bilinear, duke marrë parasysh një grup prej 4x4 piksele përreth - vetëm 16. Meqenëse ato janë në distanca të ndryshme nga pikseli i panjohur, pikselet më të afërt peshohen më shumë në llogaritjen. Ndërhyrja bicubike prodhon imazhe dukshëm më të mprehta se dy metodat e mëparshme, dhe është padyshim optimale përsa i përket kohës së përpunimit dhe cilësisë së prodhimit. Për këtë arsye, është bërë standard për shumë programe të redaktimit të imazhit (përfshirë Adobe Photoshop), drejtuesit e printerit dhe interpolimin e integruar të kamerës.

Imazhi i shkallëzuar mund të bëhet shumë më pak i mprehtë. Algoritmet e interpolimit që ruajnë mprehtësinë më mirë janë gjithashtu më të ndjeshëm ndaj moiré, ndërsa ata që eliminojnë moiré kanë tendencë të prodhojnë një rezultat më të butë. Fatkeqësisht, kjo shkëmbim i shkallëzuar nuk mund të shmanget.

Nje nga mënyrat më të mira për ta luftuar këtë - aplikoni një maskë të mprehtë menjëherë pas shkallëzimit, edhe nëse origjinali tashmë është mprehur.

5.2 Arsyetimi për zgjedhjen e algoritmeve të përdorura në nënsistem

Kërkesa kryesore për paketën e softuerit të zhvilluar ishte të minimizonte vonesën e riprodhimit të një transmetimi video gjatë parapërpunimit të tij në një grup kompjuterik. Për më tepër, xhirimi mund të bëhet në çdo kusht, që do të thotë se në një kohë të shkurtër ishte e nevojshme të zbatohej një numër i madh i filtrave të thjeshtë për të neutralizuar efektet e ndryshme negative. Për më tepër, ishte e nevojshme që në një kohë të shkurtër të studioni një numër të madh faktorësh negativë që shfaqen në video dhe të zbatoni filtra të thjeshtë për t'i neutralizuar ato. Algoritmet që plotësojnë kërkesat e paraqitura duhet të jenë të disponueshme, të optimizuara mirë, shumë të besueshme dhe, në të njëjtën kohë, të lehta për t'u zbatuar. Funksionet e bibliotekës OpenCV kanë veti të tilla, prandaj, kur zgjidhni metoda specifike për zbatimin e filtrave për përpunimin e një transmetimi video, përparësi iu dha algoritmeve të përfshira në këtë bibliotekë në një formë ose në një tjetër.

Të gjithë algoritmet e konsideruar në pjesën teorike të punës përfundimtare kualifikuese u zbatuan në një formë testimi për të krahasuar karakteristikat e tyre në praktikë. Në veçanti, përparësi iu dha një kompromisi midis shpejtësisë së përpunimit të një kornize të transmetimit video dhe cilësisë së rezultatit të marrë.

Si rezultat, algoritmet e mëposhtëm u zgjodhën për të zbatuar filtra për përpunimin e një transmetimi video në një grup informatik:

1. Për të hequr zhurmën "e bardhë shtesë", u zgjodh algoritmi Gaussian. Si metoda më e zakonshme e zvogëlimit të zhurmës, është e optimizuar shumë mirë dhe, në përputhje me rrethanat, ka një shpejtësi të lartë funksionimi.

2. Për të hequr zhurmën "e bardhë shtesë", u zgjodh algoritmi Gaussian. Si metoda më e zakonshme e zvogëlimit të zhurmës, është e optimizuar shumë mirë dhe për këtë arsye ka një shpejtësi të lartë operimi.

3. Për të hequr zhurmën "impuls", u zgjodh filtrimi mesatar. Kjo metodë është gjithashtu e optimizuar mirë dhe është krijuar posaçërisht për të eleminuar impulsin dhe zhurmën e kripës dhe piperit.

4. Konvolucioni u zgjodh për të rritur mprehtësinë e figurës, meqenëse funksionon shumë më shpejt sesa maskimi i mprehtë, në të njëjtën kohë duke dhënë rezultate të pranueshme.

5. Biblioteka OpenCV nuk përmban algoritme të korrigjimit të ngjyrave - prandaj u vendos që të zbatohet algoritmi më i përhapur dhe i mirë -dokumentuar Single Scale Retinex. Kjo metodë është shumë efikase, por kërkon optimizim për të shpejtuar shpejtësinë e punës.

6. Algoritmi i Kenny -t u zgjodh si një metodë për nxjerrjen e kontureve, meqenëse jep rezultate më të mira sesa filtri Sobel.

7. Algoritmi i segmentimit piramidal i paraqitur në bibliotekën OpenCV punon jashtëzakonisht ngadalë, kështu që u vendos që të përdoret algoritmi i segmentimit të diskutuar më parë në grafikë.

8. interpolimi - metoda e interpolimit bicubik u zgjodh si kompromisi më i arsyeshëm midis shpejtësisë së punës dhe cilësisë së rezultatit.

Instalimi dhe konfigurimi i softverit të përdorur.

Grupi llogaritës i përdorur ishte duke ekzekutuar GNU Linux (Ubuntu)

Pas instalimit sistemi operativ ju duhet të instaloni disa biblioteka që mbështesin leximin dhe shkrimin e skedarëve të imazheve, vizatimin në ekran, punën me video, etj.

Instalimi i CMake

Projekti është ndërtuar duke përdorur CMake (kërkohet versioni 2.6 ose më i lartë). Mund ta instaloni me komandën:

apt-get install cmake

Ju gjithashtu mund të keni nevojë për bibliotekat e mëposhtme:

build-thelbësore libjpeg62-dev libtiff4-dev libjasper-dev libopenexr-dev libtbb-dev libeigen2-dev libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev

Instalimi i ffmpeg

Që opencv të përpunojë skedarët video në mënyrë korrekte, duhet të instaloni bibliotekën ffmpeg. Kjo bëhet me komandat e mëposhtme:

1) Shkarkimi i kodeve burimore të bibliotekës

wget http://ffmpeg.org/releases/ffmpeg-0.7-rc1.tar.gz

2) Shpaketimi i arkivit me kodet burimore

tar -xvzf ffmpeg-0.7-rc1.tar.gz

3) Konfigurimi i bibliotekës

konfiguroni --enable-gpl --enable-version3 --enable-nonfree --enable-postproc

Enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb

Enable-libtheora --enable-libvorbis --enable-libxvid --enable-x11grab

Enable-swscale --enable-shared

4) Ndërtimi dhe instalimi i bibliotekës

instalimi i GTK

Shfaqja e dritareve OpenCV kërkon bibliotekë GTK + 2.x ose më të lartë, përfshirë skedarët e kokës (libgtk2.0-dev)

apt-get install libgtk2.0-dev

Instalimi i Opencv

Pas instalimit të të gjitha bibliotekave të lidhura, instalimi opencv2.2 kryhet me komandat e mëposhtme:

1) Shkarkimi i kodeve burimore të bibliotekës OpenCV

http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.2/OpenCV-2.2.0.tar.bz2

2) Shpaketimi i arkivit me kodet burimore

tar -xvf OpenCV -2.2.0.tar.bz2

3) gjenerimi i Makefile duke përdorur CMake.

4) ndërtimi dhe instalimi i bibliotekës OpenCV

5) Ju gjithashtu mund të keni nevojë të regjistroni rrugën drejt bibliotekave

eksport LD_LIBRARY_PATH = / usr / local / lib: $ LD_LIBRARY_PATH

Instalimi dhe përpilimi i paketës së softuerit të zhvilluar

Duhet kopjuar kodet burimore programet nga disku i furnizuar me këtë shënim shpjegues. Kopjoni skedarin grumbull build_all.sh në të njëjtën dosje dhe më pas drejtojeni atë. Nëse përpiluesi gcc është i instaluar në sistem, ndërtimi do të ndodhë automatikisht.

Paraqitja e imazheve

Ekzistojnë dy lloje kryesore të paraqitjeve të imazhit - vektori dhe rasteri.

Në paraqitjen vektoriale, një imazh përshkruhet nga një grup linjash (vektorësh) që përmbajnë koordinatat e pikave të fillimit dhe mbarimit, lakimin e linjave dhe karakteristikat e tjera gjeometrike, rregullat për ndërtimin e zonave të ndryshme dhe karakteristikat e ngjyrave. Me fjalë të tjera, një përfaqësim raster kërkon formimin e një modeli të caktuar matematikor. Prandaj, paraqitja vektoriale përdoret kryesisht për zgjidhjen e problemeve të sintezës së imazhit. Edhe pse disa algoritme të njohjes së figurës për punën e tyre kërkojnë pikërisht paraqitjen vektoriale, e cila duhet të merret nga imazhi origjinal.

Një imazh raster është një ose më shumë matrica që përshkruajnë shpërndarjen hapësinore të karakteristikave të imazhit në një rrjet të caktuar koordinativ Kartezian. Në këtë rast, imazhi është ndërtuar nga shumë pika dhe ka një strukturë raster. Elementi kryesor i një imazhi raster është një piksel (i shkurtër për frazën "elementet e figurës" - elementet e figurës), i cili ka koordinata në sistemin e koordinatave raster dhe disa atribute (ngjyra, shkëlqimi, transparenca, etj.). Numri i pikselëve në koordinatat X dhe Y (horizontalisht dhe vertikalisht) vendos rezolucionin (dimensionin) e paraqitjes së figurës. Ngjyra e një pikseli përcaktohet nga thellësia - numri i bitëve të kërkuar për të specifikuar çdo ngjyrë.

Imazhet Raster, në varësi të metodave për vendosjen e ngjyrës së pikselit dhe vetitë e figurës origjinale, ndahen në:

Binar

I përgjysmuar

Paleta

Ngjyrë të plotë

Në përfaqësimin binar, ngjyra e një pikseli mund të jetë ose e bardhë ose e zezë dhe është e koduar në një bit. Imazhi është një matricë. Çdo element I (i, j) i kësaj matricë ka vlerën 0 ose 1, ku i është numri i rreshtit, dhe është numri i kolonës j i elementit që korrespondon me pikselin e dhënë (Fig. 1).

Në imazhet e shkallës gri, pikselët përfaqësojnë vlerat e shkëlqimit të shkallës gri. Indekset e matricës që përshkruajnë një imazh të shkallës gri përcaktojnë pozicionin e pikselit në raster dhe vlerën e elementit të matricës

- vendos shkëlqimin e tij I (i, j) (Fig. 2).

Imazhet e paletës përshkruhen nga dy matrica (Fig. 3). Njëra ruan vlerat e indekseve, të cilat specifikojnë referencën në rreshtin e matricës së paletës. Matrica e paletës është një hartë me ngjyra. Ai përmban 3 grupe kolonash - që korrespondojnë me ngjyrat e kuqe "R", jeshile "G" dhe blu "B". Ata vendosin ngjyrën e pikselit përkatës.

Paleta është një matricë Nc 3, ku Nc është numri i ngjyrave.

Algoritmet e përpunimit të imazhit

Imazhet me ngjyra të plota janë ndërtuar në formatin RGB dhe përfaqësojnë tre matrica R (i, j), G (i, j), B (i, j). Elementet përkatëse të secilës matricë përmbajnë vlerat e intensitetit të ngjyrave të kuqe, jeshile dhe blu për pikselin e specifikuar nga indekset e matricës. Kështu, një imazh me ngjyra të plota nuk ka një hartë me ngjyra dhe ngjyra e çdo pikseli përfaqësohet nga tre numra të marrë nga matricat përkatëse (Fig. 4).

Formati i numrave në matrica mund të jetë ose numër i plotë ose pikë lundruese. Rasti i parë i referohet të ashtuquajturave imazhe të digjitalizuara të marra duke përdorur pajisje të ndryshme - skanerë, kamera digjitale, kamera televizive, etj. Inshtë në këtë format që informacioni në lidhje me imazhet ruhet në skedarë grafikë standardë.

Opsioni i dytë përdoret për paraqitjen e brendshme të imazheve gjatë përpunimit të tyre. Në këtë rast, është i përshtatshëm të normalizoni të dhënat e intensitetit në një gamë, për shembull, në një gamë, dhe të kryeni llogaritjet e ndryshme me numra lundrues, dhe pastaj ta shndërroni rezultatin në formën e plotë të plotë. Kjo metodë ju lejon të zvogëloni gabimet e llogaritjes dhe të përmirësoni saktësinë e rezultatit të përpunimit.

Për imazhet me ngjyra të plota, një nga parametrat është numri maksimal i ngjyrave që mund të përfaqësohen në këtë format. Imazhet më të përdorura kanë 16, 256, 65536 (Ngjyra të larta) dhe 10.7 milion (Ngjyra e vërtetë).

Algoritmet e përpunimit të imazhit

0 0 0 0 1 1 1 0 0

120 122 125 128 115 117 118

1 0 0 0 1 1 1 1 0

119 121 124 125 128 130 133

1 1 0 0 1 1 0 0 1

122 122 124 123 127 126 128

120 121 123 125 127 125 126

1 1 1 0 1 1 0 0 0

118 110 109 108 108 109 110

0 0 1 0 0 1 0 0 1

Algoritmet e përpunimit të imazhit

Matrica e Indeksit

31 15 03 09

Matricë paletash

Algoritmet e përpunimit të imazhit

Një imazh me ngjyra të plota mund të përfaqësohet jo vetëm në formatin RGB, por edhe duke përdorur sisteme të tjera ngjyrash.

Në sistemin HSB, ngjyra përfaqësohet nga karakteristikat e mëposhtme të ngjyrave: Ngjyra - nuanca;

Ngopja - ngopja; Ndriçimi - shkëlqimi.

Besohet se ky sistem ngjyrash korrespondon me veçoritë e perceptimit njerëzor të ngjyrës.

Në sistemin LAB, ngjyra konsiderohet si një kombinim i butësisë dhe dy vlerave të pavarura të kromatizmit, të cilat përcaktojnë ngjyrën e vërtetë të një pikseli. Chroma A - zgjedh përbërësin e ngjyrave nga magenta në të gjelbër. Ngjyrosje B - përbërësi i dytë i ngjyrës zgjidhet nga diapazoni nga e verdha në cian.

Ka sisteme të tjera për përfaqësimin e ngjyrave. Natyrisht, ato janë të gjitha të lidhura, dhe nga një përfaqësim mund të merret një tjetër. Shumëllojshmëria e sistemeve të ngjyrave është për shkak të detyrave të zgjidhura me ndihmën e tyre. Për shembull, korrigjimi i ngjyrave është më i përshtatshëm për të kryer në sistemin LAB, për të riprodhuar imazhin në ekranin e monitorit në sistemin RGB, për të printuar më mirë,

Algoritmet e përpunimit të imazhit

duke përdorur përfaqësimin CMYK. Sidoqoftë, në çdo rast, kur përpunoni imazhe dhe i njihni ato, ato punojnë me një përfaqësim raster të imazheve që përmbajnë një ose më shumë matrica.

Klasifikimi i algoritmeve të parapërpunimit

Algoritmet e përpunimit të imazhit do të ndahen në grupe të ndryshme në varësi të veçorisë klasifikuese. Të gjithë algoritmet e para -përpunimit ose duhet të përmirësojnë në njëfarë kuptimi cilësinë e imazheve, ose ta shndërrojnë atë në një formë më të përshtatshme për përpunimin pasues.

Algoritmet që synojnë përmirësimin e riprodhimit të ngjyrave të një imazhi quhen algoritme të korrigjimit të ngjyrave. Ky grup përfshin gjithashtu algoritme që punojnë me imazhe të përgjysmuara që ndryshojnë shkëlqimin e tyre dhe karakteristikat e kontrastit.

Algoritmet që synojnë përpunimin e karakteristikave hapësinore të imazheve quhen algoritme filtrim hapësinor. Ky grup përfshin algoritme të shtypjes së zhurmës, algoritme të zbutjes hapësinore dhe algoritme të fitimit hapësinor, algoritme për shtypjen dhe përforcimin e frekuencave hapësinore.

Algoritmet që kryejnë veprime gjeometrike në një imazh quhen algoritme të përpunimit gjeometrik... Kjo perfshin:

Algoritmet e përpunimit të imazhit

Prerja e një imazhi - përzgjedhje nga imazhi origjinal i një pjese të caktuar të një forme drejtkëndëshe;

Ndryshimi i madhësisë së imazhit. Këto algoritme përdorin metoda të ndryshme interpolimi që lejojnë ose plotësimin e saktë të pikselave që mungojnë në imazhin e zmadhuar, ose rillogaritjen e vlerave të pikselëve kur imazhi zvogëlohet.

Rrotulloni imazhin. Këta algoritme rrotullojnë imazhin origjinal me një kënd të caktuar, duke rillogaritur saktë vlerat e pikselit duke përdorur metoda të ndryshme interpolimi.

Algoritmet që kryejnë shndërrime nga një sistem ngjyrash në tjetrin quhen algoritmet e konvertimit të ngjyrave... Ato gjithashtu përfshijnë algoritme për konvertimin e imazheve me ngjyra në shkallë gri dhe algoritme binarizimi që konvertojnë imazhin origjinal në një binar.

Algoritmet që nxjerrin në pah disa zona në imazhin origjinal sipas kushteve të ndryshme, shpesh joformale quhen algoritme segmentimi. Një shembull i një algoritmi të tillë mund të jetë, për shembull, një algoritëm që duhet të zgjedhë zona të tekstit dhe informacion grafik në një imazh të dokumentit, ose një algoritëm që zgjedh zonat në një imazh teksti që i referohen fjalëve individuale.

Algoritmet e përpunimit të imazhit

Algoritmet e filtrimit hapësinor

Filtrimi hapësinor i një imazhi në formë matematikore është një bashkim diskret i një imazhi diskret me një përgjigje të caktuar impulsive të filtrit hapësinor

Nëse (i, j)

Unë jam (i m, j n) h (m, n), ku:

m N11 n N21

Im, Nëse matricat e imazheve origjinale dhe të filtruara, h matrica e përgjigjes së impulsit të filtrit,

N 11, N 21 janë kufijtë e poshtëm dhe të sipërm të kolonave të përgjigjes së impulsit, N 12, N 22 janë kufijtë e majtë dhe të djathtë të rreshtave të përgjigjes së impulsit.

Matrica e përgjigjes së impulsit mund të merret duke llogaritur filtrin hapësinor bazuar në parametrat e specifikuar. Një sasi e madhe e literaturës kushtuar filtrimit dixhital, për shembull, i kushtohet metodave për llogaritjen e filtrave hapësinorë. Për llogaritjet praktike, mund të përdorni paketat standarde matematikore, për shembull, sistemi "MATLAB" përfshin sistemin e llogaritjes së filtrit "Dizajni i filtrit të imazhit".

Vini re se filtrimi mund të kryhet edhe në fushën e frekuencës. Në atë

Algoritmet e përpunimit të imazhit

Në këtë rast, rendi i filtrimit është si më poshtë:

Shndërroni një imazh nga fusha hapësinore në zonën e frekuencës duke përdorur transformimin 2D diskret Furier

Kryeni shumëzimin elementar të matricës së frekuencës së figurës me matricën e frekuencës së filtrit

Transformoni rezultatin e marrë në një fushë hapësinore duke përdorur transformimin e kundërt dydimensional diskret Furier.

Unë jam (x, y)

Unë jam (f x, f y)

Nëse (f x, f y) Im (f x, f y) H (f x, f y)

Nëse (fx, f y)

Nëse (x, y).

Filtrimi i imazheve në fushën e frekuencës përdoret rrallë për shkak të sasisë së madhe të llogaritjes. Sidoqoftë, kjo metodë e filtrimit përdoret gjerësisht në llogaritjet teorike kur analizohen opsionet për përpunimin e imazhit. Kjo ju lejon të vizualizoni qartë se çfarë lloj filtrimi është i nevojshëm. Për shembull, nëse keni nevojë të theksoni ndryshimet e mprehta në shkëlqimin e figurës, atëherë është e qartë se duhet të përdorni filtra me kalim të lartë. Përkundrazi, nëse keni nevojë të heqni qafe ndërhyrjen me frekuencë të ulët-sythe tronditëse, ngritje individuale, etj., Atëherë duhet të përdorni filtra me kalim të ulët. Parametrat specifikë të filtrit zgjidhen në bazë të analizës së frekuencës së ndërhyrjes dhe vetive të imazhit origjinal.

1

Në këtë artikull, algoritmet për përpunimin e imazhit nga robotët inteligjentë celularë janë zhvilluar bazuar në logjikën fuzzy dhe rrjetet nervore, të cilat sigurojnë zgjedhjen e skajeve në imazh duke përdorur operatorin Sobel. Thelbi i përpunimit të imazhit është të sjellë imazhin origjinal të skenës në një formë që lejon zgjidhjen e problemit të njohjes së objekteve të tij. Problemet kryesore janë marrë parasysh, si dhe mënyrat për t'i zgjidhur ato gjatë përgatitjes fillestare të figurës për njohje. Algoritmi i parapërpunimit duke përdorur logjikën fuzzy dhe procesi i binarizimit të figurës janë analizuar në detaje. Një algoritëm i përpunimit fuzzy është ndërtuar për nxjerrjen e kufijve në një imazh duke përdorur operatorin Sobel.

përpunimi i imazhit

logjikë fuzzy

sistem inteligjent

njohja e objektit

1. Vesnin E.N., Veto A.V., Tsarev V.A. Mbi zhvillimin dhe aplikimin e sistemeve optoelektronike adaptive të vizionit teknik // Automatizimi në industri, 2009.- Nr. 11.- P. 48-52.

2. Grishin V.A. Sistemet e vizionit teknik në zgjidhjen e problemeve të kontrollit të mjeteve ajrore pa pilot // Sensorë dhe sisteme, Nr. 2, 2009.- P. 46-52.

3. Klevalin V.A., Polivanov A.Yu. Metodat e njohjes dixhitale në sistemet teknike të vizionit të robotëve industrialë // Mekatronikë, automatizim, kontroll, 2008, Nr. 5.- F. 56-56.

4. Mikhailov S.V., Romanov V.V., Zaikin D.A. Sistemi teknik i vizionit për diagnostikimin e procesit të prerjes së materialeve // ​​Buletini i kompjuterit dhe teknologjitë e informacionit, 2007, Nr. 3.- S. 12-19.

5. Semin M.S. Rishikimi i zgjidhjes së problemeve të aplikuara duke përdorur sisteme teknike të vizionit // http://www.videoscan.ru/page/718#13.

Aktualisht, përpunimi automatik i imazhit është një nga drejtimet më të rëndësishme në këtë fushë inteligjence artificiale dhe nënkupton zhvillimin e sistemeve robotike që kryejnë njohjen e modelit. Një nga mjetet më efektive për njohjen e modelit është sistemet e bazuara në logjikën fuzzy dhe rrjetet nervore artificiale. Sistemi teknik i vizionit (STZ) kërkon disa metoda dhe algoritme që zgjidhin të njëjtin problem. menyra te ndryshme, duke siguruar treguesit e nevojshëm për shpejtësinë dhe besueshmërinë e identifikimit.

Thelbi i algoritmit hibrid të përpunimit të imazhit në STZ të sistemeve robotike të lëvizshme (MRC) është të sjellë imazhin origjinal të skenës në një formë që lejon zgjidhjen e problemit të njohjes së objekteve të tij.

Algoritmi për përpunimin e imazhit duke përdorur një sistem fuzzy në STZ

Për përpunimin e imazhit, përpunimi fuzzy përfaqëson shumë qasje të ndryshme fuzzy, të cilat janë kuptimi, përfaqësimi, përpunimi i imazhit, segmentet dhe grupet fuzzy. Në procesin e njohjes së modelit, procesi i përpunimit paraprak të figurës fuzzy është i një rëndësie të madhe, pasi cilësia e të dhënave që më pas mbërrijnë në hyrjet e rrjetit nervor varet nga ajo. Si pjesë e problemit që po zgjidhet, algoritmi i përpunimit paraprak i paqartë mund të përfaqësohet si sekuenca e mëposhtme e hapave (Fig. 1): kapja e imazhit duke përdorur një kamerë në internet; shndërrimi i imazhit me ngjyrë që rezulton në një imazh të shkallës gri; përpunimi i imazhit fuzzy.

Oriz. 1. Algoritmi për përpunimin paraprak të imazhit fuzzy

Kështu, hapi i parë në përpunimin para-fuzzy është konvertimi i imazhit nga ngjyra në shkallë gri. Shndërrimi i ngjyrave në imazh në shkallën gri bëhet si më poshtë. E gjithë paleta e ngjyrave përfaqësohet si një kub, kulmet e të cilit korrespondojnë me ngjyra të ndryshme. Shkalla gri është e vendosur në diagonalen e kubit, duke lidhur kulmet bardh e zi.

Për ta kthyer imazhin në shkallë gri, intensitetet e përbërësve të kuq, jeshil dhe blu të ngjyrës theksohen për secilën pikë të figurës, dhe pastaj ngjyra konvertohet duke përdorur formulën e mëposhtme:

ku është vlera e re e ngjyrës, është intensiteti i përbërësit të kuq të ngjyrës, është intensiteti i përbërësit të gjelbër të ngjyrës dhe është intensiteti i përbërësit blu të ngjyrës. Çdo algoritëm nxjerr midis 0 dhe 1. Shkallë gri. Ekzistojnë disa metoda për të kthyer imazhet vetëm në shkallë gri. Metoda e butësisë përdor vlerën mesatare midis dy ngjyrave më të rëndësishme dhe më pak të rëndësishme :. Metoda mesatare përdor mesataren e të gjithëve tre ngjyra: ... Metoda e ndriçimit përdor një mesatare të ponderuar të të tre ngjyrave, duke marrë parasysh perceptimin njerëzor. Pra, meqenëse syri i njeriut është më i ndjeshëm ndaj ngjyrës së gjelbër, pesha e tij konsiderohet më e rëndësishmja :. Përdoret metoda e përcaktimit të shkëlqimit softuer për përpunimin e imazhit. Ka zbatuar funksionin " rgb2gray "në MATLAB dhe kjo shpesh përdoret për vizionin kompjuterik. Procesi i përpunimit të paqartë ka procesin e shndërrimit të imazheve nga ngjyra (RGB) në gri duke përdorur një metodë të përcaktimit të shkëlqimit. Imazhi pastaj shndërrohet nga gri në bardh e zi (Fig. 2).

Oriz. 2. Procesi i konvertimit të imazheve nga ngjyra në gri

Binarizimi i imazhit gjatë përpunimit paraprak

Qëllimi i përpunimit paraprak të figurës fuzzy është formimi dhe përmirësimi i mëvonshëm i imazhit, binarizimi dhe kodimi i tij (në veçanti, marrja e një përfaqësimi skicë). Binarizimi i imazhit është procesi i shndërrimit të një imazhi të përbërë nga një gradim i një ngjyre (në rastin tonë, gri) në një imazh binar, d.m.th. një imazh në të cilin çdo piksel mund të ketë vetëm dy ngjyra (në rastin tonë, këto janë bardh e zi). Si rezultat i këtij transformimi, ngjyra e një pikseli konsiderohet në mënyrë konvencionale e barabartë me zero ose një, ndërsa piksele me një vlerë zero (në këtë rast, piksele të bardhë) quhen sfond, dhe piksele me një vlerë të barabartë me një (e zezë ) quhen në plan të parë. Por imazhi binar i marrë si rezultat i një transformimi të tillë është shtrembëruar në krahasim me origjinalin, i cili karakterizohet nga shfaqja e boshllëqeve dhe mjegullimi në objekte, shfaqja e zhurmës së imazhit në zona homogjene, si dhe humbja e integriteti i strukturës së objekteve.

Humbja e integritetit të objektit, si dhe prishja e objektit, lindin për një sërë arsyesh, të tilla si ndriçimi i madh i pabarabartë i objektit ose prekja (ose mbivendosja e objekteve). Isshtë mbivendosja (ose prekja - si një rast i veçantë i mbivendosjes) që shkakton një vështirësi të veçantë në përpunim. nga njëra anë, imazhi i disa objekteve mund të interpretohet si një objekt, dhe nga ana tjetër, algoritmet që kontrollojnë integritetin gjeometrik të objektit do të formojnë boshllëqe në vendet e mbivendosjes, duke i paraqitur këto zona si sfond. Kompleksiteti i përpunimit qëndron në mungesën e një zgjidhjeje teorike për problemin e interpretimit të imponimit të objekteve, pasi një pjesë e informacionit humbet. Në zbatimin e algoritmeve në praktikë, një nga opsionet e treguara merret si vendim i saktë - ose kryqëzimi konsiderohet si vazhdim i objektit aktual, ose zona e mbivendosur do të konsiderohet sfond.

Pragu shndërron një imazh me ngjyrë ose gri në një imazh bardh e zi. Transformimet e pragut janë qendrore në aplikimet e segmentimit të imazhit për shkak të vetive të tyre intuitive dhe lehtësisë së zbatimit. Për çdo piksel në imazh, niveli i intensitetit të tij shqyrtohet, nëse vlera e tij është mbi një nivel të caktuar pragu, kjo korrespondon me ngjyrën e bardhë. Nëse është nën pragun e caktuar, vendoset në të zezë. Niveli i pragut do të jetë midis 0 dhe 255.

Aktualisht, ekziston një numër i madh i metodave të binarizimit. Thelbi i këtij transformimi të imazheve raster është një analizë krahasuese e shkëlqimit të pikselit aktual me një vlerë të caktuar pragu: nëse shkëlqimi i pikselit aktual tejkalon vlerën e pragut, d.m.th. , atëherë ngjyra e pikselit në imazhin binar do të jetë e bardhë, përndryshe ngjyra do të jetë e zezë. Sipërfaqja e pragut është një matricë, dimensioni i së cilës korrespondon me dimensionin e figurës origjinale.

Në procesin e binarizimit, të gjitha metodat ndahen në dy grupe sipas parimit të ndërtimit të një sipërfaqeje pragu - këto janë metoda të përpunimit global dhe lokal të binarizimit. Në metodat globale të përpunimit të binarizimit, sipërfaqja e pragut është një aeroplan me një vlerë konstante të shkëlqimit të pragut, d.m.th. vlera e pragut llogaritet bazuar në analizën e histogramit të të gjithë imazhit dhe është e njëjtë për të gjitha pikselët e imazhit origjinal. Pragu global ka një pengesë të rëndësishme - nëse imazhi i burimit ka ndriçim jo të njëtrajtshëm, zonat që nuk janë të ndriçuara mirë klasifikohen tërësisht si plan i parë. Në metodat e përpunimit të binarizimit lokal, vlera e pragut ndryshon për secilën pikë bazuar në disa veçori të zonës që i përkasin disa lagjeve të pikës së caktuar. Disavantazhi i këtij lloj transformimi është shpejtësi të ulët puna e algoritmeve të lidhura me rillogaritjen e vlerave të pragut për secilën pikë të figurës.

Ne do të përdorim metodën Bernsen si një metodë për zgjidhjen e problemit. Metoda bazohet në idenë e krahasimit të nivelit të shkëlqimit të pikselit të konvertuar me vlerat mesatare lokale të llogaritura në mjedisin e tij. Pikselët e figurës përpunohen një nga një duke krahasuar intensitetin e tyre me vlerat mesatare të shkëlqimit në dritaret e përqendruara në pikat (Fig. 3).

Oriz. 3. Konvertoni pikselin e imazhit

Algoritmi i përpunimit fuzzy për nxjerrjen e skajit dhe segmentimin e imazhit

Pas konvertimit të figurës në bardh e zi, një imazh gradient merret duke përdorur operatorin Sobel dhe ushqehet me inputet e përpunimit të figurës fuzzy (FOI) (Fig. 4).

Përpunimi i figurës fuzzy përbëhet nga tre faza kryesore: fuzifikimi i imazhit, sistemi i konkluzionit fuz bazuar në vlerat e anëtarësisë dhe çaktivizimi i imazhit. Përpunimi kryesor i figurës fuzzy është në hapin e mesëm (sistemi i konkluzionit fuzzy). Pas transferimit të të dhënave të figurës nga niveli gri në fuzzification, sistemi i konkluzionit fuzzy përcaktohet nga vlerat e anëtarësisë. Fuzzification është kodimi i të dhënave të imazhit dhe defuzzification është deshifrimi i rezultateve, i cili lejon përpunimin e imazheve me metoda fuzzy.

Imazhi - madhësia me shkallë gri dhe mund të përkufizohet si një grup i një grupi fuzzy me një pikë (grupet fuzzy mund të mbështeten vetëm me një pikë) duke treguar vlerën e anëtarësisë të secilit piksel në lidhje me një pronë të paracaktuar të imazhit (p.sh., shkëlqimi, butësia, etj.).

(1)

ku dhe janë përkatësia e një pikseli në shënimin e grupeve fuzzy. Përcaktimi i vlerave të anëtarësisë varet nga kërkesat specifike të aplikacionit të veçantë dhe nga baza përkatëse e njohurive.

Dalja e sistemit për sistemin hyrës jepet nga formula e mëposhtme:

(2)

Oriz. 4. Algoritmi për përpunimin e figurës fuzzy për zbulimin e kufirit

Aplikimi i rrjeteve nervore për njohjen e modelit

Një perceptron me shumë shtresa është një rrjet nervor artificial i përbërë nga disa nyje hyrëse që formojnë një shtresë hyrëse, një ose më shumë shtresa llogaritëse të neuroneve dhe një shtresë dalëse (Fig. 6). Në rrjete të tilla, sinjali i aplikuar në shtresën hyrëse transmetohet në mënyrë sekuenciale në drejtimin përpara nga shtresa në shtresë. Ky lloj ANN përdoret me sukses për zgjidhjen e problemeve të ndryshme, veçanërisht për problemin e njohjes së modelit.

Rrjeti nervor i backpropagation përbëhet nga disa shtresa neuronesh, dhe secili neuron i shtresës së mëparshme është i lidhur me secilin neuron të shtresës tjetër. Në rrjete të tilla, pas përcaktimit të numrit të shtresave dhe numrit të elementeve të secilës shtresë, kërkohet të llogariten vlerat e peshave dhe pragjeve të rrjetit në atë mënyrë që të minimizohet gabimi i parashikimit. Ky problem zgjidhet duke përdorur një larmi algoritmash mësimi. Thelbi i këtyre algoritmeve është përshtatja e rrjetit me të dhënat e trajnimit. Gabimi i rrjetit të zbatuar do të përcaktohet duke ekzekutuar të gjitha të dhënat hyrëse dhe duke krahasuar vlerat aktuale të marra në daljen e rrjetit me vlerat e synuara. Pastaj, dallimet e marra përmblidhen në një funksion të zakonshëm, të ashtuquajtur, gabim, i cili karakterizon gabimin total të rrjetit. Por më shpesh, shuma e katrorëve të gabimeve merret si funksion gabimi.

Një nga algoritmet më të zakonshëm për trajnimin e rrjeteve nervore me shumë shtresa është algoritmi i backpropagation i gabimit. Ky algoritëm llogarit vektorin gradient të sipërfaqes së gabimit. Pastaj ne lëvizim një sasi të caktuar në drejtim të vektorit (do të na tregojë drejtimin e zbritjes më të madhe), ku vlera e gabimit do të jetë më e vogël. Një përparim i tillë i qëndrueshëm gradualisht do të çojë në minimizimin e gabimit. Këtu lind vështirësia në përcaktimin e shumës me të cilën do të përparosh. Nëse madhësia e hapit është relativisht e madhe, do të çojë në zbritjen më të shpejtë, por ekziston mundësia e "kërcimit mbi"

pika e dëshiruar ose shkoni në drejtim të gabuar nëse sipërfaqja ka një formë mjaft komplekse. Për shembull, nëse sipërfaqja është një luginë e ngushtë me shpate të pjerrëta, algoritmi do të lëvizë shumë ngadalë, duke kërcyer nga një shpat në tjetrin. Nëse madhësia e hapit është e vogël, kjo do të çojë në gjetjen e drejtimit më optimal, por mund të rrisë ndjeshëm numrin e përsëritjeve. Për të arritur rezultatin më optimal, madhësia e hapit merret proporcionalisht me pjerrësinë e pjerrësisë me një konstante të caktuar - shkalla e të mësuarit. Zgjedhja e kësaj konstante bëhet eksperimentalisht dhe varet nga kushtet e një problemi të veçantë.

Le të prezantojmë shënimin e mëposhtëm. Ne shënojmë matricën e peshave nga hyrjet në shtresën e fshehur, dhe matricën e peshave që lidhin shtresat e fshehura dhe dalëse -. Për indekset, ne do të përdorim shënimin e mëposhtëm: hyrjet do të numërohen vetëm me një indeks, elementët e një shtrese të fshehur - me një indeks, dhe rezultatet - me një indeks. Numri i hyrjeve të rrjetit është i barabartë, numri i neuroneve në shtresën e fshehur është, numri i neuroneve në shtresën dalëse është. Lëreni rrjetin të stërvitet në një mostër ,. Pastaj algoritmi për trajnimin e një perceptroni me shumë shtresa do të duket kështu:

Hapi 1. Fillimi i rrjetit. Peshat janë caktuar vlera të vogla të rastësishme, për shembull, nga diapazoni (-0.3, 0.3); janë vendosur - parametri i saktësisë së trajnimit, - parametri i shkallës së mësimit (si rregull, dhe mund të zvogëlohet më tej në procesin e të mësuarit), - numri maksimal i lejuar i përsëritjeve.

Hapi 2. Llogaritni sinjalin aktual të daljes. Një nga imazhet e mostrës së trajnimit futet në hyrjen e rrjetit, dhe përcaktohen vlerat e daljeve të të gjithë neuroneve të rrjetit nervor.

Hapi 3. Vendosja e peshave sinoptike. Llogaritni ndryshimin e peshave për shtresën dalëse të rrjetit nervor duke përdorur formulat:

ku,. Llogaritni ndryshimin e peshave për shtresën e fshehur duke përdorur formulat: , ku

Hapi 4. Hapat 2-3 përsëriten për të gjithë vektorët e trajnimit. Trajnimi përfundon kur funksioni i gabimit për secilën nga imazhet e trajnimit arrin vlerën e funksionit të gabimit që nuk kalon e ose pas numrit maksimal të lejuar të përsëritjeve.

Në hapin 2, është më mirë të paraqisni vektorët nga sekuenca e trajnimit në hyrjen në një mënyrë të rastësishme.

Numri i hyrjeve dhe daljeve të rrjetit, si rregull, diktohet nga kushtet e problemit, dhe madhësia e shtresës së fshehur gjendet eksperimentalisht. Zakonisht numri i neuroneve në të është 30-50% të numrit të inputeve. Shumë neurone në shtresën e fshehur çojnë në faktin se rrjeti humbet aftësinë e tij për të përgjithësuar (thjesht memorizon elementët e mostrës së trajnimit tërësisht dhe nuk i përgjigjet modeleve të ngjashme, gjë që është e papranueshme për detyrat e njohjes). Nëse numri i neuroneve në shtresën e fshehur është shumë i vogël, rrjeti thjesht nuk është në gjendje të mësojë.

Përfundim

Problemet kryesore janë marrë parasysh, si dhe mënyrat për t'i zgjidhur ato gjatë përgatitjes fillestare të figurës për njohje. Algoritmi i parapërpunimit duke përdorur logjikën fuzzy dhe procesi i binarizimit të figurës janë analizuar në detaje. Një algoritëm i përpunimit fuzzy është ndërtuar për nxjerrjen e kufijve në një imazh duke përdorur operatorin Sobel.

Rishikuesit:

Gagarina LG, Doktore e Shkencave Teknike, Profesore, Shefe e Departamentit të Informatikës dhe Softuerëve për Sistemet Kompjuterike, Universiteti Kombëtar i Kërkimit MIET, Moskë.

Portnov EM, Doktor i Shkencave Teknike, Profesor i Departamentit të Informatikës dhe Softuerëve për Sistemet Kompjuterike, Shef i Laboratorit Kërkimor "Sistemet e Informacionit të Kontrollit" të Universitetit Kombëtar të Kërkimit "MIET", Moskë.

Referenca bibliografike

Aung Ch.Kh., Tant Z.P., Fedorov A.R., Fedorov P.A. ZHVILLIMI I ALGORITMEVE P PROR PCRPUNIMIN E IMAZHIT NGA ROBOTET MOBILE INTELIGJENTE TAS BAZUAR N ON RRJETET FUZZI LOGJIKE DHE NEURALE // Problemet bashkëkohore shkenca dhe arsimi. - 2014. - Nr. 6.;
URL: http://science-education.ru/ru/article/view?id=15579 (data e qasjes: 02/01/2020). Ne sjellim në vëmendjen tuaj revistat e botuara nga "Akademia e Shkencave të Natyrës"

DIGJITALE TRAJTIMI SINJALET

Tema 17. PCRPUNIMI I IMAZHIT

Nuk ka asgjë, pavarësisht se çfarë guxon imagjinata e një personi.

Titus Lucretius. Filozof dhe poet romak. Shekulli I Para Krishtit NS

Imagjinata është një gjë e mirë. Por nxirreni parakolpin nga bodrumi, lajeni, kthejeni në Apollo, paketojeni në një kuti shkrepse dhe dërgojini një shoku e-mail një program i mirë grafik do të bëjë më mirë.

Anatoly Pyshmintsev, gjeofizikan Novosibirsk i Shkollës Ural. Shekulli XX.

Prezantimi.

1. Koncepte bazë. Paraqitja grafike e imazheve. Paraqitja e ngjyrave në grafikë kompjuterike. Modeli i ngjyrave RGB. Sistemi i ngjyrave CIE XYZ.

2. Shndërrimet gjeometrike të imazheve raster. Fushat dhe fazat e transformimit. Marrja e mostrave. Seria e interpolimit të rindërtimit të një sinjali dy-dimensional. Shtrembërimi i frekuencës së imazheve dhe eleminimi i tyre. Rimbledhja e imazheve.

3. Filtrimi i imazheve. Filtra linearë. Filtrat zbutës. Filtra në rritje të kontrastit. Dallimi i filtrave. Konvolucion ciklik dy-dimensional. Filtra jo-linearë. Filtrimi i pragut. Filtrimi mesatar. Filtra ekstremum.

4. Kompresimi i imazheve. Algoritmet e kodimit të Gjatësisë së Përsëritjes (RLE). Algoritmet e fjalorit. Algoritmet statistikore të kodimit. Kompresimi i imazhit të humbur. Vlerësimi i humbjes së figurës. Transformimi Furier. Transformimi i valës

PREZANTIMI

Shtrirja e kërkimit në fushën e imazhit dixhital po rritet me shpejtësi. Kjo ndodh sepse përpunimi i imazhit është përpunimi i sinjalit shumëdimensional dhe shumica e sinjaleve në botën reale janë shumëdimensionale.


Një imazh në paraqitjen matematikore është një sinjal dy-dimensionale që mbart një sasi të madhe informacioni. Imazh me ngjyra 500 × 500 elementë është një grup prej disa qindra mijë bajtësh. Një informacion i tillë mund të përpunohet vetëm nga një organizatë racionale e llogaritjeve. Për detyra specifike të përpunimit të imazhit, mund të aplikohen metoda efikase të përpunimit, duke marrë parasysh karakteristikat dhe kufizimet e asaj detyre të veçantë. Por nëse flasim për përpunimin e imazhit për zgjidhjen e një klase të gjerë problemesh, atëherë është e nevojshme të veçohet një grup operacionesh standarde, nga të cilat është e mundur të ndërtohen algoritme për zgjidhjen e problemeve arbitrare. Këto përfshijnë transformime lineare, konvolucion 2D dhe transformim diskret Fourier 2D.

Sidoqoftë, transformimet jolineare përdoren gjithashtu gjerësisht në përpunimin e imazhit. Veçantia e imazheve është se elementët individualë të figurës janë në një lidhje të caktuar me elementët fqinjë. Prandaj, shumica e algoritmeve të konvertimit të imazhit janë të natyrës lokale, domethënë, ato përpunojnë imazhe sipas grupeve të elementeve të vendosur në lagjen rreth një të caktuar. Transformimet lineare kënaqin pronën e lokalitetit dhe lejojnë ndërtimin e algoritmeve, kompleksiteti llogaritës i të cilave varet pak nga madhësia e lagjes përreth. Të njëjtat veti kërkohen nga transformimet jolineare të imazheve. Klasa e transformimeve të tilla përfshin algoritme që quhen algoritme të filtrimit të rangut bazuar në llogaritjen e statistikave të rangut lokal të imazheve. Kur llogaritni statistikat e rangut dhe derivatet e tyre, thjeshtimet që lidhen me tepricën e informacionit të imazheve janë të mundshme. Algoritmi më i famshëm i kësaj klase është algoritmi mesatar i filtrimit. Shembuj të tjerë të algoritmeve të rangut janë algoritme ekstreme të filtrimit që zëvendësojnë elementin e imazhit të analizuar me një maksimum ose minimum mbi një lagje. Një pronë tjetër e algoritmeve të rangut është përshtatja lokale ndaj karakteristikave të imazhit të përpunuar dhe potencialit për përdorimin e tyre jo vetëm për zbutjen dhe pastrimin nga zhurma, por edhe për nxjerrjen e veçorive gjatë njohjes automatike të figurës.

Në përpunimin e imazhit, metodat e përpunimit të sinjaleve një-dimensionale përdoren gjerësisht, nëse është e mundur t'i përgjithësoni ato në sinjale shumëdimensionale. Në të njëjtën kohë, duhet të merret parasysh kjo metodat matematikore përshkrimet e sistemeve shumëdimensionale nuk janë të plota. Sistemet shumëdimensionale kanë një numër të madh të shkallëve të lirisë, dhe dizajni i tyre fiton fleksibilitet që nuk është i natyrshëm në sistemet një-dimensionale. Në të njëjtën kohë, polinomet shumëdimensionale nuk zbërthehen në faktorë kryesorë, gjë që e ndërlikon analizën dhe sintezën e sistemeve shumëdimensionale.

17.1. Konceptet themelore

Paraqitja grafike e imazheve. Për të paraqitur informacionin grafik në një plan dy-dimensional (ekrani i monitorit), përdoren dy qasje: raster dhe vektor.

Në qasjen vektoriale, informacioni grafik përshkruhet si një koleksion i objekteve gjeometrike abstrakte - linja, segmente, kthesa, drejtkëndësha, etj. Përshkrimi i vektorit supozon një njohuri apriori të strukturës së figurës.

Grafika Raster funksionojnë me imazhe arbitrare në formën e rasterëve. Një raster është një përshkrim i një imazhi në një rrafsh duke e ndarë (diskretizuar) atë në elemente identikë në një rrjet të rregullt dhe duke i caktuar ngjyrën e vet dhe çdo atribut tjetër në secilin element. Rastri më i thjeshtë është drejtkëndor, më ekonomik për sa i përket numrit të mostrave për transferimin e imazheve është gjashtëkëndor. Nga pikëpamja matematikore, një raster është një përafrim konstant i pjesëzuar në planin e një funksioni të vazhdueshëm të imazhit.

Një element raster quhet pixel. Identifikimi standard i Pixel:


f (i, j) = (A (i, j), C (i, j)), (17.1.1)

ku A (i, j) Ì R2 - zona e pikselit, C (i, j) Î C - atributi i pikselit (zakonisht ngjyra). Dy lloje të atributeve përdoren më së shpeshti:

C (i, j) = I (i, j) - intensiteti i pikselit (shkëlqimi);

C (i, j) = (R (i, j), G (i, j), B (i, j)) - atributet e ngjyrave në modelin e ngjyrave RGB.

Në formën e matricës:

Mij ​​= (Aij, Cij).

Kur diskretizoni imazhe të vazhdueshme, vlerat e Aij mund të përcaktohen në dy mënyra, ose si vlerat e pikave Aij = (i, j) për të cilat përcaktohen atributet Cij, ose si vlerat e katrorët Aij = (i, i + 1) × (j, j + 1) ose ndonjë formë tjetër, me përcaktimin e Cij nga vlerat mesatare brenda kësaj forme (Fig. 17.1.1).

Në praktikë, si rregull, X dhe Y janë grupe të kufizuara të numrave të plotë jo negativë të një rasteri katror ose drejtkëndor me një raport aspekti (raporti i aspektit) të gjerësisë dhe lartësisë së rasterit, i cili është shkruar në formën, për shembull, "4: 3".

Paraqitja e ngjyrave në grafikë kompjuterike. Koncepti i ngjyrës bazohet në perceptimin nga sytë e njerëzve të valëve elektromagnetike në një gamë të caktuar frekuence. Drita e ditës që ne perceptojmë ka gjatësi vale λ nga 400 nm (vjollce) në 700 nm (e kuqe). Përshkrimi i fluksit ndriçues mund të jetë funksioni i tij spektral I (λ). Drita quhet monokromatike nëse spektri i saj ka vetëm një gjatësi vale specifike.

Ekzistojnë dy lloje të receptorëve në retinë: shufra dhe kone. Ndjeshmëria spektrale e shufrave (Fig. 17.1.2) është drejtpërdrejt proporcionale me shkëlqimin e dritës së goditur. Kone ndahen në tre lloje, secila prej të cilave ka një ndjeshmëri të caktuar në kufij të kufizuar me maksimum për ngjyrat e kuqe, jeshile dhe blu, dhe humbin ndjeshëm ndjeshmërinë e tyre në errësirë. Ndjeshmëria e syrit ndaj ngjyrës blu është dukshëm më e ulët se te dy të tjerat. Një veti e rëndësishme e perceptimit njerëzor të dritës është lineariteti kur kombinohen ngjyra me gjatësi vale të ndryshme.

Modeli i ngjyrave RGB (E kuqe, jeshile, blu - e kuqe, jeshile, blu) në grafikat kompjuterike është aktualisht më e zakonshme. Në këtë model, funksioni spektral përfaqësohet si shuma e kurbave të ndjeshmërisë për secilin lloj kon me jo-negative faktorët e peshimit(normalizuar nga 0 në 1), të cilat shënohen si R, G dhe B. Modeli karakterizohet nga vetia e aditivitetit për marrjen e ngjyrave të reja. Për shembull, kodimi i funksioneve spektrale:

E zezë: fblack = 0, (R, G, B) = (0,0,0);

Vjollcë e purpurt = fred + fblue, (R, G, B) = (1,0,1);

E bardhë e bardhë = fred + e gjelbër + fblue, (R, G, B) = (1,1,1).

Hapësira tre-dimensionale e ngjyrave të modelit RGB është treguar në Fig. 17.1.3. Për shkak të veçorive të perceptimit të dritës nga receptorët, jo të gjitha ngjyrat e dukshme për njerëzit janë të përfaqësueshme në këtë model. Sidoqoftë, përqindja e ngjyrave të riprodhueshme është shumë më e madhe se proporcioni që nuk përfaqësohen në këtë model.

Sistemi i ngjyrave CIE XYZ. Standardi ndërkombëtar për përfaqësimin e ngjyrave CIE (CIE - Commission Internationale de l "Eclairage) u miratua në vitin 1931 nga Komisioni Ndërkombëtar për Ndriçimin, Ai përcakton tre funksione bazë ρX (λ), ρY (λ), ρZ (λ), në varësi të kombinimet lineare të gjatësisë së valës të cilat me koeficientë jo negativë (X, Y dhe Z) prodhojnë të gjitha ngjyrat e dukshme nga njeriu. Këto funksione marrin parasysh perceptimin relativ të intensitetit të dritës nga receptorët e syrit. Në hapësirën tre-dimensionale, Sistemi i ngjyrave CIE formon një kon në kuadratin e parë dhe përdoret për shfaqjen me cilësi të lartë të imazheve me ngjyra.

17.2. Shndërrimet gjeometrike të bitmaps

Fushat dhe fazat e transformimit. Imazhet mund të ndahen në cilësi dhe detaje. Në imazhet e strukturës, të gjithë mostrat (elementët) mbajnë informacion (imazhi në ekranin e televizorit). Një imazh i detajuar është një imazh në të cilin mund të theksoni objektet që ndërhyjnë, sfondin dhe objektet e dobishme.

Ekzistojnë tre grupe kryesore të algoritmeve për përpunimin e imazhit në kompjuter:

1. Përpunimi parësor (paraprak) i imazheve me qëllim të restaurimit, pastrimit nga zhurma e rastësishme, përmirësimi i cilësisë, korrigjimi i shtrembërimeve gjeometrike të sistemeve optike (defokusimi, devijimet etj).

2. Përshkrimi i imazheve, njohja e modelit. Ajo kryhet për të përcaktuar parametrat e detajeve të figurës dhe përfshin: gjetjen e zonave të një imazhi që janë uniforme për sa i përket ndriçimit dhe ngjyrës, nxjerrja në pah e veçorive të formës së figurës, përcaktimi i koordinatave të pikave të veçanta të objekteve, etj.

3. Kodim efikas për të zvogëluar volumin në transmetim dhe ruajtje.

Shumica e metodave të para -përpunimit bazohen në përdorimin e filtrave linearë të pandryshueshëm të hapësirës (LPI). Algoritmet lineare kryhen duke përdorur analoge dy-dimensionale të filtrave njëdimensional të FIR dhe IIR. Ato mund të përdoren, për shembull, kur zbatoni filtra për të zvogëluar zhurmën në imazhe.

Filtrat FIR zbatohen duke përdorur metodën e konvolucionit. Avantazhi i filtrave 2D FIR është qartësia, thjeshtësia dhe stabiliteti absolut. Filtrat IIR zbatohen duke përdorur ekuacionet e ndryshimit dhe shndërrimet z. Ata janë më të shpejtë se filtrat FIR, por mund të jenë të paqëndrueshëm. Sinteza e filtrave dy-dimensionale IIR ndryshon nga sinteza e filtrave një-dimensionale, pasi që për një funksion dy-dimensional nuk është e mundur të zgjidhen polet në një formë eksplicite.

Metodat jo-lineare gjithashtu mund të kërkohen për të rivendosur imazhet dhe për të përmirësuar cilësinë e tyre. Kështu, për shembull, për të shtypur zhurmën dhe në të njëjtën kohë për të ruajtur pjesën skicë të imazheve, është e nevojshme të përdorni filtra jolinearë ose linearë jo -ndryshues të hapësirës (LPNI), të cilët zbatohen nga algoritmet e rangimit. Të gjithë filtrat jolinearë të rangut bazohen në algoritme të shpejta për llogaritjen e vendoreve histogramet.

Një nga këto metoda është filtrimi mesatar. Përdorimi i filtrave mesatarë është efektiv për shtypjen e disa llojeve të zhurmës dhe ndërhyrjeve periodike pa shtrembëruar njëkohësisht sinjalin, për shembull, për të shtypur shpërthimet e goditjeve të zhurmës, përfshirë braktisjen e linjës. Metoda mund të përdoret gjithashtu për të zgjidhur problemet që lidhen me njohjen, për shembull, për të nxjerrë në pah linjat e holla dhe objektet e vogla të izoluara.

Algoritmet për përshkrimin e imazheve dhe njohjen e modeleve janë zakonisht jo-lineare dhe të natyrës heuristike. Karakteristikat e objekteve janë zakonisht zona e imazhit të objektit, perimetri i konturit të figurës, raporti i zonës me katrorin e perimetrit të figurës. Forma e objektit mund të karakterizohet nga rrezja e një rrethi të gdhendur në imazh ose të përshkruar rreth imazhit të objektit, gjatësia e vektorit të rrezes minimale dhe maksimale nga "qendra e masës" e figurës.

Marrja e mostrave. Transformimet e imazheve në një kompjuter dhe ruajtja e të dhënave të përpunuara kryhen në një formë diskrete. Marrja e mostrave përdoret për të marrë një paraqitje diskrete nga imazhet analoge të vazhdueshme të botës reale. Në praktikë, ajo kryhet nga pajisjet hyrëse (aparati dixhital, skaneri ose të tjera). Për perceptimin vizual të imazheve të përpunuara në pajisjet dalëse (ekran, komplot, etj.), Një imazh analog rindërtohet sipas përfaqësimit të tij të diskretizuar.

Në rastin më të thjeshtë të imazheve bardhë e zi, ne kemi grup dydimensional sa (x, y). Për imazhet me ngjyra në modelin RGB, duke marrë parasysh vetinë e aditivitetit kur shtoni ngjyra, çdo shtresë e R, G dhe B gjithashtu mund të konsiderohet dhe përpunohet si një grup dy-dimensional, me përmbledhjen pasuese të rezultateve.

Nga metodat e përgjithësimit të marrjes së mostrave periodike një-dimensionale në një rast dy-dimensional, më e thjeshta është marrja e mostrave periodike në koordinatat drejtkëndore:

s (n, m) = sa (nDx, mDy),

ku Dx dhe Dy janë intervale të marrjes së mostrave horizontale dhe vertikale të një sinjali dy-dimensional të vazhdueshëm sa (x, y) me koordinata të vazhdueshme x dhe y. Nën vlerat e Dx dhe Dy, si në rastin njëdimensional, merren të barabarta me 1.

Marrja e mostrave të një sinjali dy-dimensional gjithashtu çon në periodizimin e spektrit të tij dhe anasjelltas. Gjendja e ekuivalencës së informacionit të paraqitjeve të koordinatave dhe frekuencave të një sinjali diskret ruhet gjithashtu me një numër të barabartë pikash të marrjes së mostrave në rangjet kryesore të sinjalit. Për marrjen e mostrave drejtkëndëshe, transformimet e drejtpërdrejta dhe të kundërta të Furierit përcaktohen nga shprehjet:

S (k, l) = s (n, m) exp (-jn2pk / N-jm2pl / M), (17.2.1)

S (k, l) = exp (-jn2pk / N) s (n, m) exp (-jm2pl / M), (17.2.1 ")

s (n, m) = S (k, l) exp (-jn2pk / N-jm2pl / M) (17.2.2)

s (n, m) = exp (-jn2pk / N) S (k, l) exp (-jm2pl / M) (17.2.2 ")

Oriz. 17.2.1. Periodizimi i spektrit.

Këto shprehje tregojnë se një DFT dy-dimensionale mbi një raster të mostrave të të dhënave drejtkëndëshe mund të llogaritet duke përdorur DFT-të vijuese një-dimensionale. Shumat e dyta të shprehjeve (17.2.1 ") dhe (17.2.2") janë DFT njëdimensionale të seksioneve të funksioneve s (n, m) dhe S (k, l) përgjatë vijave n dhe k, respektivisht , dhe e para janë DFT-të një-dimensionale të funksioneve të llogaritura në seksionet me m dhe l. Me fjalë të tjera, matricat fillestare të vlerave s (n, m) dhe S (k, l) llogariten së pari në matrica të ndërmjetme me DFT sipas rreshtave (ose sipas kolonave), dhe matricave të ndërmjetme - në matrica përfundimtare me DFT nga kolona (ose, përkatësisht, sipas rreshtave).

Në mënyrë që përsëritja periodike e spektrit (Fig. 17.2.1), e shkaktuar nga marrja e mostrave të sinjalit analog me frekuencën Fx = 1 / Dx dhe Fy = 1 / Dy, nuk ndryshon spektrin në intervalin kryesor të frekuencës (në lidhje me spektrin e sinjalit analog origjinal), është e nevojshme dhe është e mjaftueshme që përbërësit e frekuencës maksimale fmax në spektrin e sinjalit analog, si në rreshta ashtu edhe në kolona, ​​të mos tejkalojnë frekuencën Nyquist (fmax. x FN = Fx / 2, fmax. Y £ fM = Fy / 2). Kjo do të thotë që frekuenca e marrjes së mostrave të sinjalit duhet të jetë së paku dyfishi i komponentit të frekuencës maksimale në spektrin e sinjalit:

Fx ³ 2fmax. x, Fy ³ 2fmax. y, (17.2.3)

e cila siguron që funksionet spektrale të arrijnë vlera zero në skajet e gamës së spektrit kryesor.

Seria e interpolimit të rindërtimit të një sinjali dy-dimensional. Nëse sinjali i vazhdueshëm sa (x, y) është një sinjal i kufizuar me spektër, dhe periudhat e marrjes së mostrave zgjidhen mjaft të vogla dhe spektrat e periudhave ngjitur nuk mbivendosen:

Sa (Wx, Wy) = 0 për | Wx | p / Dx, | Wy | p / Dx,

atëherë, si në rastin njëdimensional, sinjali sa (x, y) mund të rindërtohet nga një sinjal diskret duke përdorur një analog dy-dimensional të serisë Kotelnikov-Shannon:

sa (x, y) = Sn Sm s (n, m) . (17.2.4)

Shtrembërimi i frekuencës së imazheve dhe eleminimi i tyre. Një sinjal spektri i pakufizuar mund të merret gjithashtu, por në këtë rast ka aliazim në periudhat ngjitur, ndërsa frekuencat e larta, më të larta se frekuencat Nyquist, do të "maskohen", si në rastin një-dimensional, nën frekuencat e ulëta të periudha kryesore. Efekti i "reflektimit" nga kufijtë e periudhës jep një pamje edhe më komplekse për shkak të ndërhyrjes së frekuencave të pasqyruara në koordinata të ndryshme. Një efekt i ngjashëm, i njohur si aliasing, do të ndodhë gjithashtu kur imazhet të jenë të nën -mostruara. Ky efekt mund të vërehet veçanërisht qartë në ndryshimet e mprehta të kundërta në shkëlqim.

Për të luftuar fenomene të tilla, përdoret para-filtrimi (antialiasing)-një bashkim paraprak i një imazhi analog me një funksion të peshimit të filtrit që ndërpret komponentët me frekuencë të lartë që mund të çojnë në aliazim. Në rastin dy-dimensionale, filtrimi përshkruhet si më poshtë:

z (x, y) = h (x ", y") ③③ s (x-x ", y-y"). (17.2.5)

Duhet theksuar se imazhe analoge ekzistojnë vetëm në rangun optik, për shembull, në formën e një dritëje në ekran, letër fotografike ose film fotografik, por nuk mund të ekzistojnë në kujtesën e një kompjuteri. Prandaj, performanca fizike e para-filtrimit është e mundur vetëm kur regjistroni një imazh duke e fokusuar atë, i cili, si rregull, nuk zbatohet. Informacioni parësor duhet të regjistrohet gjithmonë me plotësinë dhe saktësinë maksimale, dhe pastrimi i informacionit parësor nga detajet e panevojshme dhe tepricat është çështje e përpunimit të mëvonshëm të të dhënave. Prandaj, në lidhje me ekuacionin 17.2.5, parafiltrimi dy-dimensional, në zbatimin e tij praktik, mund të jetë vetëm filtrim i imazheve të marra me një diferencë të madhe mbi gamën e frekuencës kryesore (me rezolucion të tepruar), dhe përdoret, si rregull, kur mbivendoset në një hap më të madh.për shembull, kur ngjeshim imazhet. Para-filtrimi gjithashtu mund të ndërtohet në algoritme të imazhit.

Ne fig 17.2.3 dhe më poshtë, Tabela 17.2.1 tregon shembujt e filtrave më të zakonshëm njëdimensional kundër zbutjes. Ato mund të kryhen në formën e filtrave analoge dhe mund të përdoren, për shembull, kur transmetoni linja televizive të imazheve në formë analoge përmes kanaleve të radios (antialiasing horizontal). Në parim, një operacion i ngjashëm mund të kryhet në kolona (imazh i dyfishtë), dhe pasi të përmblidhet imazhi, do të kryhet një operacion i plotë anti -aliasing, por kjo metodë i përket më shumë fushës së kërkimit të veçantë shkencor.

Tabela 17.2.1.

Funksionet themelore të peshës

Dritarja e kohës

Funksioni i peshës

Transformimi Furier

Natyrore (P)

П (t) = 1, | t | £ t; П (t) = 0, | t |> t

P (w) = 2t sinc

Bartlett (D)

B (w) = t sinc2 (wt / 2).

Henninga, Ganna

p (t) = 0.5

0.5P (w) + 0.25P (w + p / t) + 0.25P (w-p / t)

Hamming

p (t) = 0.54 + 0.46 cos (pt / t)

0.54P (w) + 0.23P (w + p / t) + 0.23P (w-p / t)

Carre (dritarja e dytë)

p (t) = b (t) sinc (pt / t)

t · B (w) * П (w), П (w) = 1 për | w |

Laplace-Gauss

p (t) = exp [-b2 (t / t) 2/2]

[(t / b) exp (-t2w2 / (2b2))]] ③ П (w)

Analogët dy-dimensionale të filtrave njëdimensional f1 (x) janë ndërtuar në dy variante të simetrisë: ose në funksion të rrezes:

f2 (x, y) = f1 (),

ose si vepër:

f2 (x, y) = f1 (x) f1 (y).

Opsioni i parë është më i saktë, por i dyti ka vetinë e ndarshmërisë, domethënë, konvolucioni dy-dimensional mund të kryhet nga dy rrotullime një-dimensionale në mënyrë radhazi përgjatë rreshtave me f1 (x) dhe përgjatë kolonave me f1 (y) Me

Rimodelimi i imazhit ose marrja e mostrave është një ndryshim në shkallën e marrjes së mostrave të një sinjali dixhital. Për imazhet dixhitale, kjo nënkupton ndryshimin e madhësisë së figurës.

Ka algoritme të ndryshme për marrjen e mostrave të imazheve. Për shembull, për të zmadhuar imazhin me 2 herë duke përdorur metodën e interpolimit bilinear, kolonat dhe rreshtat e ndërmjetëm merren nga interpolimi linear i vlerave të kolonave dhe rreshtave ngjitur. Çdo pikë e imazhit të ri mund të merret si një shumë e ponderuar e një numri më të madh pikësh në imazhin origjinal (bicubik dhe lloje të tjera të interpolimit). Rishikimi i cilësisë më të lartë merret kur përdorni algoritme që marrin parasysh jo vetëm kohën, por edhe fushën e frekuencës së sinjalit.

Konsideroni një algoritëm të marrjes së mostrave me ruajtjen maksimale të informacionit të frekuencës së figurës. Ne do të marrim parasysh funksionimin e algoritmit në sinjale një-dimensionale, pasi një imazh dy-dimensional mund të shtrihet ose kompresohet fillimisht horizontalisht (sipas rreshtave) dhe më pas vertikalisht (me kolona), dhe rimodelimi i një imazhi dy-dimensional mund të jetë reduktohet në marrjen e mostrave të sinjaleve njëdimensionale.

Supozoni se kemi një sinjal njëdimensional (Fig. 17.2.4), të specifikuar në intervalin 0-T dhe të mostrës me një hap Dt = 1 (intervalet N). Necessaryshtë e nevojshme të "shtrihet" sinjali m herë. Spektri i sinjalit i treguar në figurë llogaritet me transformimin e shpejtë të Furierit (FFT, numri i mostrave të spektrit është i barabartë me numrin e mostrave të sinjalit) dhe jepet në rangun kryesor FFT (0-2p, frekuenca Nyquist wN = p / Dt = p, ose 0.5N sipas numërimit të mostrave të spektrit me një hap përgjatë spektrit Df = 1 / T ose Dw = 2p / T). Ka 2 hapa për të kryer shtrirje.

Hapi i parë është interpolimi me zero, i cili rrit gjatësinë e sinjalit me një faktor m. (fig.17.2.5). Isshtë e nevojshme të shumëzoni të gjitha mostrat e sinjalit origjinal me m, dhe pastaj pas çdo mostre të sinjalit futni vlerën m-1 zero. Në intervalin 0-T, vlera e të cilit mbetet e pandryshuar, tani gjendet m herë më shumë intervale të marrjes së mostrave (mN), dhe hapi i ri i kampionimit do të jetë i barabartë me Dx = Dt / m. Prandaj, frekuenca e re Nyquist për këtë sinjal është mp / Dt = mp. Por vlera fizike e hapit të spektrit në njësitë e frekuencës është e kundërt me vlerën fizike të intervalit të vendosjes së sinjalit (Df = 1 / T), dhe, prandaj, FFT nga pikat mN të sinjalit do të llogarisë mN pikat e spektrit në diapazoni kryesor FFT prej 0-2pm me një hap të spektrit të sinjalit origjinal, në të cilin do të jenë të pranishëm m-periudhat e spektrit të sinjalit origjinal (njëra anë kryesore dhe m-1).

Hapi i dytë është filtrimi i brezave anësorë të spektrit duke përdorur një filtër me kalim të ulët në fushën e kohës ose fushën spektrale. Ne fig 17.2.6, spektri u pastrua dhe u krye transformimi i anasjelltë Furier, si rezultat i të cilit u mor një sinjal m herë më i gjatë se ai origjinal me ruajtjen e plotë të të gjithë informacionit të frekuencës.

Sipas një parimi të ngjashëm, mund të ndërtohet një algoritëm për kompresimin (dekimimin) e një sinjali n herë, ndërsa rendi i hapave përmbyset. Kur sinjali është i ngjeshur, hapi i marrjes së mostrës së sinjalit rritet dhe, në përputhje me rrethanat, frekuenca Nyquist zvogëlohet, ndërsa frekuencat e larta të prera (zhurma dhe pjesët e parëndësishme të frekuencës së lartë të spektrit të sinjalit) do të reflektohen nga kufiri i gamës kryesore dhe i shtohet informacionit kryesor, duke krijuar shtrembërime. Për të eleminuar këtë fenomen, sinjali filtrohet së pari me kalueshmëri të ulët me një frekuencë ndërprerje të barabartë me frekuencën e re Nyquist (antialiasing), dhe vetëm atëherë sinjali shkatërrohet me dekimim.

Kur merret mostra vetëm në fushën kohore, algoritmet e shtrirjes dhe ngjeshjes kombinohen, si rregull, në një proces të vetëm vijues me specifikimin e ndryshimit në hapin e marrjes së mostrës në formën e raportit m / n, gjë që bën të mundur vendosjen e numrit të plotë vlerat e m dhe n në vlerat e pjesshme të ndryshimit në hapin e marrjes së mostrës. Kjo thjeshton shumë algoritmet dhe rrit efikasitetin dhe cilësinë e punës së tyre. Për shembull, kur sinjali shtrihet 1.5 herë në m / n = 3/2, sinjali fillimisht shtrihet 3 herë (shtimi i thjeshtë dhe uniform i zerove në të gjitha mostrat, pastaj bëhet filtrimi me kalim të ulët, pas së cilës sinjali është shkatërrohet dy herë. Një filtër anti-aliasing nuk kërkohet, pasi frekuenca e tij e ndërprerjes mbulohet nga frekuenca e filtrit të parë të kalimit të ulët. Kur funksionon kompresimi i kundërt (për shembull, m / n = 2/3), vetëm filtri anti-aliasing përdoret në të njëjtën mënyrë.

17.3. filtrimi i imazheve

Filtrimi i imazhit është një operacion që rezulton në një imazh me të njëjtën madhësi, të marrë nga ajo origjinale sipas rregullave të caktuara. Zakonisht, intensiteti (ngjyra) e çdo pikseli të imazhit që rezulton përcaktohet nga intensitetet (ngjyrat) e pikselëve të vendosur në disa nga afërsia e tij në imazhin origjinal.

Rregullat e filtrimit mund të jenë shumë të ndryshme. Filtrimi i imazhit është një nga operacionet më themelore të vizionit kompjuterik, njohjes së modelit dhe përpunimit të imazhit. Puna e shumicës dërrmuese të metodave të përpunimit të imazhit fillon me një ose një filtrim tjetër të imazheve burimore.

Filtrat e linjës kanë një përshkrim shumë të thjeshtë matematikor. Ne do të supozojmë se imazhi origjinal i shkallës gri A është dhënë dhe shënojmë intensitetet e pikselëve të tij A (x, y). Një filtër linear përcaktohet nga një funksion me vlerë reale h (kernel filtri) i përcaktuar në raster. Vetë filtrimi kryhet duke përdorur operacionin konvolucion diskrete (përmbledhje e ponderuar):

B (x, y) = h (i, j) ③③A (x, y) = h (i, j) A (x-i, y-j). (17.3.1)

Rezultati është imazhi B. Zakonisht, bërthama e filtrit është jozero vetëm në disa lagje N të pikës (0, 0). Jashtë kësaj lagjeje, h (i, j) është zero, ose shumë afër saj dhe mund të neglizhohet. Përmbledhja kryhet mbi (i, j) Î N, dhe vlera e çdo pikseli B (x, y) përcaktohet nga pikselët e figurës A, të cilat shtrihen në dritaren N, të përqendruar në pikën (x, y ) (përcaktimi - bashkësia N (x, y)). Kerneli i filtrit, i dhënë në një lagje drejtkëndëshe të N, mund të shihet si një matricë m-by-n, ku gjatësitë e anëve janë numra tek. Kur specifikoni një kernel si një matricë, ajo duhet të jetë e përqendruar. Nëse pikseli (x, y) është në afërsi të skajeve të figurës, atëherë koordinatat A (x-i, y-j) për disa (i, j) mund të korrespondojnë me piksele joekzistente A jashtë imazhit. Ky problem mund të zgjidhet në disa mënyra.

Mos i filtroni këto piksele duke prerë imazhin B në skajet, ose duke aplikuar vlerat origjinale të figurës A në vlerat e tyre.

Mos e përfshini pikselin që mungon në përmbledhje duke e shpërndarë peshën e tij h (i, j) në mënyrë të barabartë mes pikselëve të tjerë në lagjen N (x, y).

Ripërcaktoni vlerat e pikselëve jashtë kufijve të figurës duke përdorur ekstrapolimin.

Ripërcaktoni vlerat e pikselëve jashtë kufijve të figurës duke përdorur një vazhdimësi të imazhit pasqyrë.

Zgjedhja e metodës bëhet duke marrë parasysh veçoritë specifike të filtrit dhe imazhit.

Filtrat zbutës. Filtri më i thjeshtë zbutës drejtkëndor i rrezes r përcaktohet duke përdorur një matricë me madhësi (2r + 1) × (2r + 1), të gjitha vlerat e së cilës janë të barabarta me 1 / (2r + 1) 2, dhe shumën e vlerat janë të barabarta me një. Shtë një analog dy-dimensional i një filtri mesatar lëvizës njëdimensional me formë U-je. Kur filtroni me një kernel të tillë, vlera e pikselit zëvendësohet me vlerën mesatare të pikselit në një katror me një anë 2r + 1 rreth tij. Një shembull i një maskë filtri 3 × 3:

.

Një nga aplikimet e filtrave është zvogëlimi i zhurmës. Zhurma ndryshon në mënyrë të pavarur nga piksel në piksel dhe, me kusht që pritshmëria matematikore e vlerës së zhurmës të jetë zero, zhurma e pikselëve fqinjë do të anulojë njëri -tjetrin gjatë mbledhjes. Sa më i madh të jetë dritarja e filtrimit, aq më pak do të jetë intensiteti mesatar i zhurmës, por kjo gjithashtu do të rezultojë në një mjegullim përkatës të detajeve të rëndësishme të imazhit. Imazhi i një pike të bardhë në një sfond të zi gjatë filtrimit (reagimi ndaj një impulsi të vetëm) do të jetë një shesh gri në mënyrë uniforme.

Reduktimi i zhurmës duke përdorur një filtër drejtkëndor ka një pengesë të rëndësishme: të gjitha pikselet në maskën e filtrit në çdo distancë nga ajo e përpunuar kanë të njëjtin efekt në rezultat. Një rezultat pak më i mirë merret kur modifikoni filtrin me një rritje në peshën e pikës qendrore:

.

Reduktimi më efektiv i zhurmës mund të kryhet nëse efekti i pikselëve në rezultat zvogëlohet me rritjen e distancës nga objekti që përpunohet. Kjo pronë zotërohet nga një filtër Gaussian me kernelin: h (i, j) = (1 / 2ps2) exp (- (i2 + j2) / 2s2). Filtri Gaussian ka një bërthamë jozero me madhësi të pafund. Sidoqoftë, vlera e bërthamës së filtrit zvogëlohet shumë shpejt në n), dhe për këtë arsye, në praktikë, dikush mund të kufizohet në rrotullim me një dritare të vogël rreth (0, 0), për shembull, duke marrë rrezen e dritares të barabartë me 3σ.

Filtrimi Gaussian është gjithashtu anti-aliasing. Sidoqoftë, ndryshe nga një filtër drejtkëndor, imazhi i një pike me filtrim Gaussian do të jetë një vend i paqartë simetrik, me një rënie të shkëlqimit nga mesi në skajet. Shkalla e mjegullimit të imazheve përcaktohet nga parametri σ.

Filtra në rritje të kontrastit ... Ndërsa filtrat kundër zbutjes zvogëlojnë kontrastin lokal të një imazhi duke e mjegulluar atë, filtrat që rrisin kontrastin prodhojnë efektin e kundërt dhe janë filtra në thelb të frekuencës hapësinore. Thelbi i filtrit të rritjes së kontrastit në pikën (0, 0) ka një vlerë më të madhe se 1, me një shumë totale të vlerave të barabarta me 1. Për shembull, filtrat për rritjen e kontrastit janë filtra me një kernel të specifikuar nga matricat :

. .

Një shembull i aplikimit të filtrit është treguar në Fig. 17.3.1. Efekti i rritjes së kontrastit arrihet me faktin se filtri thekson ndryshimin midis intensiteteve të pikselave fqinjë, duke hequr këto intensitete nga njëri -tjetri. Ky efekt do të jetë sa më i fortë, aq më e madhe është vlera e termit qendror të bërthamës. Një artefakt karakteristik i filtrimit të kontrastit linear është drita e dukshme dhe halo të errëta më pak të dukshme rreth kufijve.

Dallimi i filtrave Janë filtra linearë të dhënë nga përafrime diskrete diferenciale operatorët (me metodën e diferencave të fundme). Këta filtra luajnë një rol thelbësor në shumë aplikacione, për shembull, për detyrat e gjetjes së kufijve në një imazh.

Operatori diferencial më i thjeshtë po merr derivatin në lidhje me koordinatën x / dx, e cila është përcaktuar për funksione të vazhdueshme. Variantet e zakonshme të operatorëve të ngjashëm për imazhe diskrete janë filtrat Prewitt dhe Sobel:

. .

Filtrat që përafrojnë operatorin e derivatit në lidhje me koordinatën y d / dy merren duke transpozuar matrica.

Algoritmi më i thjeshtë për llogaritjen e normës së gradientit nga tre pika ngjitur:

G (x, y) = .

Zbatohet gjithashtu një formulë e thjeshtuar e llogaritjes:

Llogaritja e normës së gradientit nga katër pika ngjitur (operatori Roberts):

Algoritmi i Sobel përdor tetë lexime të shkëlqimit në afërsi të pikës qendrore:

G (x, y) = , G (x, y) @ ,

Gxx, y = -,

Gyx, y = -.

Së bashku me një përcaktim më të saktë të normës së gradientit, algoritmi i Sobel gjithashtu lejon përcaktimin e drejtimit të vektorit të gradientit në planin e analizës së imazhit në formën e këndit j midis vektorit të gradientit dhe drejtimit të rreshtave të matricës:

j (x, y) = argtg (Gyx, y / Gxx, y).

Në kontrast me filtrat anti-aliasing dhe kontrast, të cilët nuk ndryshojnë intensitetin mesatar të figurës, si rezultat i përdorimit të operatorëve të diferencës, si rregull, një imazh merret me një vlerë mesatare pikseli afër zeros. Skajet vertikale (kufijtë) e imazhit origjinal korrespondojnë me piksele me vlera të mëdha absolute në imazhin që rezulton. Prandaj, filtrat delta quhen gjithashtu filtra të përzgjedhjes së kufirit.

Ngjashëm me filtrat e mësipërm, duke përdorur metodën e diferencës së fundme, mund të krijoni filtra për operatorët e tjerë diferencialë. Në veçanti, operatori diferencial i Laplace (Laplacian) D = 𝝏2 / 𝝏x2 + 𝝏2 / 𝝏y2, i cili është i rëndësishëm për shumë aplikime, mund të përafrohet për imazhe diskrete nga një filtër me një matricë (një nga opsionet):

.

Siç shihet në Fig. 17.3.2, si rezultat i aplikimit të Laplacianit diskret, vlerat e mëdha absolute korrespondojnë me dallimet vertikale dhe horizontale në shkëlqim. Filtri është kështu një filtër që gjen kufijtë e çdo orientimi. Gjetja e kufijve në imazh mund të bëhet duke aplikuar këtë filtër dhe duke marrë të gjitha pikselet, madhësia e të cilave tejkalon një prag të caktuar.

Sidoqoftë, ky algoritëm ka disavantazhe të rëndësishme. Kryesorja është pasiguria në zgjedhjen e vlerës së pragut. Për pjesë të ndryshme të figurës, një rezultat i pranueshëm zakonisht merret në vlera pragu dukshëm të ndryshme. Përveç kësaj, filtrat e ndryshimit janë shumë të ndjeshëm ndaj zhurmës së figurës.

Konvolucion ciklik dy-dimensional. Sa i përket sinjaleve njëdimensionale, konvolucioni dydimensional mund të kryhet në fushën e frekuencave hapësinore duke përdorur algoritme të shpejtë të transformimit Furier dhe duke shumëzuar spektrat dy-dimensionale të figurës dhe bërthamës së filtrit. Alsoshtë gjithashtu ciklike, dhe zakonisht kryhet në një version rrëshqitës. Duke marrë parasysh ciklikitetin, për të llogaritur modelin konstant të spektrit të kernelit, dimensionet e maskës së filtrit të kernelit dyfishohen përgjatë akseve dhe mbushen me zero, dhe të njëjtat madhësi të maskës përdoren për të zgjedhur një dritare që rrëshqet mbi imazhin, brenda të cilat kryhet FFT. Zbatimi i një filtri FIR me një FFT është veçanërisht efektiv nëse filtri ka një zonë të madhe referimi.

Filtra jo-linearë ... Në përpunimin dixhital të imazhit, algoritmet jolineare të bazuara në statistikat e rangut përdoren gjerësisht për të rikuperuar imazhet e dëmtuara nga modele të ndryshme të zhurmës. Ato ju lejojnë të shmangni shtrembërimin shtesë të figurës kur hiqni zhurmën, si dhe përmirësoni ndjeshëm rezultatet e filtrimit të imazheve me një shkallë të lartë të zhurmës.

Le të prezantojmë konceptin e një lagjeje M të një elementi të imazhit A (x, y), i cili është qendror për këtë lagje. Në rastin më të thjeshtë, fqinjësia M përmban piksele N-pikat që bien në maskën e filtrit, duke përfshirë (ose duke mos përfshirë) atë qendrore. Vlerat e këtyre elementeve N mund të organizohen në variacionale seria V (r), e renditur në rendin rritës (ose zbritës), dhe llogarit momente të caktuara të kësaj serie, për shembull, vlera mesatare e shkëlqimit mN dhe varianca dN Llogaritja e vlerës së daljes së filtrit, e cila zëvendëson mostrën qendrore, kryhet duke përdorur formulën:

B (x, y) = aА (x, y) + (1-a) mN. (17.3.2)

Vlera e koeficientit a = është e lidhur me një marrëdhënie të caktuar me statistikat e numërimeve në dritaren e filtrit, për shembull:

a = dN / (dN + k dS), (17.3.3)

ku dS është varianca e zhurmës në imazh në tërësi ose në lagjen S për S> M dhe MÎS, k është konstantja e besimit të variancës së lagjeve S. Siç vijon nga kjo formulë, për k = 1 dhe dN "dS, ndodh një" 0.5 ", dhe vlera B (x, y) = (A (x, y) + mN) / 2, domethënë, shtoni në mënyrë të barabartë nga vlerat e referencës qendrore dhe vlera mesatare e pikselëve të lagjes M të saj. Me një rritje të vlerave të dN, kontributi në rezultatin e vlerës së referencës qendrore rritet, dhe me një rënie, vlera e mN. Pesha e kontributit të vlerave mesatare mbi lagjen M mund të ndryshohet nga vlera e koeficientit k.

Zgjedhja e funksionit statistikor dhe natyra e varësisë së koeficientit a mbi të mund të jenë mjaft të larmishme (për shembull, sipas ndryshimeve të dallimeve në mostrat në lagjen M me mostrën qendrore), dhe varet nga të dyja në madhësinë e hapjes së filtrit dhe në natyrën e imazheve dhe zhurmës. Në thelb, vlera e koeficientit a duhet të specifikojë shkallën e dëmtimit të referencës qendrore dhe, në përputhje me rrethanat, funksionin e huazimit të mostrave nga lagjja M për ta korrigjuar atë.

Llojet më të thjeshta dhe të zakonshme të filtrave jolinearë për përpunimin e imazhit janë filtrat e pragut dhe mesatar.

Filtrimi i pragut është vendosur, për shembull, si më poshtë:

B (x, y) =

Sasia fqështë pragu i filtrimit. Nëse vlera e pikës qendrore të filtrit tejkalon vlerën mesatare të mostrave mN në lagjen e tij M me vlerën e pragut, atëherë ajo zëvendësohet me vlerën mesatare. Vlera e pragut mund të jetë ose konstante ose funksionale e varur nga vlera e pikës qendrore.

Filtrimi mesatar përcaktohet si më poshtë:

B (x, y) = med (M (x, y)),

domethënë, rezultati i filtrimit është vlera mesatare e pikselëve të lagjes, forma e së cilës përcaktohet nga maska ​​e filtrit. Filtrimi mesatar mund të largojë në mënyrë efektive zhurmën nga një imazh që ndikon në mënyrë të pavarur piksele individuale. Për shembull, zhurma të tilla janë piksele të "thyera" në fotografinë dixhitale, zhurma "borë", kur disa nga pikselët zëvendësohen me piksele me intensitet maksimal, etj. Avantazhi i filtrimit mesatar është se një piksel "i nxehtë" në një sfond të errët do të zëvendësohet e errët, dhe nuk "lyhet" në afërsi.

Filtrimi mesatar ka një selektivitet të theksuar në lidhje me elementët e grupit, të cilët janë një përbërës jo monotonik i një sekuence numrash brenda hapjes së filtrit. Në të njëjtën kohë, filtri mesatar lë përbërësin monotonik të sekuencës të pandryshuar. Për shkak të kësaj veçorie, filtrat mesatarë me një hapje të zgjedhur në mënyrë optimale ruajnë skajet e mprehta të objekteve pa shtrembërim, duke shtypur zhurmën e pakorreluar ose të lidhur dobët dhe detajet e vogla.

Filtra ekstremum përcaktohen nga rregullat:

Bmin (x, y) = min (M (x, y)),

Bmax (x, y) = max (M (x, y)),

domethënë, rezultati i filtrimit është vlera minimale dhe maksimale e pikselit në maskën e filtrit. Filtra të tillë përdoren, si rregull, për imazhe binare.

17.4. KOMPRESIONI I IMAZHIT

Një imazh tipik me një rezolutë të rendit 3000 × 2000 në 24 bit për piksel për riprodhimin e ngjyrave është 17 megabajt. Për pajisjet profesionale, madhësia e rasterit të imazhit që rezulton mund të jetë shumë më e madhe, thellësia e ngjyrave është deri në 48 bit për pixel, dhe madhësia e një imazhi mund të jetë më shumë se 200 megabajt. Prandaj, algoritmet e kompresimit të figurës janë shumë të rëndësishme për të zvogëluar sasinë e të dhënave që përfaqësojnë një imazh.

Ekzistojnë dy klasa kryesore të algoritmeve:

1. Kompresimi pa humbje, nëse ka një algoritëm kaq të anasjelltë A-1 që për çdo h-imazh A [h] = h1 kemi A-1 = h. Kompresimi pa humbje përdoret në të tilla formate grafike paraqitjet e imazheve, të tilla si: GIF, PCX, PNG, TGA, TIFF, dhe përdoret në përpunimin e informacionit veçanërisht të vlefshëm parësor (imazhe mjekësore, imazhe ajrore dhe hapësinore, etj.), Kur edhe shtrembërimi më i vogël është i padëshirueshëm

2. Kompresimi me humbje (ngjeshje me humbje), nëse nuk siguron aftësinë për të rivendosur me saktësi imazhin origjinal. Një algoritëm për restaurimin e përafërt të imazhit të çiftuar me A do të shënohet si A *. Çifti (A, A *) është zgjedhur për të siguruar raporte të larta kompresimi duke ruajtur cilësinë vizuale. Kompresimi i humbur përdoret në formatet grafike: JPEG, JPEG2000, etj.

Të gjithë algoritmet dhe deklaratat i referohen imazheve dhe sekuencave arbitrare, elementët e të cilave mund të marrin një numër të kufizuar vlerash. Duhet të kihet parasysh se nuk ka algoritme ideale që kompresojnë çdo grup të dhënash pa humbje.

Algoritmet e Kodimit të Gjatësisë së Përsëritjes (RLE) bazohen në një parim të thjeshtë: zëvendësimin e grupeve të përsëritura të elementeve të sekuencës origjinale me një palë (sasi, element), ose vetëm me sasi.

Niveli i bitit. Ne do t'i konsiderojmë të dhënat origjinale në nivelin e një sekuence të bitëve, për shembull, që përfaqësojnë një imazh bardh e zi. Zakonisht ka disa 0 ose 1 në një rresht, dhe ju mund të kodoni numrin e shifrave identike të njëpasnjëshme. Por numri i përsëritjeve gjithashtu duhet të kodohet në copa. Mund të supozojmë se secili numër i përsëritjeve ndryshon nga 0 në 7 (kodi 3-bit), duke alternuar një sekuencë të kodeve të njësive dhe zerove. Për shembull, sekuenca mund të krahasohet me numrat 7 0 4, domethënë 7 njësi, 0 zero, 4 njësi, dhe ne kemi Viti i Ri- Sa më e gjatë të jetë gjatësia e sekuencave të të njëjtave bit, aq më i madh është efekti. Pra, një sekuencë prej 21 njëshe, 21 zero, 3 njëshe dhe 7 zero është e koduar si më poshtë: domethënë, nga sekuenca origjinale me një gjatësi prej 51 bitësh, ne kemi një sekuencë me një gjatësi prej 36 bitësh.

Niveli i bajtit. Supozoni se hyrja është një imazh i shkallës gri, ku 1 bajt i ndahet vlerës së intensitetit të pikselit, ndërsa pritshmëria e një vargu të gjatë të bitëve identikë zvogëlohet ndjeshëm.

Ne do ta ndajmë rrjedhën hyrëse në bajt (kod nga 0 në 255) dhe do të kodojmë bajt të përsëritur në çifte (numër, shkronjë). Një bajt i vetëm mund të lihet i pandryshuar. Pra, bajtët AABBBCDAA janë të koduar (2A) (3B) (C) (D) (2A).

Sidoqoftë, modifikimet e këtij algoritmi përdoren rrallë vetë (për shembull, në formatin PCX), pasi nënklasa e sekuencave në të cilat algoritmi është efektiv është relativisht e ngushtë. Më shpesh ato përdoren si një nga fazat e tubacionit të kompresimit.

Algoritmet e fjalorit në vend që të kodohet vetëm një element i sekuencës hyrëse, zinxhiri i elementeve kodohet. Në këtë rast, një fjalor i vargjeve (i krijuar nga sekuenca hyrëse) përdoret për të koduar ato të reja.

Algoritmi LZ77 ishte një nga të parët që përdori një fjalor. Elementet e fundit N të koduar tashmë të sekuencës përdoren si fjalor. Gjatë procesit të kompresimit, fjalori i mëvonshëm "rrëshqet" mbi sekuencën hyrëse. Zinxhiri i elementeve në dalje është i koduar si më poshtë: pozicioni i pjesës që përputhet me zinxhirin e përpunuar të elementeve në fjalor - kompensuar (në raport me pozicionin aktual), gjatësia, elementi i parë që ndjek pjesën e përputhur të zinxhirit. Gjatësia e zinxhirit të ndeshjes kufizohet nga lart me numrin n. Prandaj, detyra është të gjesh vargun më të madh nga fjalori që përputhet me sekuencën që përpunohet. Nëse nuk ka ndeshje, atëherë kompensimi zero, një gjatësi dhe elementi i parë i sekuencës së pakoduar regjistrohen.

Skema e kodimit e përshkruar më sipër çon në konceptin e një dritare rrëshqitëse, e cila përbëhet nga dy pjesë:

Një pasojë e elementeve tashmë të koduar të gjatësisë N -fjalor - tampon kërko (tampon kërkimi);

Nënshtrimi i gjatësisë n nga zinxhiri i elementeve për të cilët do të bëhet një përpjekje për të gjetur një ndeshje është tamponi i shikimit përpara.

Dekodimi i një sekuence të ngjeshur është një deshifrim i kodeve të regjistruara: çdo hyrje përputhet me një varg nga një fjalor dhe një element të shkruar në mënyrë eksplicite, pas së cilës fjalori zhvendoset. Fjalori rikrijohet ndërsa algoritmi i deshifrimit funksionon.

Ky algoritëm është paraardhësi i një familje të tërë algoritmash. Përparësitë e tij përfshijnë një raport kompresimi të mirë në sekuenca mjaft të mëdha dhe dekompresim të shpejtë. Disavantazhet përfshijnë shpejtësi e ngadaltë kompresimi dhe më i ulët se ai i algoritmeve alternative, raporti i ngjeshjes.

Algoritmi LZW. Fjalori në këtë algoritëm është një tabelë që është e mbushur me zinxhirë elementësh ndërsa algoritmi funksionon. Procesi i kompresimit kërkon zinxhirin më të gjatë të shkruar tashmë në fjalor. Sa herë që një varg i ri elementesh nuk gjendet në fjalor, i shtohet fjalorit dhe shkruhet kodi i vargut. Në teori, nuk ka kufizime në madhësinë e tabelës, por kufizimi në madhësi ju lejon të përmirësoni raportin e ngjeshjes, pasi zinxhirët e panevojshëm (që nuk ndodhin) grumbullohen. Sa më shumë hyrje të ketë një tabelë, aq më shumë informacion duhet të ndahen për të ruajtur kodet.

Dekodimi konsiston në deshifrimin e drejtpërdrejtë të kodeve, domethënë, në ndërtimin e një fjalori dhe daljen e vargjeve përkatëse. Fjalori inicohet në të njëjtën mënyrë si në kodifikuesin. Përparësitë e algoritmit përfshijnë një raport të lartë kompresimi dhe një shpejtësi mjaft të lartë si të kompresimit ashtu edhe të deshifrimit.

Algoritmet e kodimit të entropisë vendosni në korrespondencë me secilin element të sekuencës kodin në mënyrë që gjatësia e tij të korrespondojë me probabilitetin e shfaqjes së elementit. Kompresimi ndodh duke zëvendësuar elementët e sekuencës origjinale që kanë të njëjtën gjatësi (secili element zë të njëjtin numër bitesh) me elementë me gjatësi të ndryshme proporcionale me logaritmin negativ të probabilitetit, domethënë, elementët që janë më të zakonshëm se pjesa tjetër kanë një gjatësi më të shkurtër të kodit.

Algoritmi Huffman përdor një kod prefiks me gjatësi të ndryshueshme me një veti të veçantë: kodet më të shkurtër nuk përputhen me parashtesën (pjesa fillestare) e atyre më të gjata. Ky kod lejon kodim një me një. Procesi i kompresimit konsiston në zëvendësimin e secilit element të sekuencës hyrëse me kodin e tij. Ndërtimi i një grupi kodesh zakonisht kryhet duke përdorur të ashtuquajturin pemët e kodit.

Algoritmi i Huffman është me dy kalime. Kalimi i parë mbi imazhin krijon një tabelë të peshave të elementeve, dhe gjatë së dytës, ndodh kodimi. Ka zbatime të algoritmit të tabelës fikse. Shpesh ndodh që shpërndarja e probabilitetit paraprak të elementeve alfabeti e panjohur, pasi e gjithë sekuenca nuk është e disponueshme menjëherë, dhe përdoren modifikime adaptive të algoritmit Huffman.

Kompresimi i imazhit të humbur. Sasia e informacionit të kërkuar për të ruajtur imazhet është zakonisht e madhe. Algoritmet klasike, duke qenë algoritme me qëllime të përgjithshme, nuk marrin parasysh që informacioni i ngjeshur është një imazh-një objekt dy-dimensional dhe nuk sigurojnë një raport të mjaftueshëm kompresimi.

Kompresimi i humbur bazohet në veçoritë e perceptimit njerëzor të një imazhi: ndjeshmëria më e lartë në një gamë të caktuar të gjatësisë së valës së ngjyrave, aftësia për të perceptuar imazhin në tërësi, pa vërejtur shtrembërime të vogla. Klasa kryesore e imazheve në të cilat përqendrohen algoritmet e kompresimit me humbje janë fotografitë, imazhe me kalime të qetë të ngjyrave.

Vlerësimi i humbjes së figurës. Ka shumë masa për vlerësimin e humbjes së imazheve pas rimëkëmbjes (dekodimit) të tyre nga ato të ngjeshura, por për të gjitha ato është e mundur të zgjidhen dy imazhe të tilla që masa e tyre e ndryshimit të jetë mjaft e madhe, por dallimet do të jenë pothuajse të padukshme te syri. Dhe anasjelltas - mund të marrësh imazhe që janë shumë të ndryshme nga syri, por kanë një masë të vogël ndryshimi.

Masa standarde numerike e humbjes është zakonisht devijimi standard (RMS) i vlerave të pikselëve të imazhit të rindërtuar nga ai origjinal. Sidoqoftë, "masa" më e rëndësishme për vlerësimin e humbjeve është mendimi i vëzhguesit. Sa më pak dallime (ose më mirë, mungesa e tyre) që vëzhguesi zbulon, aq më e lartë është cilësia e algoritmit të kompresimit. Algoritmet e kompresimit me humbje shpesh i japin përdoruesit aftësinë për të zgjedhur sasinë e të dhënave "të humbura", domethënë të drejtën për të zgjedhur midis cilësisë dhe madhësisë së imazhit të ngjeshur. Natyrisht, sa më mirë të jetë cilësia vizuale me një raport më të lartë kompresimi, aq më i mirë është algoritmi.

Transformimi Furier. Në përgjithësi, imazhi mund të konsiderohet si një funksion i dy ndryshoreve, të përcaktuara në pikat e rasterit përfundimtar. Një grup funksionesh të tilla në pikat e një rasteri të caktuar të përfunduar formojnë një hapësirë ​​Euklidiane të dimensioneve të fundme, dhe një transformim diskret Furier, domethënë, përfaqësimi spektral i imazhit, mund të zbatohet mbi to. Ajo siguron:

Pakorrelacioni dhe pavarësia e koeficientëve të spektrit, domethënë, saktësia e përfaqësimit të një koeficienti nuk varet nga asnjë tjetër.

- Ngjeshja e energjisë. Transformimi mban informacionin bazë në një numër të vogël koeficientësh. Kjo pronë është më e theksuar në imazhet fotorealiste.

Koeficientët e paraqitjes spektrale janë amplituda e frekuencave hapësinore të figurës. Në rastin e imazheve me kalime të qetë, shumica e informacionit përmbahet në spektrin me frekuencë të ulët.

Algoritmi i kompresimit i përdorur në formatin JPEG bazohet në përdorimin e transformimit diskrete të kosinusit Furier. Skema e ngjeshjes në algoritëm është një tubacion, ku ky transformim është vetëm një nga fazat, por një nga ato kryesore. Algoritmi përmban operacionet themelore të mëposhtme:

1. Përkthimi në hapësirën e ngjyrave YCbCr. Këtu Y është komponenti i ndriçimit, Cb dhe Cr janë komponentët e ngjyrimit. Syri i njeriut është më i ndjeshëm ndaj shkëlqimit sesa ngjyrës. Prandaj, është më e rëndësishme të ruhet saktësia më e madhe në transmetimin Y sesa në transmetimin Cb dhe Cr.

2. Transformimi diskret i kosinusit (DCT). Imazhi është i ndarë në blloqe 8 × 8. Një transformim diskret i kosinusit aplikohet në secilin bllok (veçmas për përbërësit Y, Cb dhe Cr).

3. Reduktimi i komponentëve me frekuencë të lartë në matricat DCT. Syri i njeriut praktikisht nuk vëren ndryshime në përbërësit me frekuencë të lartë, prandaj, koeficientët përgjegjës për frekuencat e larta mund të ruhen me më pak saktësi.

4. Renditja me zigzag e matricave. Kjo është një kalim i veçantë i matricës për marrjen e një sekuence një-dimensionale. Së pari vjen elementi T00, pastaj T01, T10, T1 Për më tepër, për imazhet tipike fotorealiste, koeficientët jozero që korrespondojnë me komponentët me frekuencë të ulët do të shkojnë së pari, dhe më pas-shumë zero (përbërës me frekuencë të lartë).

5. Kompresimi fillimisht me metodën RLE, dhe më pas me metodën Huffman.

Algoritmi i restaurimit të figurës funksionon në renditje të kundërt. Raporti i ngjeshjes nga 5 në 100 ose më shumë herë. Në të njëjtën kohë, cilësia vizuale për shumicën e imazheve fotorealiste mbetet në një nivel të mirë kur kompresohet deri në 15 herë. Algoritmi dhe formati janë më të zakonshmet për transferimin dhe ruajtjen e imazheve me ngjyra të plota.

Transformimi i valës sinjalet është një përgjithësim i transformimit klasik të Furierit. Termi "wavelet" në përkthim nga anglishtja do të thotë "valë e vogël (e shkurtër)". Valëzat janë një emër i përgjithësuar për familjet e funksioneve matematikore të një forme të caktuar, të cilat janë lokale në kohë dhe frekuencë, dhe në të cilat të gjitha funksionet merren nga një bazë me anë të ndërrimeve dhe shtrirjeve të tij përgjatë boshtit kohor.

Në algoritmet e kompresimit me humbje, si rregull, të gjitha operacionet e tubacionit të kompresimit ruhen, duke zëvendësuar transformimin diskret të Furierit me transformimin e valëve diskrete. Transformimet me valë kanë një lokalizim shumë të mirë frekuencor-hapësinor dhe janë superiore ndaj transformimeve tradicionale të Furierit në këtë tregues. Kjo bën të mundur aplikimin e kuantizimit më të fortë, duke përmirësuar vetitë e sekuencës për ngjeshjen e mëvonshme. Algoritmet e kompresimit të figurës bazuar në këtë transformim, me të njëjtin raport kompresimi, tregojnë rezultatet më të mira në ruajtjen e cilësisë së figurës.

letërsi

46. ​​et al.Algoritme të shpejta në përpunimin e imazhit dixhital. - M.: Radio dhe komunikim, 1984.- 224 f.

47. Përpunimi i imazhit Soifer. Pjesa 2. Metodat dhe algoritmet. - Revista Arsimore Soros Nr. 3, 1996.

48., Zhurma e kërcit nga imazhet e bazuara në algoritme jolineare duke përdorur statistikat e rangut. - Universiteti Shtetëror Yaroslavl, 2007.

49. Sistemet e mbikqyrjes televizive Andreev. Pjesa II Aritmetike - themelet logjike dhe algoritmet. Tutorial. - SPb: SPb, GUITMO, 2005 .-- 88p.

51. Hyrje në përpunimin e sinjalit dixhital (Bazat matematikore) .- M.: Universiteti Shtetëror i Moskës, Laboratori i grafikës kompjuterike dhe multimedia, 2002. - http: // pv. ***** / dsp / dspcourse. pdf, http: // dsp-libër. ***** / dspcourse. djvu, http: // gjeogin. ***** / arhiv / dsp / dsp4.pdf.

1i dhe të tjerët.Bazat algoritmike grafika raster... - Universiteti i Internetit teknologjitë e informacionit... - http: // www. ***** / goto / course / rastrgraph /

2i Lukin - sistemet elektronike: Shënime leksionesh. ITMO, 2004. - Shën Petersburg, ITMO IFF, 2004. - http: // iff. ***** / kons / oes / KL. htm

Rreth gabimeve të vërejtura dhe sugjerimeve për shtesat: ***** @ *** ru.

E drejta e autorit© 2008DavydovA.V.



Artikujt e lidhur: