Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • Këshilla
  • Filtrat e imazhit dixhital. Përshkrimi i kutisë së veglave të përpunimit të imazhit

Filtrat e imazhit dixhital. Përshkrimi i kutisë së veglave të përpunimit të imazhit

Filtrimi i imazhit kuptohet si një operacion që rezulton në një imazh me të njëjtën madhësi, të marrë nga origjinali sipas rregullave të caktuara. Zakonisht, intensiteti (ngjyra) e secilit piksel të imazhit që rezulton përcaktohet nga intensiteti (ngjyrat) e pikselëve të vendosur në disa nga afërsitë 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ë modeleve dhe përpunimit të imazhit. Puna e shumicës dërrmuese të metodave të përpunimit të imazhit fillon me një ose një tjetër filtrim të imazheve burimore.

Filtrat e linjës kanë një përshkrim shumë të thjeshtë matematikor. Ne do të supozojmë se është dhënë imazhi origjinal i shkallës së gri A, dhe do të tregojmë intensitetin e pikselëve të tij A (x, y). Një filtër linear përcaktohet nga një funksion me vlerë reale h (kerneli i filtrit) i përcaktuar në raster. Vetë filtrimi kryhet duke përdorur operacionin konvolucioni diskret (përmbledhja 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, kerneli i 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 piksel B (x, y) përcaktohet nga pikselët e figurës A, të cilat shtrihen në dritaren N, me qendër në pikën (x, y ) (emërtimi - bashkësia N (x, y) ). Një bërthamë filtri e përcaktuar në një lagje drejtkëndore N mund të shihet si një matricë m-nga-n, ku gjatësitë e anëve janë numra tek. Kur specifikoni një kernel si matricë, ai duhet të përqendrohet. Nëse piksel (x, y) është në afërsi të skajeve të imazhit, atëherë koordinatat A (x-i, y-j) për disa (i, j) mund të korrespondojnë me pikselat joekzistente A jashtë imazhit. Ky problem mund të zgjidhet në disa mënyra.

Mos i filtro këto pikselë 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ë midis pikselëve të tjerë në lagjen N (x, y).

Ripërcaktoni vlerat e pikselit jashtë kufijve të imazhit duke përdorur ekstrapolimin.

Ripërcaktoni vlerat e pikselit jashtë kufijve të imazhit duke përdorur një vazhdim të imazhit të pasqyrës.

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

Filtra zbutës. Filtri më i thjeshtë drejtkëndor zbutës 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 shuma e vlerat janë të barabarta me një. Është një analog dy-dimensional i një filtri me frekuencë të ulët një-dimensionale lëvizëse në formë U-je. Kur filtroni me një kernel të tillë, vlera e pikselit zëvendësohet nga vlera mesatare e 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ë reduktimi i zhurmës. Zhurma ndryshon në mënyrë të pavarur nga piksel në pixel dhe, me kusht që pritshmëria matematikore e vlerës së zhurmës të jetë e barabartë me zero, zhurma e pikselëve fqinjë gjatë përmbledhjes do të kompensojë njëri-tjetrin. Sa më e madhe të jetë dritarja e filtrimit, aq më i vogël do të jetë intensiteti mesatar i zhurmës, por kjo do të rezultojë gjithashtu në një turbullim 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ë katror në mënyrë uniforme gri.

Reduktimi i zhurmës duke përdorur një filtër drejtkëndor ka një pengesë të konsiderueshme: të gjithë pikselët 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 të peshës së pikës qendrore:

.

Reduktimi më efektiv i zhurmës mund të kryhet nëse ndikimi i pikselëve në rezultat do të ulet me rritjen e distancës nga ai i përpunuar. Kjo veti zotërohet nga një filtër Gaussian me një bërthamë: h (i, j) = (1 / 2 2) exp (- (i 2 + j 2) / 2   Filtri Gaussian ka një jozero bërthama me madhësi të pafundme. Megjithatë, vlerat e bërthamës së filtrit zvogëlohen 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ë 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ë pikë simetrike e paqartë, me një rënie të shkëlqimit nga mesi në skajet. Shkalla e turbullimit të imazheve përcaktohet nga parametri σ.

Filtrat në rritje të kontrastit ... Ndërsa filtrat anti-aliasing zvogëlojnë kontrastin lokal të një imazhi duke e turbulluar atë, filtrat që përmirësojnë kontrastin prodhojnë efektin e kundërt dhe në thelb janë filtra me frekuencë të lartë hapësinore. Bërthama e filtrit të rritjes së kontrastit në pikën (0, 0) ka një vlerë më të madhe se 1, me një shumë totale vlerash të barabartë me 1. Për shembull, filtrat për rritjen e kontrastit janë filtra me një bërthamë të specifikuar nga matricat:

. .

Një shembull i aplikimit të filtrit është paraqitur në Fig. 17.3.1. Efekti i rritjes së kontrastit arrihet nga fakti se filtri thekson ndryshimin midis intensiteteve të pikselëve ngjitur, duke i hequr këto intensitete nga njëri-tjetri. Ky efekt do të jetë sa më i fortë, aq më i madh është vlera e termit qendror të bërthamës. Një artefakt karakteristik i filtrimit linear që përmirëson kontrastin është drita e dukshme dhe aureolët e errëta më pak të dukshme rreth kufijve.

Filtrat e ndryshimit Janë filtra linearë të përcaktuar nga përafrime diskrete të operatorëve diferencialë (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 më i thjeshtë diferencial është marrja e derivatit në lidhje me koordinatën x d / dx, e cila përcaktohet për funksionet e 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 y-koordinata d / dy përftohen duke transpozuar matricat.

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 llogaritëse:

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

Algoritmi i Sobelit përdor tetë lexime të ndriçimit në afërsi të pikës qendrore:

G (x, y) =
, G (x, y) 
,

Gx x, y = [A x -1, y -1 +2 A x -1, y + A x -1, y +1] - [A x +1, y -1 +2 A x +1, y + A x +1, y +1],

Gy x, y = -.

Së bashku me një përcaktim më të saktë të normës së gradientit, algoritmi i Sobel gjithashtu bën të mundur përcaktimin e drejtimit të vektorit të gradientit në rrafshin e analizës së imazhit në formën e një këndi  midis vektorit të gradientit dhe drejtimit të rreshtave të matricës:

 (x, y) = argtg (Gy x, y / Gx x, y).

Ndryshe nga filtrat anti-aliasing dhe ato që përmirësojnë kontrastin, të cilët nuk ndryshojnë intensitetin mesatar të imazhit, si rezultat i përdorimit të operatorëve të diferencës, si rregull, fitohet një imazh me një vlerë mesatare piksel afër zeros. Skajet vertikale (kufijtë) e imazhit origjinal korrespondojnë me pikselët me vlera të mëdha absolute në imazhin që rezulton. Prandaj, filtrat delta quhen edhe filtra të përzgjedhjes së kufijve.

Ngjashëm me filtrat e mësipërm, duke përdorur metodën e diferencës së fundme, mund të kompozoni filtra për operatorë të tjerë diferencialë. Në veçanti, operatori diferencial Laplace (Laplacian), i cili është i rëndësishëm për shumë aplikacione  = 𝝏 2 / 𝝏x 2 + 𝝏 2 / 𝝏y 2, 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ë laplasit diskret, vlerat e mëdha absolute korrespondojnë me ndryshimet 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ë gjithë pikselët, 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ë imazhit, zakonisht merret një rezultat i pranueshëm në vlera pragu dukshëm të ndryshme. Përveç kësaj, filtrat e diferencës janë shumë të ndjeshëm ndaj zhurmës së imazhit.

Konvolucioni ciklik dydimensional. Për sa i përket sinjaleve njëdimensionale, konvolucioni dydimensional mund të kryhet në fushën e frekuencave hapësinore duke përdorur algoritme të shpejta të transformimit të Furierit dhe duke shumëzuar spektrat dydimensionale të imazhit dhe bërthamës së filtrit. Ai është gjithashtu ciklik, dhe zakonisht kryhet në një version rrëshqitës. Duke marrë parasysh ciklin, për të llogaritur modelin konstant të spektrit të kernelit, dimensionet e maskës së filtrit të bërthamës dyfishohen përgjatë boshteve dhe mbushen me zero, dhe të njëjtat madhësi maskash përdoren për të zgjedhur një dritare që rrëshqet mbi imazh, brenda që 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 jolinearë ... Në përpunimin dixhital të imazhit, algoritmet jolineare të bazuara në statistikat e renditjes përdoren gjerësisht për të rikuperuar imazhet e dëmtuara nga modele të ndryshme zhurmash. Ato ju lejojnë të shmangni shtrembërimin shtesë të imazhit kur hiqni zhurmën, si dhe të përmirësoni ndjeshëm rezultatet e filtrimit në imazhe me një shkallë të lartë zhurme.

Le të prezantojmë konceptin e një lagjeje M të një elementi imazhi A (x, y), i cili është qendror për këtë lagje. Në rastin më të thjeshtë, lagja M përmban N-pikselë - pika që bien në maskën e filtrit, duke përfshirë (ose duke mos përfshirë) atë qendrore. Vlerat e këtyre N-elementeve mund të renditen në serinë e variacionit V (r), të renditura në rend rritës (ose zbritës), dhe momente të caktuara të kësaj serie mund të llogariten, për shembull, vlera mesatare e shkëlqimit m. N dhe varianca d N. Llogaritja e vlerës së daljes së filtrit, i cili zëvendëson kampionin qendror, kryhet duke përdorur formulën:

B (x, y) = А (x, y) + (1-) m N. (17.3.2)

Vlera e koeficientit  shoqërohet me një lidhje të caktuar me statistikat e numërimit në dritaren e filtrit, për shembull:

d N / (d N + k d S), (17.3.3)

ku d S është varianca e zhurmës në imazh në tërësi ose në lagjen S për S> M dhe MS, k është konstanta e besimit të variancës së lagjeve S. Siç del nga kjo formulë, për k = 1 dhe d N  d S,   0,5 zë vend, dhe vlera B (x, y) = (A (x, y) + m N) / 2, d.m.th. shtohen 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 në vlerat e d N, kontributi në rezultatin e vlerës së referencës qendrore rritet, me një ulje, vlera e m N. Pesha e kontributit të vlerave mesatare mbi lagjen M mund të ndryshohet me vlerën e koeficientit k.

Zgjedhja e funksionit statistikor dhe natyra e varësisë së koeficientit nga ai mund të jetë mjaft e larmishme (për shembull, sipas variancave të dallimeve në mostrat në lagjen M me kampionin qendror), dhe varet nga të dyja madhësia e hapjes së filtrit dhe në natyrën e imazheve dhe zhurmës. Në thelb, vlera e koeficientit  duhet të specifikojë shkallën e dëmtimit të referencës qendrore dhe, në përputhje me rrethanat, funksionin e huazimit të mostrave nga lagja M për ta korrigjuar atë.

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

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

B (x, y) =

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

Filtrimi mesatar përkufizohet si më poshtë:

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

ato. Rezultati i filtrimit është vlera mesatare e pikselëve të lagjes, forma e të cilave përcaktohet nga maska ​​e filtrit. Filtrimi mesatar mund të heqë në mënyrë efektive zhurmën nga një imazh që ndikon në mënyrë të pavarur pikselët individualë. Për shembull, zhurma të tilla janë pikselët "të thyer" në shkrepjen dixhitale, zhurma "bore" kur disa nga pikselët zëvendësohen me pikselë me intensitet maksimal dhe të ngjashme. Avantazhi i filtrimit mesatar është se një piksel "i nxehtë" në një sfond të errët do të zëvendësohet me një të errët dhe nuk do të "lyhet" rreth lagjes.

Filtrimi mesatar ka një selektivitet të theksuar në lidhje me elementët e grupit, të cilët janë një komponent jo monotonik i një sekuence numrash brenda hapjes së filtrit. Në të njëjtën kohë, filtri mesatar e 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 me përmasa të vogla.

Filtra ekstremë përcaktohen nga rregullat:

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

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

ato. 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.

Pasqyrë e teknikave të filtrimit dhe segmentimit për imazhet dixhitale

Një burim: V.V. Strugailo Rishikimi i metodave të filtrimit dhe segmentimit për imazhet dixhitale // Shkenca dhe Arsimi. Publikim elektronik shkencor dhe teknik. // Universiteti Teknik Shtetëror i Automobilave dhe Autostradave të Moskës, 2012. - fq. 270-281.

Prezantimi

Teknikat e përpunimit dixhital ju lejojnë të transformoni imazhet për të përmirësuar perceptimin e tyre vizual. Gjithashtu në këtë fushë zgjidhen detyrat e ndryshimit të paraqitjes së imazheve për të siguruar ruajtjen, transmetimin, vizualizimin e tyre në formë elektronike dhe analizën e mëtejshme të informacionit të ngulitur në to. Përpunimi dixhital i imazhit është një fushë e lulëzuar e shkencës. Hulumtimi dhe zhvillimi i metodave dhe algoritmeve për përpunimin dhe analizimin e informacionit të paraqitur në formën e imazheve dixhitale është një detyrë shumë urgjente.

Ky punim ofron një përmbledhje të metodave për filtrimin dhe segmentimin e imazheve. Janë dhënë shembuj të metodave të shqyrtuara për zgjidhjen e problemeve të përmirësimit të paraqitjes vizuale dhe nxjerrjes në pah të kontureve të objekteve në imazhe.

Filtrimi i imazheve

Imazhet dixhitale ndikohen nga lloje të ndryshme zhurmash që mund të lindin nga mënyra se si merren imazhet, teknologjitë e transferimit të informacionit dhe metodat e dixhitalizimit të të dhënave. Procesi i eliminimit të llojeve të ndryshme të zhurmës në imazhe quhet filtrim.

Gjatë filtrimit, karakteristikat e ndriçimit të secilës pikë të imazhit dixhital zëvendësohen nga një vlerë tjetër e ndriçimit, e cila njihet si zhurma më pak e shtrembëruar. Alokoni frekuencën dhe filtrimin hapësinor.

Metodat e frekuencës së transformimeve të imazhit bazohen në idenë e transformimit të Furierit, kuptimi i të cilit është të përfaqësojë funksionin origjinal si një shumë e funksioneve trigonometrike të frekuencave të ndryshme të shumëzuara me koeficientët e specifikuar. Nëse funksioni është periodik, një paraqitje e tillë quhet seria Fourier. Përndryshe, një funksion jo periodik me një zonë të fundme nën grafik mund të shprehet si një integral i funksioneve trigonometrike të shumëzuar me një funksion të peshës. Ky opsion quhet transformimi Fourier dhe në shumicën e problemeve praktike rezulton të jetë më i dobishëm se seria Fourier. Një veti e rëndësishme është që funksioni i përfaqësuar nga transformimi Furier, pasi të ketë kryer transformime në të, mund të kthehet në formën e tij origjinale. Kështu, kjo qasje ju lejon të përpunoni funksionin në domenin e frekuencës dhe më pas të ktheheni në formën e tij origjinale pa humbur informacionin. Transformimi Fourier mund të përdoret gjithashtu për të zgjidhur problemet e filtrimit të imazhit. Në një aplikim praktik, zbatimi i qasjeve të frekuencës mund të jetë i ngjashëm me metodat e filtrimit hapësinor.

Teknikat e përmirësimit të imazhit hapësinor aplikohen në bitmap të përfaqësuara si matrica dydimensionale. Parimi i algoritmeve hapësinore është aplikimi i operatorëve të veçantë në secilën pikë të imazhit origjinal. Operatorët janë matrica drejtkëndëshe ose katrore të quajtura maska, bërthama ose dritare. Më shpesh, maska ​​është një grup i vogël dydimensional, dhe metodat e përmirësimit të bazuara në këtë qasje quhen shpesh përpunimi i maskës ose filtrimi i maskës.

Kur kryeni filtrim linear, përgjigja e maskës jepet nga shuma e produkteve të pikselëve në zonën e mbulimit të filtrit. Si një filtër zbutës linear, përdoret një filtër mesatar me vlerën e daljes, e cila është vlera mesatare mbi afërsinë e maskës së filtrit. Një filtër i ngjashëm përdoret për detyrën e heqjes së kokrrizave të imazhit të shkaktuar nga zhurma e impulsit. Formula e përgjithshme për përgjigjen g (x, y) të filtrit mesatar të projektuar për të filtruar një imazh f me dimensione M × N është:

ku w (s, t) është një element i bërthamës së konvolucionit të një imazhi me dimensione m × n, s∈ [−m / 2, m / 2], t∈ [−n / 2, n / 2] janë koordinatat e bërthamës së konvolucionit përgjatë boshtit të abshisës dhe ordinatës; x = 0,1,2, .., M − 1, y = 0,1,2, .., N − 1 - koordinatat e imazhit origjinal f.

Në një formë të përshtatshme për paraqitjen programatike, një filtër i tillë mund të përfaqësohet si:

ku është elementi i matricës së imazhit pas filtrimit; - një element i grupit të kernelit të konvolucionit të imazhit me përmasa m × n; - elementi i matricës së imazhit origjinal.

Filtrimi adaptiv bazohet në filtrin Wiener, i cili është një nga llojet e filtrit të linjës për përpunim lokal përshtatës të imazhit. Nëse vlera e devijimit rrënjë-mesatar katror i intensiteteve të pikselit në një zonë të caktuar lokale është e madhe, atëherë filtri Wiener kryen një zbutje të lehtë dhe, anasjelltas, me një devijim më të vogël, zona e zbutjes është më e madhe. Kjo qasje është shpesh më efikase se filtrimi linear konvencional. Një avantazh tjetër i filtrit adaptiv është se ai ruan skajet dhe pjesët e tjera me frekuencë të lartë të objekteve të imazhit. Megjithatë, një filtër Wiener kërkon më shumë kohë për t'u llogaritur sesa një filtër linjë.

Vlera mesatare e shkëlqimit llogaritet për pikselin qendror të maskës W i, j, i cili përmban vlerat e shkëlqimit të imazhit origjinal në zonën lokale të maskuar të figurës me formulën:

Varianca e maskës është:

Në këtë algoritëm, për çdo pozicion të ri të dritares së maskës, vlerat përkatëse rillogariten.

Zbutja e zhurmës vlerësohet në terma të devijimit standard:

Figura 1 tregon rezultatet e filtrimit kur mbivendosni zhurmën e impulsit në një imazh dixhital. Figura 2 tregon rezultatet e filtrimit të zhurmës së bardhë Gaussian të mbivendosur në një imazh dixhital.

Figura 1 - Rezultatet e filtrimit të zhurmës së impulsit në imazh


Figura 2 - Rezultatet e filtrimit të zhurmës së bardhë në imazh

Teknikat e segmentimit të imazhit

Rezultati përfundimtar i analizës së imazhit përcaktohet kryesisht nga cilësia e segmentimit, dhe shkalla e detajimit të karakteristikave të dalluara varet nga detyra specifike. Prandaj, nuk ka asnjë metodë ose algoritëm të veçantë të përshtatshëm për zgjidhjen e të gjitha llojeve të problemeve të segmentimit, secila prej metodave ka avantazhet dhe disavantazhet e veta. Në shumicën e rasteve, një ose më shumë algoritme zgjidhen dhe modifikohen për kushte specifike të problemit.

Në një kuptim të përgjithshëm, segmentimi zgjidh dy detyra kryesore:

  • ndarja e imazhit në pjesë për analizë të mëtejshme;
  • ndryshimi i formës së përshkrimit të elementeve të imazhit, gjë që bën të mundur paraqitjen e pikave si struktura të nivelit të lartë që sigurojnë efektivitetin e analizës së mëtejshme të imazhit.

Dallohen klasifikime të ndryshme të metodave, por shumica e tyre bazohen në dy vetitë e mëposhtme të sinjalit të ndriçimit - ndërprerjen dhe uniformitetin.

Ndarja e imazhit në pjesë bazohet në ide të bazuara në ndryshime të papritura në shkëlqim. Ndryshimi i formës së përshkrimit të elementeve të imazhit bazohet në ndarjen e imazhit në zona homogjene, duke marrë parasysh kriteret e parapërzgjedhura.

Metodat e ndërprerjes së ndriçimit përfshijnë zbulimin e pikës së linjës dhe skajit. Kur pikat dhe linjat gjenden duke përdorur maska ​​speciale, organizohet një kërkim përkatës. Derivatet dhe gradientët e funksioneve të ndriçimit përdoren si metoda për zbulimin e dallimeve; metoda të tilla bazohen në ide më të përgjithshme.

Metodat e pragut bazohen në idenë e ndarjes së karakteristikave të rëndësishme sipas disa pragjeve. Pragu mund të jetë global, domethënë i përcaktuar në të gjithë imazhin, ose lokal, i cili përcaktohet në një zonë të caktuar.

Metoda e rritjes së rajoneve bazohet në zbulimin e ndërprerjeve në shkëlqim. Në metoda, zgjidhen disa pika qendrore ose grupe pikash, pas së cilës u bashkangjiten pikselët që plotësojnë kushtet e specifikuara.

Metodat e histogramit bazohen në zgjedhjen e vlerave ose intervaleve minimale dhe maksimale midis ekstremeve.

Metodat e bazuara në transformimet e Hough bazohen në lidhjen e pikave me njëra-tjetrën duke përcaktuar fillimisht nëse ato i përkasin një kurbë të caktuar të një forme të caktuar ose duke zbuluar vija të drejta dhe të lakuara nga një familje segmentesh dhe harqesh të vijës së drejtë.

Metodat e teorisë së grafikut bazohen në zbulimin dhe lidhjen e kontureve duke paraqitur segmentet e kontureve në formën e një grafiku dhe duke kërkuar në këtë grafik shtigjet që korrespondojnë me konturet e dëshiruara.

Metoda e pellgut ujëmbledhës konsiston në gjetjen e linjave që ndajnë minimumet dhe maksimumet lokale të vlerave të ndriçimit të elementeve të imazhit.

Ka shumë metoda për zgjidhjen e problemeve të segmentimit, si dhe qasje për klasifikimin e tyre. Për të krahasuar teknikat e segmentimit për imazhet dixhitale, u modeluan teknikat e maskimit. Parimi i funksionimit të metodave të tilla bazohet në ndryshimin në shkëlqimin e elementeve dhe sfondin e imazhit. Arsyetimi matematik i metodave konsiston në llogaritjen e derivateve të paraqitura për imazhet dixhitale në formën e përafrimeve diskrete të gradientit. Operatorët që përfaqësojnë maskat e matricës dallohen si metoda gradient:

  • Roberts "Crossoperator";
  • Operatori Prewitt (Detektori i skajit të busullës);
  • Operatori Sobel.

Operatori Roberts është i thjeshtë për t'u zbatuar dhe ka një shpejtësi të lartë, por është shumë i ndjeshëm ndaj zhurmës. Në praktikë, operatorët Prewitt dhe Sobel përdoren më shpesh për të llogaritur gradientët diskrete. Maskat e operatorit Prewitt janë më të lehta për t'u zbatuar sesa maskat e operatorit Sobel, por operatori i fundit ka një efekt pak më të vogël të zhurmës nga elementët qoshe të maskës, gjë që është domethënëse kur punoni me derivate. Duhet të theksohet se për secilën nga maskat shuma e koeficientëve është e barabartë me zero.

Operatori Roberts përdor katër vlera të ndriçimit në imazh dhe duket kështu:

ku është elementi i matricës së imazhit origjinal.

Operatori Sobel përdor tetë lexime të ndriçimit në zonën e elementit të analizuar:

Matricat e operatorit Sobel janë:

ku: E është matrica e imazhit origjinal.

Në paraqitjen programatike të imazhit:

Operatori Prewitt është i ngjashëm me operatorin Sobel dhe ndryshon nga ai në një maskë. Matricat e operatorit Sobel janë:

Operatori laplas dallohet si metoda të bazuara në derivatin e rendit të dytë. Ky operator zbulon kufijtë në vendet ku derivati ​​i funksionit të ndriçimit ndryshon shenjën. Por operatori laplasian është shumë i ndjeshëm ndaj zhurmës. Përveç kësaj, përdorimi i modulit Laplasian çon në dyfishimin e kontureve, gjë që ka një efekt të padëshirueshëm dhe ndërlikon segmentimin. Për të zvogëluar efektin e zhurmës, laplacian shpesh përdoret në kombinim me anti-aliasing, për shembull, sipas metodës Gaussian. Ky kombinim quhet operatori Laplacianof Gaussian (LoG).

Maska e operatorit Laplacian Gaussian krijohet nga formula:

ku σ është devijimi standard i shpërndarjes Gaussian. Maska e filtrit duket si kjo:

ku a është një parametër në interval.

Një tjetër metodë programatike e zbatuar zakonisht është Canny. Në fakt, ky është një grup algoritmesh të aplikuara në mënyrë sekuenciale. Kjo qasje është e qëndrueshme ndaj zhurmës dhe përgjithësisht jep rezultate më të mira se metodat e gradientit. Por, meqenëse ky është, në parim, një grup algoritmesh, atëherë performanca e kësaj metode është inferiore ndaj operatorëve më të thjeshtë.

Figura 3 tregon rezultatet e segmentimit të imazhit dixhital duke përdorur algoritmet e konsideruara.

Figura 3 - Rezultatet e segmentimit të imazhit

konkluzioni

Në bazë të metodave të filtrimit të zbatuara, konstatohet se për zhurmën e impulsit është më i përshtatshëm një filtër mesatar, i cili ruan mirë kufijtë e elementeve dhe ka një përgjigje me shpejtësi të lartë. Filtri adaptiv Wiener tregon rezultatet më të mira për heqjen e zhurmës së bardhë.

Algoritmet e gradientit të përdorur për të theksuar konturet e elementeve të imazhit janë më të lehta për t'u zbatuar me softuer, por rezultatet e marra me ndihmën e tyre varen nga cilësia e imazheve në studim. Cilësia e përzgjedhjes së kontureve me metodën Canny është më e lartë. Megjithatë, ky algoritëm është më i ngadalshëm, gjë që bëhet e dukshme në një numër të madh imazhesh të analizuara.

Lista e literaturës së përdorur

1. Gonzalez R., Woods R. Përpunimi dixhital i imazhit. - M .: Teknosferë, 2006 .-- 1072 f.
2. Gruzman I.S., Kirichuk V.S., Kosykh V.P., Peretyagin G.I., Spector A.A. Përpunimi dixhital i imazhit në sistemet e informacionit: Libër mësuesi. kompensim. - Novosibirsk .: Shtëpia botuese e NSTU, 2003 .-- 352 f.
3. Sato Y. Përpunimi i sinjalit. Takimi i parë. Edicioni i 2-të. - M .: Dodeka XXI, 2009 .-- 176 f.
4. Oppenheim A. Shafer R. Përpunimi dixhital i sinjalit. Edicioni i 2-të. - M .: Teknosferë, 2007 .-- 856 f.
5. Lyons Richard. Përpunimi dixhital i sinjalit: botimi i dytë. - M .: OOO Binom-Press, 2006 .-- 656 f.
6. Sergienko A.B. Përpunimi dixhital i sinjalit. - SPb .: Peter, 2007 .-- 752 f.
7. Fisenko VT, Fisenko T.Yu., Përpunimi kompjuterik dhe njohja e imazheve: tekst shkollor. kompensim. - SPb: SPbGU ITMO, 2008 .-- 192 f.
8. Yane B. Përpunimi dixhital i imazhit. - M .: Teknosferë, 2007 .-- 584 f.
9. Shapiro L., Stockman J. Vizioni kompjuterik. - M .: BINOM. Laboratori i Dijes, 2006 .-- 752 f.

Shumë qasje për përmirësimin e imazhit ndahen në dy kategori: teknikat e përpunimit të domenit hapësinor (teknikat hapësinore) dhe teknikat e përpunimit të domenit të frekuencës (teknikat e domenit të frekuencës). Domeni hapësinor i referohet koleksionit të pikselëve që përbëjnë imazhin. Funksioni i parapërpunimit në domenin hapësinor shkruhet si

ku f(x, y) - imazhi hyrës,

g(x, y) - imazhi dalës (i përpunuar),

h- operatori i funksionit f të përcaktuara në disa rajone ( x, y).

Operacionet e këtij lloji i përkasin klasës së përgjithshme operacionet në elementet ngjitur... Këto operacione janë mjetet kryesore për përpunimi i imazhit në nivel të ulët ose përpunimi hapësinor i imazhit.

Qasja kryesore në përcaktimin e fqinjësisë së pikës ( x, y) është përdorimi i një zone katrore ose drejtkëndore të një pjese të imazhit të përqendruar në pikën ( x, y). Qendra e kësaj pjese të figurës lëviz nga piksel në piksel, duke filluar, për shembull, nga këndi i sipërm i majtë. Për më tepër, për të marrë g(x, y) operatori aplikohet për çdo pozicion ( x, y). Ndërsa forma të tjera të lagjes (si një rreth) përdoren ndonjëherë, format katrore preferohen për lehtësinë e zbatimit të tyre.

Një nga metodat më të përdorura të domenit hapësinor bazohet në përdorimin e filtrave (maska ​​konvolucioni, shabllone, dritare). Zakonisht, maska ​​e filtrit është një sistem dydimensional i vogël (për shembull, dimensioni 3 * 3), koeficientët e të cilit zgjidhen në atë mënyrë që të zbulojnë një veçori të caktuar të imazhit (Fig. 1.5, a).

Oriz. 1.5: a - maskë filtri; b - koeficientët e maskës së filtrit

Nëse sasitë w 1 ,w 2 ,…,w 9 janë koeficientë, maska ​​pixel ( x, y) dhe tetë fqinjët e tij (Figura 1.5, b), atëherë algoritmi mund të përfaqësohet sikur kryen operacionin e mëposhtëm në lagjen 3 * 3 pika (x, y) :

Në një kuptim të gjerë, detyra e filtrimit të imazhit kuptohet si çdo procedurë e përpunimit të imazhit në të cilën një imazh raster futet në hyrjen e procedurës dhe një imazh raster formohet në dalje. Sidoqoftë, më shpesh termi "filtrim" kuptohet si i ashtuquajturi bllokim filtrimi... Qëllimi kryesor i filtrimit të zhurmës është të përpunojë imazhet në atë mënyrë që rezultati të jetë më i përshtatshëm nga pikëpamja e një aplikacioni të veçantë. Në rastin e përgjithshëm, mund të dallohet filtrat e linjës(filtra anti-aliasing, filtra për rritjen e kontrastit, filtra të dallimeve) dhe filtra jolinearë(filtri mesatar).

Këtu është një përshkrim i shkurtër i metodave më të zakonshme të filtrimit.

Filtri i kalimit të ulët- zbut komponentët me frekuencë të lartë dhe rrit rolin e komponentëve me frekuencë të ulët. Frekuenca e aplikuar në imazhe pasqyron sasinë e detajeve në imazh. Luhatjet e shkëlqimit, zhurma dhe zhurma janë shembuj të elementeve me frekuencë të lartë në një imazh. Zbutja e imazhit zbatohet duke përdorur kernelët e mëposhtëm:

,

,

.

Filtër me kalim të lartë- zbut komponentët me frekuencë të ulët në imazh dhe rrit rolin e komponentëve me frekuencë të lartë. Filtrat me kalim të lartë përdoren për të theksuar detaje të tilla si skicat, skajet ose për të mprehur një imazh. Çdo kërcim në shkëlqim dhe çdo kontur përfaqëson detaje intensive të lidhura me frekuenca të rritura. Përzgjedhja e komponentëve me frekuencë të lartë kryhet duke përdorur bërthamat e mëposhtme:

,

,

.

Operatori Roberts. Operatori Roberts është një shembull i një filtri jolinear. Transformimi i secilit piksel me operatorin kryq Roberts mund të tregojë derivatin e imazhit përgjatë diagonales jozero, dhe kombinimi i këtyre imazheve të transformuara mund të shihet gjithashtu si një gradient nga dy pikselët e lartë në dy pikselët e poshtëm. Operatori Roberts përdoret për hir të shpejtësisë llogaritëse, por humbet në krahasim me alternativat për shkak të problemit të ndjeshëm të ndjeshmërisë ndaj zhurmës. Ai prodhon linja që janë më të holla se metodat e tjera të përzgjedhjes së kufirit.

Në përpunim përfshihen katër pikselë, të vendosur si më poshtë (Fig. 1.6).

Oriz. 1.6. Piksele të përfshira në përpunim nga operatori Roberts

Përgjigja e operatorit Roberts:

Kernelet e konvolucionit në këtë rast do të duken kështu:

,

.

Konvolucioni për secilën bërthamë llogaritet veçmas. Përgjigja e këtij filtri është sasia

, (1.17)

ku P dhe P- përgjigja e bërthamave H 1 dhe H 2 .

Ndonjëherë, si operator Roberts, ne marrim sasinë
.

Operatori Sobel. Operatori Sobel përdoret në algoritmet e zbulimit të kufijve. Është një operator diferencial diskret që llogarit një vlerë të përafërt për gradientin e ndriçimit të një imazhi. Rezultati i aplikimit të operatorit Sobel në çdo pikë të imazhit është ose vektori i gradientit të ndriçimit në këtë pikë, ose norma e tij. Metoda e zgjerimit të skajit duke përdorur operatorin Sobel merr në konsideratë dy kernele të ndryshme konvolucioni:

Bazuar në këto konvolucione, llogaritet madhësia dhe drejtimi i skajeve. Konvolucioni për secilën bërthamë llogaritet veçmas. Përgjigja e këtij filtri është sasia

, (1.19)

ku P dhe P- përgjigja e bërthamave H 1 dhe H 2 .

Ndonjëherë, si operator Sobel, ne marrim sasinë
.

Operatori Prewitt. Operatori Prewitt vepron në mënyrë të ngjashme me operatorin Sobel. Detektori i kufirit Prewitt është një metodë e përshtatshme për të vlerësuar madhësinë dhe orientimin e kufirit. Ndërsa një detektor i gradientit diferencial kërkon një llogaritje të mundimshme të vlerësimeve të orientimit në madhësi në drejtimet vertikale dhe horizontale, detektori kufitar Prewitt jep drejtimin drejtpërdrejt nga bërthama me rezultatin maksimal. Metoda e përmirësimit të skajit duke përdorur operatorin Prewitt merr në konsideratë dy kernele të ndryshme konvolucioni:

Rezultati i punës së operatorit Prewitt është

, (1.21)

ku P dhe P- përgjigja e bërthamave H 1 dhe H 2 .

Operatori Laplace. Operatori diskret Laplace përdoret shpesh në përpunimin e imazhit, për shembull, në nxjerrjen e kufijve ose në aplikacionet e vlerësimit të lëvizjes. Laplaciani diskret përcaktohet si shuma e derivateve të dytë dhe llogaritet si shuma e diferencave në fqinjët e pikselit qendror. Metoda e zgjerimit të skajeve të Laplace merr në konsideratë një sërë bërthamash të ndryshme konvolucioni. Ja disa prej tyre:

Siç mund ta shihni, shuma e elementeve të matricave është e barabartë me zero, kështu që përgjigja e filtrit mund të jetë negative. Në këtë rast, vlera e përgjigjes merret modul. Si rezultat i përpunimit, zonat me intensitet konstant ose linear në rritje bëhen të zeza dhe zonat me vlera të intensitetit që ndryshojnë me shpejtësi theksohen me shkëlqim.

Më poshtë janë disa procese hapësinore që nuk bëjnë pjesë në kategorinë e konvolucionit dhe mund të përdoren për të eliminuar lloje të ndryshme zhurmash.

Filtri mesatar harmonik... Mesatarja harmonike e një serie
llogaritur me formulë

. (1.23)

Gjatë procesit të filtrimit, vlera e pikselit aktual të figurës zëvendësohet me
grupe me nëntë vlera pikselësh, duke përfshirë ato aktuale dhe ato ngjitur.

Min- filtër. Gjatë procesit të filtrimit, vlera e pikselit aktual zëvendësohet me vlerën minimale të pikselëve fqinjë. Kështu, për shembull, për një kernel të dimensionit 3 do të kemi:

Maks- filtër. Gjatë procesit të filtrimit, vlera e pikselit aktual zëvendësohet nga vlera maksimale e pikselëve fqinjë (në analogji me filtrin e mëparshëm).

Min- Maks- filtër. Në procesin e filtrimit, vlera e pikselit aktual të figurës zëvendësohet fillimisht me vlerën minimale të pikselëve fqinjë, dhe pas kalimit të përsëritur në maksimum.

Filtri mesatar. Filtrimi mesatar përdor vlerat e elementeve të përmbajtura në rajonin fqinj për të përcaktuar një vlerë të re. Filtri rregullon elementet e afërsisë në rend të renditur dhe merr vlerën mesatare. Kështu, për shembull, për një kernel të dimensionit 3, vlera mesatare do të jetë e pesta:

Një numër efektesh interesante mund të merren duke përdorur teknikat e përpunimit të imazhit hapësinor. Ja disa prej tyre.

Efekt relievit. Me ndihmën e operacionit të konvolucionit, mund të zbatoni një transformim që jep efektin e stampimit në një imazh.

(1.24)

Imazhi binar "pseudo halftone". Imazhi origjinal përpunohet duke përdorur maskën D2 ose D4: nëse vlera e pikselit është më e vogël se vlera proporcionale e elementit përkatës të maskës, atëherë ajo zero, përndryshe i caktohet 255. Maska i imponohet imazhit pa mbivendosje. Maska D2 dhe D4:

,

.

Kur përdorni procese hapësinore, mund të lindin pyetjet e mëposhtme në lidhje me veçoritë e përpunimit të pikselëve:

    Eliminimi i efekteve të skajit;

    Vlera e përgjigjes është jashtë kufijve.

Për pyetjen e parë, zgjidhjet e mëposhtme janë të mundshme:

    Përjashtoni pikselat e skajeve në imazh nga konvertimi

në këtë rast, imazhi i daljes do të jetë më i vogël, ose pikselat e kufirit do të pikturohen, për shembull, me të zezë;

    Mos përfshini pikselin përkatës në përmbledhje, duke shpërndarë në mënyrë të barabartë peshën e tij midis pikselëve të tjerë në lagje;

    Plotësoni (plotësoni) imazhin origjinal duke shtuar numrin e kërkuar të pikselëve përgjatë kufirit. Numri i rreshtave të përfunduara të kolonave, si rregull, varet nga madhësia e kernelit. Dy opsione janë të mundshme këtu:

    • Ripërcaktoni vlerat e pikselit jashtë kufijve të imazhit duke përdorur ekstrapolimin. Për shembull, konsideroni konstante vlerën e intensitetit pranë kufirit ose konsideroni konstante gradientin e intensitetit pranë kufirit;

      Ripërcaktoni vlerat e pikselit jashtë kufijve të imazhit duke përdorur reflektimin specular.

Për të zgjidhur problemet që lidhen me një vlerë jashtë rrezes, janë të mundshme veprimet e mëposhtme:

    Shkallëzimi i vlerave të marra për përgjigjet pozitive të filtrit;

    Me një përgjigje negative të filtrit, merrni ose vlerën absolute (modulo) ose silleni atë në zero.

Gjithashtu në këtë seksion ia vlen të jepet një "klasifikim" i mundshëm i zhurmës në imazh:

    Zhurma e kripës dhe piperit - piksele të rastësishme të bardha dhe të zeza;

    Zhurma e impulsit - pikselë të bardhë të rastësishëm;

    Zhurma Gaussian është luhatje e intensitetit të shpërndara sipas ligjit normal.

Ky artikull do të diskutojë përdorimin e matricës së konvolucionit (matrica e rrotullimit ose matrica e konvolucionit), me të cilën mund të krijoni dhe aplikoni filtra në imazhe, të tilla si turbullimi, mprehja dhe shumë të tjera.

Artikulli do të jetë me interes jo vetëm për programuesit në internet, por edhe për të gjithë ata që, në një mënyrë ose në një tjetër, janë të angazhuar në përpunimin e imazhit të softuerit, pasi funksionet për të punuar me matricën curl janë të disponueshme në shumë gjuhë (është padyshim i njohur për php dhe flash). Gjithashtu, artikulli do të jetë me interes për projektuesit që përdorin Adobe Photoshop, pasi ai ka një filtër përkatës (Filter-Other-Custom).

Shembujt do të jenë në PHP duke përdorur bibliotekën GD. Teori, praktikë, shembuj (kini kujdes, shumë foto!)

Teoria

Duke folur jo matematike, konvolucioniështë një transformim i një matrice duke përdorur një tjetër, e cila quhet bërthamë("kerneli"). Gjatë përpunimit të imazheve, matricat e kanaleve RGB të pikselëve në koordinata drejtkëndore përdoren si ato fillestare.

Bërthama është zakonisht një matricë 3x3, por më e madhe (5x5, 7x7, etj.) është e mundur. Bërthama përmban shkalla e ndikimit ("vlera") elementi përreth vlerësohet në vetë elementin.

Transformimi bëhet si më poshtë. Çdo element i matricës origjinale shumëzohet me vlerën qendrore të matricës së kernelit. Për më tepër, elementët përreth shumëzohen me vlerat përkatëse (nëse madhësia e kernelit është 3x3, do të ketë 8 prej tyre), pas së cilës rezultatet përmblidhen dhe pranohen si një vlerë e konvertuar.

Këtu është një shembull i thjeshtë grafik:

Vlera që do të konvertohet është e theksuar me të kuqe, zona e matricës së kernelit është e theksuar me jeshile.

Çfarë ndodhi si rezultat i transformimit. Vlerat e të gjithë pikselëve përreth, duke përfshirë vlerën e vet, janë të barabarta me zero, me përjashtim të mesatares së sipërme, ku është e barabartë me një. Pra, rezultati është:

(40*0)+(42*1)+(46*0)+(46*0)+(50*0)+(55*0)+(52*0)+(56*0)+(58*0) = 42

Siç mund ta shihni, ky transformim e zhvendos imazhin poshtë me 1 piksel.

Kështu, konvolucioni në këtë rast është një transformim i një imazhi, si rezultat i të cilit çdo piksel i rezultatit ndikohet nga zona që e rrethon. Shkalla e ndikimit të kësaj zone përcaktohet duke përdorur një "kernel" ose matricë kthese.

Div dhe vlerat e kompensimit

Kur përpunoni imazhe, nuk mund të dilni me vetëm një transformim, gjithashtu keni nevojë për normalizim. Po sikur vlera që rezulton është më e madhe se 255 ose më e vogël se 0? Nuk ka lule të tilla. Për më tepër, dalja përtej kufijve të ngjyrës është një fenomen mjaft i shpeshtë.

Për normalizimin e rezultatit përdoren variabla shtesë: div (pjesëtuesi) dhe kompensimi (koeficienti). Ata funksionojnë shumë thjesht: rezultati i transformimit ndahet me një div dhe i shtohet kompensimi.

Nuk është e vështirë të merret me mend se si parazgjedhje div = 1, offset = 0 (div = 0 nuk mund të vendoset!).

Kur transformohet, div është zakonisht shuma e të gjithë elementëve të matricës së përdredhjes. Kjo gjendje ju lejon të parandaloni shtrembërimet e ngjyrave nëse ato nuk janë të nevojshme.

Në të vërtetë, nëse zona e transformuar përmban të njëjtën ngjyrë, atëherë rezultati do të jetë shuma e elementeve të bërthamës shumëzuar me këtë ngjyrë. Prandaj, për të lënë ngjyrën të pandryshuar, është e nevojshme të ndani rezultatin e konvertimit me të njëjtën sasi.

Një shembull i thjeshtë: filtri "negativ".

Ne do të marrim imazhin e mëposhtëm si burim:

në shembull do të jetë e mundur të shihet se si ndryshojnë teksti, fotografia dhe linjat e mëdha dhe të vogla. Tani le të krijojmë një matricë kthese për të marrë efektin negativ:

Sipas matricës, rezulton se si rezultat i transformimit, të gjitha ngjyrat do të kenë një vlerë negative. Për t'i bërë ngjyrat negative, duhet të vendosni kompensimin = 256, kështu që ngjyrat e të gjithë pikselëve zbriten nga 256, që është një imazh negativ:

Si bëhet në PHP

Ekziston një funksion i konvolucionit të imazhit në bibliotekën GD PHP që përmban 4 parametra. E para është ID e imazhit. E dyta është një matricë në formën e një grupi prej 3 vargjesh me 3 variabla. E treta dhe e katërta janë div dhe offset.

Këtu është kodi që e bën imazhin negativ:

    $ img = imagecreatefromjpeg ("imazhe / model.jpg");

    matrica $ = grup (

    grup (0, 0, 0),

    grup (0, - 1, 0),

    grup (0, 0, 0)

    imageconvolution ($ img, $ matrica, 1, 256);

    imagejpeg ($ img, "imazhe / model_negative.jpg", 100);

Vlen të përmendet menjëherë një veçori shumë e pakëndshme e GD: kur konvertohet me convolution imazhi, kanali alfa "shembet". Ky bug është raportuar shumë kohë më parë, por me sa di unë, nuk është rregulluar. Në flash, kjo nuk është, për më tepër, ka edhe parametra shtesë që janë përgjegjës për përpunimin e skajeve të imazheve kur disa nga pikselët bien. Në php, skajet thjesht nuk trajtohen.

Mjegulloj, mpreh, reliev

Këtu është një grup standard i matricave të efekteve:

Ju lutemi vini re se për turbullimin koeficienti div = 9. Për një matricë të tillë, vetëm një koeficient i tillë nuk çon në shtrembërim të ngjyrës. Duhet të them gjithashtu se ka disa opsione të turbullimit, ato ndryshojnë pak në forcën e efektit.

Dhe këtu janë imazhet:

Mprehni:

Efekte "të pastra".

Siç mund ta shihni nga shembulli i mëparshëm me turbullim, efekti mbivendoset në imazh, por mjaft fuqishëm. A është e mundur të zvogëlohet fuqia e efektit në imazh? Rezulton se mundesh. Por për këtë, nuk është e nevojshme të ndryshohet shkalla e ndikimit të pikselëve përreth, siç mund të duket në shikim të parë, por numri i pikselëve ndikues:

Pastaj marrim efektet që do të duken shumë më të rregullta:

turbullim i dritës:

Dritë-mprehtë:

Reliev me dritë:

Këtu ia vlen të shtrohet pyetja, si të rritet fuqia e efektit? Fatkeqësisht, vetëm mbivendosja e tij e shumëfishtë, sepse çfarëdo që mund të thuhet, sipërfaqja prej 3x3 pikselësh përpunohet gjithsesi. Natyrisht, kjo kërkon shumë burime, ndonjëherë ju duhet të aplikoni filtrin 100-200 herë për të turbulluar pikat duke përdorur turbullimin Gaussian. Duhet një kohë shumë e gjatë dhe shumë burime.

Së fundi

Dua të them që ju vetë mund të krijoni një efekt interesant. Për ta bërë këtë, thjesht eksperimentoni me matricën e kthesës.

Matrica e rrotullimit mund të zbatohet me sukses kur:

  • krijimi i fotografive "të vogla", për shembull. gjenerimi i avatarëve dhe pamjeve paraprake (turbullimi i dritës duket veçanërisht mirë këtu).
  • për të krijuar "hije" (nëse vetëm me një kanal alfa :)
  • kur krijoni CAPTHCA (tekst + mprehje e fortë ose emboss)
  • dhe etj. :-)

Krijo një hije të bukur

    * Krijon hije të bukur

    * Kujdes! Operacioni është intensiv i burimeve!

    * @param res $ image - imazh origjinal

    * @param int $ shadow_width - trashësia e hijes (1..10, më e lartë nuk rekomandohet)

    * @param int $ shadow_deep - thellësia e ngjyrës së hijes (1..20, sa më e lartë, aq më e zezë)

    * @param string $ bg_color - ngjyra e sfondit në formatin # 7def34

    funksioni imageaddshadow (& $ image, $ shadow_width = 4, $ shadow_deep = 7, $ bg_color = false)

    $ w = imazhex ($ imazh);

    $ h = imazhi ($ imazh);

    $ iw = $ w + 4 * $ hije_gjerësia;

    $ ih = $ h + 4 * $ hije_gjerësia;

    $ img = imagecreatetruecolor ($ iw, $ ih);

    $ hije_thellë = 255 - $ hije_thellë * 12;

    $ shadow = imagecolorallocate ($ img, $ shadow_deep, $ shadow_deep, $ shadow_deep);

    nëse (! $ bg_color) (

    // E bardha e paracaktuar

    $ bg = imagecolorallocate ($ img, 255, 255, 255);

    tjetër (

    list ($ r, $ g, $ b) = array_map ("hexdec", str_split (ltrim ($ bg_color, "#"), 2));

    $ bg = imagecolorallocate ($ img, $ r + 1, $ g + 1, $ b + 1);

    // Plotësoni zonën me ngjyrën e sfondit

    drejtkëndëshi i mbushur me imazh ($ img, 0, 0, $ iw, $ ih, $ bg);

    // Krijo një hije

    drejtkëndëshi i mbushur me imazh ($ img,

    1 + $ hije_gjerësia,

    1 + $ hije_gjerësia,

Pjesa më e madhe e përpunimit të imazhit mund të bëhet pa përsëritur analizën statistikore të përshkruar në seksionin e mëparshëm për çdo imazh të ri. Sasia e kufizuar e informacionit apriori është mjaft e mjaftueshme. Le të themi se e dimë matricën e bashkëngjitjes për një imazh "ideal" dhe duhet të përmirësojmë cilësinë e një versioni të zhurmshëm të këtij imazhi. Nëse elementët më të mëdhenj të matricës ndodhen në diagonalen kryesore ose afër saj, kjo do të thotë se shumica e pikselëve kanë të njëjtën ngjyrë si pikselët fqinjë. Nëse duam të rrafshojmë histogramin e një imazhi të tillë, atëherë, siç tregohet në Sec. 3.2, këshillohet të përdorni rregullin 3. Nëse keni nevojë të eliminoni zhurmën, atëherë zëvendësimi i vlerës së çdo piksel të një imazhi të zhurmshëm me një shumë të peshuar të vlerave të pikselëve fqinjë do të zvogëlojë ndryshueshmërinë e vlerave të pikselët ngjitur, dhe ne do të afrojmë një imazh më afër origjinalit (shih shembullin 3.5). Kështu, arrijmë në një marrëdhënie që karakterizon marrëdhënien midis imazhit origjinal dhe imazhit të filtruar:

Procesi që zbaton këtë operacion quhet një filtër linear, në veçanti një filtër mesatar lëvizës, pasi kur përdoret, vlera e secilit piksel zëvendësohet nga një lloj mesatarja nga vlerat e elementeve ngjitur me të. Nëse funksioni i peshës brenda figurës nuk ndryshon dhe nuk varet nga koordinatat x, y, atëherë ekuacioni (3.2) mund të rishkruhet si më poshtë:

Ky proces quhet filtër i pandryshueshëm i hapësirës. Këta filtra përdoren gjerësisht në përpunimin e sinjalit në kohë, por përshtatshmëria e tyre në përpunimin e imazhit nuk është e dukshme. Ekuacioni (3.3) thjeshtohet duke e shkruar atë përmes transformimit Furier. Mund të shfaqet (shih seksionin.

Rezultati i aplikimit të një filtri të tillë është shtypja e disa frekuencave dhe amplifikimi i të tjerave, në varësi të H (dhe,

Shembulli 3.5. Nëse keni nevojë të pastroni imazhin nga zhurma me frekuencë të lartë, atëherë për të zbatuar një antialiasing të tillë, mund të përdorni llojin e mëposhtëm të funksionit

Rezultati i aplikimit të filtrit mund të vlerësohet duke krahasuar diferencën në vlerën e pikselëve fqinjë para dhe pas filtrimit Në veçanti, llogaritjet më të thjeshta tregojnë se

Nëse shënojmë me ndryshimin maksimal absolut në vlerat e pikselëve ngjitur të imazhit origjinal dhe përmes ndryshimit përkatës për pikselët e figurës së filtruar, atëherë nga ekuacioni (36) vijon

ato. është e qartë se kjo diferencë nuk mund të rritet. Barazia bëhet vetëm në rastet kur diferenca maksimale në vlerat e pikselave është herë më e madhe se diferenca maksimale në vlera për një palë pikselë, d.m.th. kur ka ndonjë funksion linear të argumenteve të tij Përndryshe, diferenca e specifikuar do të ulet dhe zonat e imazhit do të marrin një karakter më uniform, meqenëse zakonisht përdorimi i një filtri kaq të thjeshtë rezulton i pamjaftueshëm për të eliminuar zhurmën, duhet të drejtoheni në duke përdorur një filtër të rendit më të lartë Një nga implementimet e mundshme të një filtri të tillë është ju Zgjedhja e një filtri të thjeshtë dhe aplikimi i tij disa herë në imazh Figura 39 dhe 310 tregojnë rezultatet e filtrimit në Fig. 3.10 a tregon imazhin origjinal të marrë nga imazhi i paraqitur në Fig. 3 9, duke mbivendosur zhurmën e bardhë të fundit Gaussian, në Fig. 3.10 b tregon rezultatet e aplikimit tetë herë të filtrit të dhëna nga ekuacioni (3 5) Nuk është e vështirë të shihet se ky proces çon jo vetëm në heqjen e zhurmës me frekuencë të lartë, por gjithashtu shkakton turbullim të skajeve të figurës.

Oriz. 3.9 (shih skanimin) Imazhi origjinal i përdorur për ...

Në të vërtetë, nëse zbatojmë ekuacionin (3.6) në skajin e përcaktuar mirë të figurës

rezulton se

Me fjalë të tjera, ndryshimi në vlerat e pikselëve ngjitur u përgjysmua dhe kjo çoi natyrshëm në një ulje të kontrastit të imazhit.

Rezultatet e aplikimit të këtij filtri mund të vlerësohen edhe duke marrë parasysh transformimin Furier të funksionit. Prezantoni shënimin

Ne përdorim ekuacionin (34)

Kjo shprehje mund të thjeshtohet duke përdorur identitetin

dhe më pas kryerja e transformimeve trigonometrike më të thjeshta, si rezultat, shprehja (3 8) merr formën e mëposhtme

Artikujt kryesorë të lidhur