numpy. average Axis waarlangs om gemiddeld 'n. As een. gemiddelde gedoen oor die plat skikking. gewigte. arraylike, opsioneel 'n verskeidenheid van gewigte wat verband hou met die waardes in 'n. Elke waarde in 'n bydrae lewer tot die gemiddelde volgens sy verwante gewig. Die gewigte array kan óf 1-D (in welke geval moet sy lengte van die grootte van 'n langs die gegewe as wees) of van dieselfde vorm as 'n. As weightsNone. dan sal al die data in 'n word aanvaar dat 'n gewig gelyk aan een het. teruggekeer . Bool, opsionele Standaard is Vals. As dit waar is. die tuple (gemiddelde. sumofweights) teruggestuur, anders net die gemiddelde teruggestuur. As weightsNone. sumofweights is gelykstaande aan die aantal elemente waaroor die gemiddelde geneem. gemiddelde, sumofweights. arraytype of dubbel terug die gemiddelde langs die gespesifiseerde as. Wanneer teruggekeer waar is. terugkeer 'n tuple met die gemiddelde as die eerste element en die som van die gewigte as die tweede element. Die tipe terugkeer is Float as a van heelgetal tipe, anders is dit van dieselfde soort as 'n. sumofweights is van dieselfde soort as die gemiddelde. Created op Woensdag 8 Oktober, 2008 20:04 Laas Opdateer op Donderdag, Maart 14, 2013 01:29 Geskryf deur Batuhan Osmanoglu Hits: 38871 bewegende gemiddelde In Matlab myself dikwels ek 'n behoefte aan die gemiddeld van die data moet ek die geraas te verminder 'n bietjie. Ek het n paar funksies te doen presies wat ek wil hê, maar matlabs gebou in filter funksie werk redelik goed sowel. Hier Siek skryf oor 1D en 2D gemiddeld van data. 1D filter kan verwesenlik word deur die filter funksie. Die filter funksie vereis ten minste drie insette parameters: die teller koëffisiënt vir die filter (b), die deler koëffisiënt vir die filter (a), en die data (X) natuurlik. 'N loop gemiddelde filter kan gedefinieer word deur eenvoudig: Vir 2D data kan ons die Matlabs filter2 funksie gebruik. Vir meer inligting oor hoe die filter werk, kan jy tik: Hier is 'n vinnige en vuil implementering van 'n 16 deur 16 bewegende gemiddelde filter. Eerstens moet ons die filter te definieer. Aangesien al ons wil hê, is gelyk bydrae van alle bure kan ons net gebruik om die kinders funksie. Ons verdeel alles met 256 (1616), aangesien ons nie wil hê dat die algemene vlak (amplitude) van die sein verander. Om die filter kan ons net die volgende Hier sê van toepassing is die resultate vir fase van 'n Kong interferogram. In hierdie geval Range is in Y-as en Azimuth is gekarteer op X-as. Die filter was 4 pixels wyd in Range en 16 pixels wyd in Azimuth. Teken SearchThe Scientist en Ingenieurs Guide to Digital Signal Processing Deur Steven W. Smith, Ph. D. Soos die naam aandui, die bewegende gemiddelde filter bedryf deur gemiddeld 'n aantal punte van die insetsein aan elke punt in die uitsetsein produseer. In vergelyking vorm, dit is geskrywe: Waar is die insetsein, is die uitset sein, en M is die aantal punte in die gemiddelde. Byvoorbeeld, in 'n 5 punt bewegende gemiddelde filter, punt 80 in die uitsetsein word gegee deur: As 'n alternatief, kan die groep punte van die insetsein simmetries gekies om die uitset punt: Dit stem ooreen met die verandering van die opsomming in vergelyking . 15-1 van: J 0 tot M -1 aan: J - (M -1) / 2 tot (m -1) / 2. Byvoorbeeld, in 'n 10 punt bewegende gemiddelde filter, die indeks, j. kan hardloop 0-11 (een kant gemiddelde) of -5 tot 5 (simmetriese gemiddelde). Simmetriese gemiddelde vereis dat M wees 'n onewe getal. Programmering is 'n bietjie makliker met die punte op slegs een kant egter hierdie produseer 'n relatiewe verskuiwing tussen die inset en uitset seine. Jy moet besef dat die bewegende gemiddelde filter is 'n konvolusie gebruik van 'n baie eenvoudige filter kern. Byvoorbeeld, 'n 5 punt filter het die filter kern: 82300, 0, 1/5, 1/5, 1/5, 1/5, 1/5, 0, 08230. Dit is die bewegende gemiddelde filter is 'n konvolusie van die insetsein met 'n vierkantige pols met 'n oppervlakte van een. Tabel 15-1 toon 'n program om die bewegende gemiddelde filter. Calculating bewegende gemiddelde Dit VI bereken en vertoon die bewegende gemiddelde, met behulp van 'n voorafgekies aantal implementeer. Eerstens, die VI initialisatie twee verskuiwing registers. Die top skuifregister is geïnisialiseer met een element, voeg dan voortdurend die vorige waarde met die nuwe waarde. Hierdie verskuiwing registreer hou die totaal van die laaste x metings. Na die verdeling van die resultate van dié byvoeging funksie met die vooraf gekies waarde, die VI word bereken dat die bewegende gemiddelde waarde. Die onderste skuifregister bevat 'n verskeidenheid met die dimensie Gemiddelde. Hierdie verskuiwing registreer hou alle waardes van die meting. Die vervanging funksie vervang die nuwe waarde na elke lus. Dit VI is baie effektief en vinnig, want dit gebruik die vervang element funksie binne die while lus, en dit initialisatie die skikking voordat dit die lus gaan. Dit VI is gemaak in LabVIEW 6.1. Bookmark amp ShareGaussian Smoothing Gewone name: Gauss glad Kort beskrywing Die Gaussiese glad operateur is 'n 2-D konvolusie operateur wat gebruik word om beelde vervaag en verwyder detail en geraas. In hierdie sin is dit soortgelyk aan die gemiddelde filter. maar dit maak gebruik van 'n ander kern wat die vorm van 'n Gaussiese (klokvormige) bult verteenwoordig. Dit kern het 'n paar spesiale eienskappe wat hieronder uiteengesit word. Hoe dit werk Die Gaussiese verspreiding in 1-D het die vorm: waar is die standaardafwyking van die verspreiding. Ons het ook aanvaar dat die verspreiding het 'n gemiddeld van nul (dit wil sê dit is gesentreer op die lyn x 0). Die verspreiding word geïllustreer in Figuur 1. Figuur 1 1-D Gaussiese verspreiding met gemiddelde 0 en 1 in 2-D, 'n isotropiese (dws sirkulêr simmetriese) Gaussiese het die vorm: Hierdie verspreiding word in Figuur 2. Figuur 2 2-D Gaussiese verspreiding met gemiddelde (0,0) en 1 Die idee van Gauss glad is om hierdie 2-D verspreiding as 'n punt-verspreiding funksie te gebruik, en dit word bereik deur konvolusie. Sedert die beeld gestoor word as 'n versameling van diskrete pixels moet ons 'n diskrete benadering te produseer om die Gaussiese funksie voordat ons die konvolusie kan verrig. In teorie, die Gaussiese verspreiding is nie-nul oral, wat 'n oneindig groot konvolusie kern sou vereis, maar in die praktyk is dit effektief nul meer as sowat drie standaardafwykings vanaf die gemiddelde, en daarom het ons die kern op hierdie punt kan afkap nie. Figuur 3 toon 'n geskikte-heelgetal waarde konvolusie kern wat 'n Gaussiese met 'n van 1,0 by benadering. Dit is nie duidelik hoe om die waardes van die masker om 'n Gaussiese benader haal. 'N Mens kan die waarde van die Gaussiese gebruik in die middel van 'n pixel in die masker, maar dit is nie akkuraat nie omdat die waarde van die Gaussiese wissel nie-lineêr oor die pixel. Ons geïntegreerde die waarde van die Gaussiese oor die hele pixel (deur die WHALM Gaussiese by 0.001 inkremente). Die integrale is nie heelgetalle: ons die skikking verklein sodat die hoeke moes die waarde 1. Ten slotte, die 273 is die som van al die waardes in die masker. Figuur 3 Diskrete benadering tot Gaussiese funksie met 1.0 Sodra 'n geskikte kern is bereken, dan is die Gaussiese glad uitgevoer kan word met behulp van standaard konvolusie metodes. Die konvolusie kan in werklikheid redelik vinnig uitgevoer word sedert die vergelyking vir die 2-D isotropies Gaussiese hierbo getoon is skeibare in x en y-komponente. So het die 2-D konvolusie kan uitgevoer word deur eerste convolving met 'n 1-D Gauss in die x rigting, en dan convolving met 'n ander 1-D Gauss in die y rigting. (Die Gaussiese is in werklikheid die enigste heeltemal sirkulêr simmetriese operateur wat kan ontbind word in so 'n manier.) Figuur 4 toon die 1-D x komponent kern wat gebruik sou word om die volle kern getoon in figuur 3 (na skalering deur 273 , afronding en truncating een ry pixels rondom die grens, want hulle het meestal die waarde 0. Dit verminder die 7x7 matriks om die bostaande 5x5.). Die y-komponent is presies dieselfde, maar word vertikaal georiënteerde. Figuur 4 Een van die denim 1-D konvolusie pitte wat gebruik word om die volle kern vinniger getoon in figuur 3 te bereken. 'N Verdere manier om 'n Gaussiese glad met 'n groot standaardafwyking te bereken is om 'n beeld 'n paar keer oprollen met 'n kleiner Gaussiese. Terwyl dit is bestryk komplekse, kan dit toepaslikheid hê as die verwerking word uitgevoer met behulp van 'n hardeware pyplyn. Die Gaussiese filter het nie net nut in ingenieurstoepassings. Dit is ook om aandag te trek uit computational bioloë, want dit is toegeskryf aan 'n bedrag van biologiese aanneemlikheid, bv sommige selle in die visuele bane van die brein het dikwels 'n ongeveer Gaussiese reaksie. Riglyne vir die gebruik van die krag van Gauss glad is om 'n beeld vervaag, in 'n soortgelyke wyse aan die gemiddelde filter. Die mate van gladstryking word bepaal deur die standaardafwyking van die Gaussiese. (Groter standaardafwyking Gaussians, natuurlik, vereis groter konvolusie pitte ten einde akkuraat te verteenwoordig.) Die Gaussiese uitgange 'n geweegde gemiddelde van elke buurt pixels, met die gemiddelde geweegde meer in die rigting van die waarde van die sentrale pixels. Dit is in teenstelling met die gemiddelde filters eenvormig geweegde gemiddelde. As gevolg hiervan, 'n Gaussiese bied sagter glad en bewaar kante beter as 'n soortgelyke grootte gemiddelde filter. Een van die beginsel regverdigings vir die gebruik van die Gaussiese as glad filter is te danke aan sy frekwensieweergawe. Die meeste-konvolusie gebaseer glad filters op te tree as laagdeurlaat frekwensie filters. Dit beteken dat die uitwerking daarvan is om 'n hoë ruimtelike frekwensie komponente van 'n beeld te verwyder. Die frekwensieweergawe van 'n konvolusie filter, dit wil sê die uitwerking daarvan op verskillende ruimtelike frekwensie, kan gesien word deur die neem van die Fourier-transform van die filter. Figuur 5 toon die frekwensie reaksie van 'n 1-D beteken filter met breedte 5 en ook van 'n Gaussiese filter met 3. Figuur 5 frekwensieweergawes van Box (dit wil sê dat) filter (breedte 5 pixels) en Gaussiese filter (3 pixels). Die ruimtelike frekwensie-as gemerk in siklusse per pixel, en dus geen waarde bo 0,5 het 'n ware betekenis. Beide filters verswak hoë frekwensies meer as 'n lae frekwensies, maar die gemiddelde filter vertoon ossillasies in sy frekwensieweergawe. Die Gaussiese aan die ander kant toon geen ossilasies. Trouens, die vorm van die frekwensiereaksiekurwe self (halwe) Gaussiese. So deur die keuse van 'n toepaslike grootte Gaussiese filter ons kan redelik vol vertroue oor watter reeks ruimtelike frekwensie is steeds teenwoordig is in die beeld na filter, wat nie die geval van die gemiddelde filter wees. Dit het gevolge vir 'n paar rand opsporing tegnieke, soos genoem in die afdeling oor nul kruisings. (Die Gaussiese filter blyk ook baie soortgelyk aan die optimale glad filter vir rand opsporing onder die wat gebruik word om die Canny rand detector lei kriteria te wees.) Om die uitwerking van glad met agtereenvolgens groter en groter Gaussiese filters te illustreer. toon die effek van die filter met 'n Gaussiese van 1.0 (en pitgrootte 52155). toon die effek van die filter met 'n Gaussiese van 2.0 (en pitgrootte 92159). toon die effek van die filter met 'n Gaussiese van 4.0 (en pitgrootte 1521515). Ons het nou oorweeg om die Gaussiese filter vir geluidsreductie. Byvoorbeeld, kyk na die beeld wat deur Gaussiese ruis het gehandel met 'n gemiddelde van nul en 8. Gladstryking dit met 'n 52.155 Gaussiese opbrengste (Vergelyk hierdie resultaat met dié verkry deur die gemiddelde en mediaan filters.) Sout en peper geraas is meer uitdagend vir 'n Gaussiese filter. Hier sal ons die beeld wat is beskadig deur 1 sout en peper geraas (dit wil sê individuele stukkies is omgekeer met waarskynlikheid 1) glad. Die foto toon die resultaat van Gauss smoothing (met behulp van dieselfde konvolusie soos hierbo). Vergelyk dit met die oorspronklike Let daarop dat die grootste deel van die geraas nog bestaan en dat, hoewel dit ietwat afgeneem het in grootte, is dit gesmeer oor 'n groter ruimtelike streek. Die verhoging van die standaard afwyking gaan voort om te verminder / vervaag die intensiteit van die geraas, maar verswak ook 'n hoë frekwensie detail (bv kante) aansienlik, soos in Interaktiewe Eksperimentering Jy kan interaktief eksperimenteer met hierdie operateur deur hier te klik. Oefeninge Vanaf die Gaussiese ruis (gemiddelde 0, 13) beskadig beeld bereken beide beteken filter en Gaussiese filter glad op verskillende skale, en vergelyk elk in terme van geraas verwydering vs verlies van detail. By hoeveel standaardafwykings vanaf die gemiddelde nie 'n Gaussiese val tot 5 van sy hoogtepunt waarde Op grond van hierdie dui op 'n geskikte vierkante pitgrootte vir 'n Gaussiese filter met s. Skat die frekwensieweergawe vir 'n Gaussiese filter deur Gaussiese glad 'n beeld, en die neem van die Fourier-transform beide voor en na die tyd. Vergelyk dit met die frekwensieweergawe van 'n gemiddelde filter. Hoe die tyd wat dit neem om te stryk met 'n Gaussiese filter vergelyk met die tyd wat dit neem om te stryk met 'n gemiddelde filter vir 'n kern van dieselfde grootte Let daarop dat in beide gevalle die konvolusie kan aansienlik bespoedig word deur die ontginning van sekere kenmerke van die kern. Verwysings E. Davies masjien Visie: Teorie, algoritmes en Functionaliteiten. Akademiese Press, 1990, pp 42 - 44. R. Gonzalez en R. Woods digitale beeldverwerking. Addison-Wesley Publishing Company, 1992, p 191. R. Haralick en L. Shapiro Rekenaar en robot Visie. Addison-Wesley Publishing Company, 1992, Vol. 1, Hfst. 7. B. Horn robot Visie. MIT Press, 1986, Hfst. 8. D. Vernon masjien Visie. Prentice-Hall, 1991, pp 59-61, 214. Plaaslike inligting Spesifieke inligting oor hierdie operateur kan hier gevind word. Meer algemene advies oor die plaaslike HIPR installasie is beskikbaar in die Plaaslike inligting inleidende gedeelte.
No comments:
Post a Comment