Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ

Filtrimi. Algoritmi i mprehjes

Ky artikull tregon jo vetëm për filtrat më të zakonshëm të përpunimit të imazhit, por në një formë të kuptueshme përshkruan algoritmet për punën e tyre. Artikulli u drejtohet kryesisht programuesve të përfshirë në përpunimin e imazhit.

Matrica e konvolucionit

Ka shumë filtra që përdorin matricën e konvolucionit, ato kryesore do të përshkruhen më poshtë.

Një matricë konvolucioni është një matricë koeficientësh që "shumohet" me vlerën e pikselit të një imazhi për të marrë rezultatin e dëshiruar.
Më poshtë është aplikimi i matricës së konvolucionit:

Div është koeficienti i racionimit në mënyrë që intensiteti mesatar të mbetet i pandryshuar.

Në shembull, matrica është 3x3, megjithëse madhësia mund të jetë më e madhe.

Filtri i turbullimit

Filtri më i përdorur i bazuar në matricë konvolucioni është filtri i turbullimit.

Në mënyrë tipike, matrica plotësohet sipas ligjit normal (Gaussian). Më poshtë është një matricë turbullimi 5x5 e mbushur me një shpërndarje Gaussian.

Koeficientët tashmë janë normalizuar, kështu që div për këtë matricë është një.

Fuqia e turbullimit varet nga madhësia e matricës.

Vlen të përmenden kushtet kufitare (ky problem është i rëndësishëm për të gjithë filtrat e matricës). Pikseli i sipërm i majtë nuk ka një "fqinjë" në të djathtë të tij, prandaj, ne nuk kemi asgjë për të shumëzuar koeficientin e matricës me.

Ka 2 zgjidhje për këtë problem:

1. Aplikoni një filtër vetëm në "dritaren" e figurës, e cila ka koordinatat e këndit të sipërm majtas dhe për atë të djathtën e poshtme. kernelSize - madhësia e matricës; gjerësia, lartësia - madhësia e imazhit.

Kjo nuk është mënyra më e mirë, pasi filtri nuk aplikohet në të gjithë imazhin. Në këtë rast, cilësia vuan shumë nëse madhësia e filtrit është e madhe.

2. Metoda e dytë (shtimi) kërkon krijimin e një imazhi të ndërmjetëm. Ideja është të krijoni një imazh të përkohshëm me dimensione (gjerësia + 2 * Madhësia e kernelit / 2, lartësia + 2 * Madhësia e kernelit / 2). Imazhi i hyrjes kopjohet në qendër të figurës dhe skajet janë të mbushura me pikselat e jashtëm të figurës. Mjegullimi aplikohet në buferin e ndërmjetëm, dhe më pas rezultati merret prej tij.

Kjo metodë nuk ka disavantazhe në cilësi, por është e nevojshme të bëhen llogaritjet e panevojshme.

Filtri Gaussian blur ka kompleksitet O (hi * wi * n * n), ku hi, wi janë madhësitë e imazhit, n është madhësia e matricës (kerneli i filtrit). Ky algoritëm mund të optimizohet me cilësi të pranueshme.

Bërthama katrore (matrica) mund të zëvendësohet me dy njëdimensionale: horizontale dhe vertikale. Për një madhësi kernel prej 5, ato do të duken si:

Filtri aplikohet në 2 kalime: së pari horizontale, dhe më pas vertikale në rezultat (ose një kthesë).

Kompleksiteti i këtij algoritmi do të jetë O (hi * wi * n) + O (hi * wi * n) = 2 * O (hi * wi * n), i cili për një madhësi kernel më të madh se dy është më i shpejtë se katrori tradicional metoda e matricës.

Filtri mprehës

Për të përmirësuar qartësinë, duhet të përdorni matricën e mëposhtme:

Kjo matricë rrit diferencën në vlera në kufij. Div për këtë matricë është 1.

GIMP ka një filtër Convolution Matrix që e bën të lehtë gjetjen e transformimit të matricës që ju nevojitet.

Mund të gjeni më shumë informacion rreth filtrave bazuar në matricën e konvolucionit në artikull.

Filtri mesatar

Një filtër mesatar përdoret zakonisht për të reduktuar zhurmën ose për të "zbutur" një imazh.

Filtri funksionon me matrica të madhësive të ndryshme, por ndryshe nga një matricë konvolucioni, madhësia e matricës ndikon vetëm në numrin e pikselëve në fjalë.

Algoritmi mesatar i filtrit është si më poshtë:

Për pikselin aktual, pikselët që "bien" në matricë renditen dhe zgjidhet vlera mesatare nga grupi i renditur. Kjo vlerë është dalja për pikselin aktual.

Më poshtë është puna e filtrit mesatar për një madhësi kernel prej tre.

Filtrat e ngritjes dhe erozionit përdoren për të marrë përkatësisht zgjerimin ose tkurrjen morfologjike. Në terma më të thjeshtë, për imazhet, kjo do të thotë të zgjidhni një piksel me intensitetin maksimal ose minimal nga fqinjësia.

Si rezultat i ngritjes, ka një rritje të objekteve të ndritshme, dhe erozioni - një rritje në objektet e errëta.

Filtri përdor një imazh hyrës dhe një matricë binare. Matrica binare përcakton formën e lagjes. Zakonisht rrethina është e rrumbullakët.

Filtri i ngritjes mund të përdoret për të rritur shkëlqimin dhe reflektimet e shndritshme.

konkluzioni

Artikulli përshkruan disa nga filtrat e përpunimit të imazhit, përshkruan algoritmet e tyre dhe veçoritë e aplikimit.

Imazhet e formuara nga sisteme të ndryshme optoelektronike dhe të regjistruara me ndihmën e marrësve të ndryshëm shtrembërohen nga veprimi i interferencave të natyrave të ndryshme. Shtrembërimet e imazhit futen nga të gjithë përbërësit e pajisjes së imazhit, duke filluar me sistemin e ndriçimit (për shembull, ndriçimi i pabarabartë i një objekti). Shtrembërimet e paraqitura nga një sistem optik njihen në fazën e projektimit dhe quhen devijime. Shtrembërimet e paraqitura nga detektorët elektronikë të rrezatimit, të tilla si CCD, quhen zhurmë elektronike. Ndërhyrja pengon analizën vizuale të imazhit dhe përpunimin e tij automatik.

Dobësimi i efektit të interferencës arrihet me filtrim. Gjatë filtrimit, shkëlqimi (sinjali) i secilës pikë të imazhit origjinal, i shtrembëruar nga zhurma, zëvendësohet nga një vlerë tjetër e ndriçimit, e cila njihet si më pak e shtrembëruar nga zhurma. Për të kryer filtrimin, është e nevojshme të zhvillohen parimet e transformimeve të tilla, të cilat bazohen në faktin se intensiteti i imazhit ndryshon në koordinatat hapësinore më ngadalë se funksioni i zhurmës. Në raste të tjera, përkundrazi, një shenjë e një sinjali të dobishëm janë ndryshime të mprehta në shkëlqim.

Në metodat e filtrimit, kur vlerësohet një sinjal real në një pikë të caktuar në kornizë, një grup i caktuar ( lagje) pikat fqinje, duke përfituar nga një ngjashmëri e caktuar e sinjalit në këto pika. Koncepti i një lagjeje është mjaft arbitrar. Një lagje mund të formohet vetëm nga fqinjët më të afërt në kornizë, por mund të ketë lagje që përmbajnë mjaft pika dhe mjaft të largëta të kornizës. Në këtë rast, shkalla e ndikimit (pesha) e pikave të largëta dhe të afërta në vendimet e marra nga filtri në një pikë të caktuar të kornizës do të jetë krejtësisht e ndryshme. Kështu, ideologjia e filtrimit bazohet në përdorimin racional të të dhënave si nga pika e funksionimit ashtu edhe nga afërsia e saj.

Gjatë zgjidhjes së problemeve të filtrimit, përdoren modele probabilistike të imazhit dhe zhurmës dhe zbatohen kriteret statistikore të optimalitetit. Kjo është për shkak të natyrës së rastësishme të ndërhyrjes dhe dëshirës për të marrë diferencën minimale, mesatarisht, midis rezultatit të përpunimit dhe sinjalit ideal. Shumëllojshmëria e metodave dhe algoritmeve për filtrim shoqërohet me një shumëllojshmëri të gjerë të modeleve matematikore të sinjaleve dhe zhurmës, si dhe me kritere të ndryshme të optimizmit.

Le të jetë vlera e shkëlqimit të figurës - sinjali i dobishëm në kryqëzim i-linja e th dhe j kolona e -të, dhe imazhi i vëzhguar në hyrjen e filtrit përshkruhet nga modeli:

Këtu është vlera e zhurmës në pikën me koordinata (i, j), f ()Është një funksion që përshkruan ndërveprimin e një sinjali dhe ndërhyrjes, dhe Unë dhe J- numri i rreshtave dhe kolonave në kornizë, përkatësisht.

Figura 1 tregon shembuj të llojeve të ndryshme të lagjeve, të paraqitura si koleksione pikash. Qendra e lagjes, pika e punës në të cilën kryhet përpunimi është pika me koordinatat (i, j).

Oriz. 1 Shembuj të llojeve të ndryshme të lagjeve

Në varësi të llojit të lagjes, dallohen filtrimi i imazhit shkakor (a), jo shkakor (b) dhe gjysmë shkakor (c). Koncepti i shkakësisë (kauzalitetit) shoqërohet me raportin e koordinatave të pikës aktuale dhe pikave në afërsi. Nëse të dyja koordinatat (numri i rreshtit dhe numri i kolonës) të të gjitha pikave në lagje nuk i kalojnë koordinatat përkatëse të pikës aktuale, atëherë lagja dhe përpunimi që e përdor atë quhen shkakësore... Nëse pikat e një lagjeje plotësojnë parimin e shkakësisë, një filtrim i bazuar në përdorimin e një lagjeje të tillë quhet jo shkakësore... Nëse midis pikave të lagjes ka pika, koordinatat e të cilave nuk e kalojnë pikën e funksionimit në një drejtim, por e tejkalojnë atë në tjetrin, atëherë filtrimi është gjysmëshkakore filtrimi.

Me filtrimin linear, efekti i daljes përcaktohet nga një kombinim linear i hyrjeve:

Në këtë shprehje - rezultati i filtrimit të sinjalit të dobishëm në pikën e kornizës me koordinata (i, j), S - grupi i pikave që formojnë një lagje janë koeficientë të peshës, tërësia e të cilave është përgjigja impulsive dydimensionale (IH). Nëse zona Sështë e fundme, përgjigja e impulsit ka një gjatësi të kufizuar dhe filtri quhet filtër FIR. Përndryshe, përgjigja e impulsit është me gjatësi të pafundme dhe filtri quhet filtër IIR. Përgjigja e impulsit është e pavarur nga koordinatat e pikës në të cilën përcaktohet efekti i daljes. Procedurat e përpunimit të imazhit që janë të pavarura nga koordinatat quhen homogjene (izoplanatike).

Kriteri më i zakonshëm i optimalitetit i përdorur për të vlerësuar cilësinë e përpunimit është kriteri i katrorit mesatar minimal të gabimeve. Për sa i përket filtrimit, le të shkruajmë shprehjen e tij në formën:

që është një kërkesë shtesë për reagimin impuls të filtrit.

Potencialisht rezultatet më të mira të filtrimit arrihen kur përdoret parimi jo shkakësor, pasi ky parim bazohet në përdorimin e absolutisht të gjitha të dhënave fillestare kur përpunohet çdo pikë në kornizë.

Rezultati i filtrimit linear për një dritare të caktuar (për një piksel të caktuar qendror) përshkruhet me formulën e mëposhtme të thjeshtë:

$$ \ start (mbled) \ tag (1) \ mbox (Im) "= \ shuma \ limits_ (i = - \ textrm (hWinX)) ^ (\ textrm (hWinX)) ~ \ shuma \ limits_ (j = - \ textrm (hWinY)) ^ (\ textrm (hWinY)) (\ mbox (Im) \ cdot \ mbox (Mask)), \ fund (mbledh) $$

ku $ \ mbox (hWinX) = [\ mbox (WinX) / 2] $, $ \ mbox (hWinY) = [\ mbox (WinY) / 2] $ janë gjysma e gjerësisë dhe gjysmë lartësisë së dritares së filtrimit, përkatësisht (në rastin e një $ 3 \ herë 3 $ të dyja sasitë janë të barabarta 1).

Rezultati i aplikimit të operacionit (1) në të gjithë pikselët e Im $$ quhet $ \ it (përbërje) $ i Im me maskë.

Mesatarja lëvizëse në dritare.

Lloji më i thjeshtë i filtrimit linear të dritareve në domenin hapësinor është \ it (mesatarja lëvizëse) në dritare. Rezultati i një filtri të tillë është vlera e pritshmërisë matematikore e llogaritur mbi të gjitha pikselat e dritares. Matematikisht, kjo është ekuivalente me një konvolucioni me një maskë, të gjithë elementët e së cilës janë të barabartë me 1 $ / n $, ku $ n $ është numri i elementeve në maskë. Për shembull, një maskë mesatare lëvizëse me madhësi $ 3 \ herë 3 $ ka formën

$$ \ frac (1) (9) \ herë \ fillojë (vmatrix) 1 & 1 & 1 \ cr 1 & 1 & 1 \ cr 1 & 1 & 1 \ fund (vmatrix). $$

Konsideroni një shembull të filtrimit të një imazhi të zhurmshëm në shkallë gri me një filtër mesatar në lëvizje. Imazhet janë të zhurmshme me zhurmën shtesë Gaussian (Fig. 2-8).

Në fig. 1 - 6 janë shembuj të filtrimit të një imazhi në shkallë gri me shkallë të ndryshme zhurme nga një filtër mesatar me një madhësi dritare prej 3 $ \ herë 3 $. Siç mund ta shihni nga shembulli, filtri "mesatarja në lëvizje" ka një aftësi më të ulët për të shtypur komponentin e zhurmës në krahasim me filtrin mesatar të konsideruar më parë 3 $ \ herë 3 $.

Konsideroni një mesatare lëvizëse me një dritare të madhe filtri. Në fig. Figura 23-28 japin një shembull të filtrimit mesatar me madhësi të ndryshme hapjeje.

Siç shihet nga Fig. - 12, me një rritje në madhësinë e dritares, rritet aftësia e filtrit mesatar për të shtypur komponentin e zhurmës. Megjithatë, në këtë rast, efekti i "defokusimit" të dukshëm të imazhit gjithashtu rritet (Fig. 11, 12) për shkak të turbullimit të skajeve të objekteve të dukshme. Ne gjithashtu nuk e vumë re këtë efekt turbullues, i cili është specifik për filtrat linearë, në rastin e filtrimit të rangut jolinear.

Filtrimi Gaussian.

Në pjesën e mëparshme, ne shqyrtuam rastin "degjenerues" të filtrimit linear me një maskë uniforme. Ndërkohë, vetë ideja e konvolucionit të një imazhi me një matricë peshe është e ngjashme me idenë e konsideruar më parë për futjen e një matrice të peshës në filtrat e përqindjes së peshuar. Është e mundur të rritet qëndrueshmëria e rezultateve të filtrimit në skajet e rajoneve nëse pikat më të afërta në fqinjësi kanë një ndikim më të madh në rezultatin përfundimtar sesa ato të largëta. Një shembull i zbatimit të kësaj ideje për një dritare $ 3 \ herë 3 $ është maska

$$ \ frac (1) (16) \ herë \ fillojë (vmatrix) 1 & 2 & 1 \ cr 2 & 4 & 2 \ cr 1 & 2 & 1 \ fund (vmatrix). $$

Kjo maskë quhet Gaussian; përkatësisht, dhe filtri linear që e përdor quhet edhe $ \ it (Gaussian) $. Duke përdorur përafrime diskrete të një funksioni Gaussian dydimensional, mund të përftohen bërthama të tjera më të mëdha Gaussian. Vini re se maskat e filtrit të linjës $ \ it (zbutje) $ ose $ \ it (filtrim) $ duhet të kenë shumën e të gjithë elementëve të barabartë me 1 $. Ky $ \ it (kushti i normalizimit) $ garanton një përgjigje adekuate të filtrit ndaj një sinjali konstant (imazhi konstant Im $ = \ const $).

Në fig. 13 - 15 tregojnë një shembull të filtrimit linear Gaussian të një imazhi të zhurmshëm.

Filtrat dixhitalë ju lejojnë të aplikoni efekte të ndryshme në imazh, për shembull: turbullim, mprehtësi, deformim, zhurmë, etj.

Një filtër dixhital është një algoritëm i përpunimit të imazhit. Një grup i madh filtrash dixhitalë kanë të njëjtin algoritëm, por efekti i filtrit në imazh varet nga koeficientët e përdorur në algoritëm.

Filtrimi i imazhit është një nga operacionet më themelore të vizionit kompjuterik, njohjes së modeleve dhe përpunimit të imazhit. Në fakt, puna e shumicës dërrmuese të metodave fillon me një ose një tjetër filtrim të imazheve burimore.

Filtrat e linjës

Filtrat linearë janë një familje filtrash që kanë një përshkrim shumë të thjeshtë matematikor. Në të njëjtën kohë, ato ju lejojnë të arrini një shumëllojshmëri të gjerë efektesh. Ne do të supozojmë se është dhënë imazhi origjinal në shkallë gri A, dhe shënoni intensitetin e pikselëve të tij A(x, y). Filtri i linjës përcaktohet nga një funksion me vlerë reale F specifikuar në raster. Ky funksion quhet bërthama e filtrit dhe vetë filtrimi kryhet duke përdorur një operacion konvolucioni diskret (përmbledhje e ponderuar):

Rezultati është një imazh B... Kufijtë e përmbledhjes nuk janë përcaktuar në formulën e mësipërme. Zakonisht kerneli i filtrit është jozero vetëm në disa lagje N pikë (0, 0). Jashtë kësaj lagjeje F(i, j) është ose saktësisht zero, ose shumë afër tij, kështu që ju mund ta neglizhoni atë. Prandaj, përmbledhja kryhet mbi ( i, j) Є N, dhe vlerën e çdo piksel B(x, y) përcaktohet nga pikselat e figurës A që shtrihen në dritare N me qendër në pikën ( x, y) (e shënojmë këtë grup N(x, y)). Kerneli i filtrit i përcaktuar në një lagje drejtkëndore N, mund të shihet si një matricë m× n ku gjatësitë e anëve janë numra tek. Kur specifikoni kernelin nga matrica M kl, duhet të jetë në qendër:

Situata kur piksel ( x, y) është në afërsi të skajeve të figurës. Në këtë rast A(x+i, y+j) mund të korrespondojë me një piksel A përtej kufijve të imazhit A... Ky problem mund të zgjidhet në disa mënyra:



§ mos filtro pikselë të tillë duke prerë imazhin B rreth skajeve ose ngjyrosja e tyre, për shembull, me të zezë;

§ mos përfshini pikselin përkatës në përmbledhje duke shpërndarë peshën e tij F(i, j) në mënyrë uniforme midis pikselëve të tjerë të lagjes N(x, y);

§ për të përcaktuar vlerat e pikselëve përtej kufijve të imazhit duke përdorur ekstrapolimin;

§ për të ripërcaktuar vlerat e pikselëve jashtë kufijve të imazhit, duke përdorur reflektimin specular.

Zgjedhja e një metode specifike duhet të bëhet duke marrë parasysh filtrin specifik dhe karakteristikat e një aplikacioni specifik. Pasi të kemi analizuar përkufizimin e përgjithshëm të filtrave linearë, le të kalojmë te shembujt.

Filtra zbutës

Rezultati i aplikimit të filtrit anti-aliasing është turbullimi i imazhit, eliminimi i tranzicioneve të mprehta të ngjyrave. Filtri më i thjeshtë për zbutjen me rreze drejtkëndore rështë specifikuar duke përdorur një matricë të madhësisë (2 r+ 1) × (2 r+ 1), të gjitha vlerat e të cilave janë të barabarta:

,

dhe shuma mbi të gjithë elementët e matricës është kështu e barabartë me një. Kur filtrohet me këtë kernel, vlera e pikselit zëvendësohet nga vlera mesatare e pikselit në një katror me anën 2 r+1 rreth tij. Një shembull i filtrimit duke përdorur një filtër drejtkëndor është paraqitur në Fig. 4.19.

a)
b)

Oriz. 4.19. Një shembull i përdorimit të një filtri anti-aliasing

Në këtë rast, një filtër drejtkëndor 3 me 3 piksel mbivendoset mbi imazhin origjinal (Fig. 4.19, a). Bërthama e filtrit në këtë rast duket si kjo:


.

Rezultati i filtrimit tregohet në imazhin në të djathtë (Fig. 4.19, b). Vini re se shuma e të gjithë elementëve të kernelit të filtrit rezulton në një. Prandaj, mund të themi se kur përdorni një filtër të tillë në tërësi, shkëlqimi i të gjithë imazhit nuk ndryshon. Megjithatë, për shkak të mesatares së vlerave të ngjyrave të pikselit, kontrasti i imazhit zvogëlohet, gjë që mund të shihet në Fig. 4.19.

Siç mund ta shihni nga shembulli i mësipërm, filtrat kundër ngjitjes mund të përdoren për të eliminuar efektin e shkallëve, si dhe për të reduktuar zhurmën.

Zhurma- një defekt në imazh i paraqitur nga fotosensorët dhe elektronika e pajisjeve, ose që lind nga përdorimi i pajisjeve analoge. Zhurma në imazh shfaqet në formën e elementeve raster (pika) të vendosura rastësisht me madhësi afër madhësisë së pikselit. Zhurma ndryshon nga imazhi në një nuancë më të lehtë ose më të errët të grisë dhe ngjyrës dhe/ose ngjyrës. Arsyeja e shfaqjes së zhurmës në imazh është: kokrriza e filmit, papastërtia, pluhuri, gërvishtjet, lëvrimi i emulsionit fotografik. Nëse marrim parasysh pajisjet dixhitale, atëherë shkaku i zhurmës dixhitale është: zhurma termike e matricës, zhurma e transferimit të ngarkesës, zhurma e kuantizimit ADC, amplifikimi i sinjaleve në një aparat fotografik dixhital, papastërtia, pluhuri në sensor.

Përdorimi i filtrimit linear me një bërthamë drejtkëndore ka një pengesë të rëndësishme: pikselët në distancë r nga të përpunuarit kanë të njëjtin efekt në rezultat si ato fqinje. Reduktimi më efektiv i zhurmës mund të arrihet nëse ndikimi i pikselëve mbi njëri-tjetrin zvogëlohet me distancën. Kjo pronë zotërohet nga gausian filtër me kernel:


Filtri Gaussian ka një bërthamë jozero me përmasa të pafundme. Sidoqoftë, bërthama e filtrit zvogëlohet shumë shpejt në zero me distancën nga pika (0, 0), dhe për këtë arsye, në praktikë, mund të kufizojmë veten në konvolucionin me një dritare të vogël rreth (0, 0) (për shembull, duke marrë dritaren rreze e 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ë pikë e paqartë simetrike, me një rënie të shkëlqimit nga mesi në skajet, gjë që është shumë më afër turbullimit real nga lentet e defokusuar.

Siç e dini, ka shumë mënyra për të modifikuar dhe modifikuar imazhet duke përdorur teknika dixhitale. Rezultati i përpunimit të imazhit në këtë rast varet nga veprimet që mund të kryeni me imazhin pasi të ketë mbërritur në kompjuterin tuaj: mund të modifikoni RGB- komponentët e ngjyrave për të marrë ekuilibrin më të mirë të ngjyrave. Mund të rrisni ose ulni ndriçimin e figurës, të modifikoni mprehtësinë e tij ose të turbulloni elementë individualë duke përdorur filtra të ndryshëm grafikë. Ne do t'i hedhim një vështrim efekteve jashtëzakonisht të njohura që përdoren zakonisht në grafikë kompjuterike:

  • Përmbysja e ngjyrave.
  • E turbullt.
  • Mprehje.
  • relievit.
  • Efekti me bojëra uji.

Matrica - bërthama e konvolucionit

Nëse i konsiderojmë këto efekte nga një këndvështrim algoritmik, nuk do të shohim asgjë të komplikuar: këto efekte krijohen duke përdorur një matricë numrash. Kjo matricë quhet bërthama e konvolucionit.

Kjo matricë ( 3x3) përmban tre rreshta me tre numra. Për të transformuar një piksel imazhi, ai shumëzohet me vlerën në qendër të kernelit, dhe vlerat e pikselëve rreth atij të dhënë shumëzohen me koeficientët përkatës të kernelit, pas së cilës përmblidhen të gjitha vlerat. lart, dhe marrim një vlerë të re për variablin piksel. Ky proces duhet të kryhet në mënyrë sekuenciale me çdo piksel të imazhit të redaktuar.

Se si do të ndryshojë imazhi i redaktuar varet nga koeficientët e kernelit. Për të arritur disa efekte, është e nevojshme të aplikoni me radhë jo një, por disa matrica në imazh.

Përmbysja e ngjyrave

Kjo është mënyra më e lehtë për të redaktuar një imazh: ne nuk kemi nevojë as për një matricë. Thjesht duhet të ndryshojmë përbërësit e ngjyrave në ato të kundërta (për më shumë detaje, kur zbatojmë filtrin në pjesën tjetër të kapitullit).

Algoritmi i turbullimit

Për të turbulluar imazhin, duhet të lexojmë vlerat në memorie RGB-përbërësit e ngjyrës së çdo piksel. Pas kësaj, kerneli turbullues do të aplikohet në të gjithë përbërësit e ngjyrës së të gjithë pikselëve të imazhit të redaktuar:
Figura 1. Matrica për filtrin "Blur".

Për të përcaktuar ngjyrën e pikselit të vendosur nën qendër të kernelit, është e nevojshme të shumëzoni koeficientët e peshës së kernelit me vlerat përkatëse të ngjyrës së imazhit të redaktuar. Pas kësaj, rezultatet janë përmbledhur.

Imazhi që rezulton është "e paqartë" në krahasim me origjinalin, pasi ngjyra e secilit piksel të përpunuar "përhapet" midis pikselëve fqinjë.

Për të rritur thelbin e turbullimit, mund të:

  • përdorni një kernel më të madh (në këtë mënyrë ngjyra do të shpërndahet midis një numri më të madh pikselësh fqinjë);
  • të ndryshojë koeficientët në mënyrë të tillë që të zvogëlojë ndikimin e koeficientit qendror;
  • filtroni imazhin më shumë se një herë;

Algoritmi i mprehjes

Për të krijuar efektin e mprehjes, ne ndjekim të njëjtin algoritëm, por përdorim një kernel të ndryshëm, pasi tani qëllimi ynë është të mprehim imazhin. Bërthamë G për të mprehur:
Figura 2. Matrica për filtrin "Sharpening".
Si në rastin e mëparshëm, ne përpunojmë veçmas RGB-përbërësit, pas së cilës formojmë vlerat e ngjyrave të pikselit të përpunuar. Peshat negative përdoren për të rritur kontrastin midis pikselit qendror dhe fqinjëve të tij.

Kështu, imazhi që rezulton është më i mprehtë se origjinali. Në thelb, detajet shtesë vijnë nga asgjëja - është thjesht një kontrast i shtuar midis ngjyrave të pikselëve.

Algoritmi i relievit

Renditja kryhet në një mënyrë të ngjashme, por në këtë rast ne përdorim jo një vegël, por disa.
Figura 3.1 Matrica për filtrin "Emboss": hapi i parë.
Ndërsa bërthamat e turbullimit dhe mprehjes kishin shumën e koeficientëve të barabartë me një, në këtë rast shuma e peshave në bërthamën e stampimit është e barabartë me 0 ... Nëse shuma e gjasave nuk është e barabartë 0 , do të marrim një devijim për një ngjyrë të caktuar.

Vlera e ngjyrës që rezulton do të përpunohet (mesatarisht) shtesë dhe do të reduktohet në diapazonin 0-255 (mund të shihni më shumë detaje kur zbatoni këtë filtër). Ndryshimi i vlerave të pozicioneve 1 dhe -1 , mund të marrim një drejtim të kundërt të theksimit.
Figura 3.2. Matrica për filtrin "Emboss": hapi i dytë.

Algoritmi i Akuarelit

Emri i filtrit me bojëra uji flet vetë: imazhi që rezulton do të duket sikur është pikturuar me bojëra uji. Në fazën e parë të aplikimit të këtij filtri, ne do të lëmojmë ngjyrat e imazhit të redaktuar.
Figura 4.1. Matrica për filtrin "Efekti i bojërave uji": hapi i parë.
Në hapin tjetër do të mprehim tranzicionet për të përfunduar efektin me bojëra uji.
Figura 4.2. Matrica për filtrin "Efekti i bojërave uji": hapi i dytë.
Kjo eshte e gjitha. Duke rregulluar pak parametrat e matricës, mund të marrim një efekt bojëra uji më të mprehtë dhe më të butë. br />

Artikujt kryesorë të lidhur