Wednesday 13 September 2017

Moving Media In Matlab


A (ad hoc) modo semplice è quello di prendere solo una media ponderata (sintonizzabile da alpha) in ogni punto con i suoi vicini: o qualche variazione dello stesso. Sì, per essere più sofisticati di Fourier è possibile trasformare i dati, poi tagliare le alte frequenze. Qualcosa di simile a: Questo taglia fuori i più alti 20 frequenze. Fare attenzione a tagliarli fuori simmetricamente altrimenti la trasformazione inversa non è più vero. È necessario scegliere con attenzione la frequenza di taglio per il giusto livello di lisciatura. Questo è molto semplice tipo di filtro (filtraggio scatola nel dominio della frequenza), in modo da poter provare attenuanti delicatamente frequenze di ordine superiore se la distorsione è inaccettabile. risponde 4 9 ottobre alle 9:16 FFT è neanche una cattiva idea, ma la sua probabilmente eccessivo qui. In esecuzione o medie mobili forniscono risultati generalmente scarsa e dovrebbe essere evitato per nulla oltre a tarda compiti a casa (e rumore bianco). uso Id filtraggio Savitzky-Golay (in Matlab sgolayfilt (.)). Questo vi darà i migliori risultati per quello che stai cercando - un po 'di smoothing locale, pur mantenendo la forma del tutorial curve. This viene illustrato come utilizzare MATLAB per l'elaborazione delle immagini. Una certa familiarità con MATLAB è assunto (si dovrebbe sapere come utilizzare matrici e scrivere un M-file). E 'utile avere il MATLAB Image Processing Toolbox, ma per fortuna, non sono necessarie cassette per la maggior parte delle operazioni. I comandi che richiedono la Toolbox immagine sono indicati con Toolbox immagine. Rappresentazione Immagine Ci sono cinque tipi di immagini in MATLAB. Scala di grigi. In scala di grigio M pixel di altezza e N pixel di larghezza è rappresentato come una matrice di doppio tipo di dati di taglia M N. valori degli elementi (ad esempio MyImage (m, n)) denotano il pixel intensità scala di grigi a 0,1 con 0black e 1white. TrueColor RGB. Un'immagine TrueColor rosso-verde-blu (RGB) è rappresentato come un tridimensionale M N 3 doppia matrice. Ogni pixel ha rosso, verde, blu componenti lungo la terza dimensione con valori di 0,1, per esempio, i componenti di colore del pixel (m, n) sono MyImage (m, n, 1) rosso, MyImage (m, n, 2) verde, MyImage (m, n, 3) blue. Indexed. Indicizzate immagini (tavolozza) sono rappresentati con una matrice di indice di taglia M N e una matrice colormap di dimensioni K 3. La mappa di colori contiene tutti i colori utilizzati nell'immagine e la matrice indice rappresenta i pixel facendo riferimento ai colori nella mappa di colori. Ad esempio, se il colore 22 è magenta MyColormap (22, :) 1,0,1. poi MyImage (m, n) 22 è un pixel. Binary color magenta. Una immagine binaria è rappresentata da una matrice logica M N dove i valori dei pixel sono 1 (vero) o 0 (false).uint8. Questo tipo utilizza meno memoria e alcune operazioni di calcolare più velocemente che con doppio tipi. Per semplicità, questo tutorial non discute uint8 ulteriormente. Scala di grigi è di solito il formato preferito per l'elaborazione delle immagini. Nei casi che richiedono il colore, l'immagine a colori RGB può essere scomposto e gestita come tre immagini in scala di grigi separati. immagini indicizzate devono essere convertiti in scala di grigi o RGB per la maggior parte delle operazioni. Qui di seguito sono alcune manipolazioni e conversioni comuni. Alcuni comandi richiedono la Casella degli strumenti Immagine e sono indicati con Toolbox immagine. Leggere e scrivere file di immagine MATLAB può leggere e scrivere le immagini con la imread e comandi imwrite. Anche se un buon numero di formati di file sono supportati, alcuni non lo sono. Utilizzare imformats di vedere ciò che supporta l'installazione: Durante la lettura di immagini, un problema di spiacevole è che imread restituisce i dati di immagine in uint8 tipo di dati, che deve essere convertito in doppio e rescaled prima dell'uso. Così, invece di chiamare direttamente imread, io uso la seguente funzione M-file da leggere e convertire le immagini: tasto destro del mouse e salvare getimage. m Per utilizzare questa funzione M. Se l'immagine baboon. png si trova nella directory corrente (o da qualche parte nel percorso di ricerca di MATLAB), si può leggere con MyImage getImage (baboon. png). È inoltre possibile utilizzare i percorsi parziali, ad esempio, se l'immagine è in LT gtimages directory corrente con getImage (imagesbaboon. png). Per scrivere un'immagine RGB in scala di grigi o, l'uso Fare attenzione che MyImage è una doppia matrice con elementi in 0,1if impropriamente in scala, il file salvato sarà probabilmente vuota. Durante la scrittura di file di immagini, mi consiglia di utilizzare il formato di file PNG. Questo formato è una scelta affidabile dal momento che è senza perdita di dati, supporta TrueColor RGB, e comprime abbastanza bene. Utilizzare altri formati con cautela. Operazioni di base Di seguito sono elencate alcune operazioni di base in scala di grigio u via. I comandi che richiedono la Toolbox immagine sono indicati con Toolbox immagine. (Nota:. Per qualsiasi matrice, la sintassi u (:) mezzi u srotolano in un vettore colonna Ad esempio, se u 1,50,2 allora u (:) è 1052), ad esempio, potenza del segnale immagine viene utilizzata in.. calcolo segnale-rumore (SNR) e il picco rapporto segnale-rumore (PSNR). immagine pulita uclean e il rumore contaminati immagine u Dato, fare attenzione alla norma. il comportamento è norma (v) il vettore v calcola sqrt (somma (v.2)). ma norma (A) sulla matrice A calcola l'indotto L 2 norma matrice, così norma (A) non è certamente sqrt (sum (A (:). 2)). È tuttavia un errore facile da usare norma (A), dove avrebbe dovuto essere norma (A (:)). filtri lineari filtraggio lineare è la tecnica pietra angolare di elaborazione del segnale. Per introdurre brevemente, un filtro lineare è un'operazione in cui ad ogni pixel x m, n di un'immagine, una funzione lineare viene valutata sul pixel ei suoi vicini per calcolare un nuovo valore di pixel y m, n. Un filtro lineare in due dimensioni ha la forma generale dove x è l'ingresso, y è l'uscita, eh è la risposta del filtro impulso. Diverse scelte di h conducono a filtri che liscio, affinare, e rilevano bordi, solo per citarne alcune applicazioni. Il lato destro dell'equazione sopra è indicata conciso h x ed è chiamata la convoluzione di h e x. filtraggio spaziale-dominio filtraggio lineare bidimensionale è implementata in MATLAB con CONV2. Purtroppo, CONV2 può gestire solo il filtraggio in prossimità dei bordi dell'immagine per zero-padding, il che significa che i risultati di filtraggio sono generalmente inappropriato per pixel vicino al confine. Per ovviare a questo, siamo in grado di pad l'immagine in ingresso e utilizzare l'opzione valida quando si chiama CONV2. La seguente funzione M fa questo. Pulsante destro del mouse e salvare conv2padded. m Per utilizzare questa funzione M. Ecco alcuni esempi: Un filtro 2D h è detto essere separabili se può essere espresso come il prodotto esterno di due filtri 1D h1 e h2. cioè, h h1 (:) h2 (:). E 'più veloce di passare H1 e H2 di h. come è fatto sopra della media mobile finestra e il filtro gaussiano. Infatti, la Sobel filtra hx ed hy sono anche separablewhat sono h1 e h2 Fourier-dominio filtraggio spaziale-dominio filtraggio con CONV2 è facilmente un'operazione computaionally costoso. Per un filtro K K su un'immagine M N, costi CONV2 O (MNK 2) addizioni e moltiplicazioni, o O (N 4) supponendo M N K. Per grandi filtri, filtraggio nel dominio di Fourier è più veloce poiché il costo computazionale è ridotto a O (N 2 log N). Utilizzando la proprietà convoluzione-moltiplicazione della trasformata di Fourier, la convoluzione è equivalente calcolata Il risultato è equivalente a conv2padded (x, h) tranne vicino al confine, dove il sopra di calcolo utilizza l'estensione contorno periodiche. filtraggio di Fourier-based può essere fatto anche con l'estensione di confine simmetrica riflettendo l'ingresso in ogni direzione: (Nota: Un metodo ancora più efficace è FFT filtraggio sovrapposizione-add Il Signal Processing Toolbox implementa FFT sovrapposizione-aggiunge in una dimensione fftfilt. .) non lineare filtri un filtro non lineare è un'operazione in cui ogni pixel filtrato ym, n è una funzione non lineare di xm, n ei suoi vicini. Qui si discute brevemente alcuni tipi di filtri non lineari. filtri statistici ordine se avete la casella degli strumenti Immagine, filtri statistica d'ordine può essere eseguita con ordfilt2 e medfilt2. Un filtro statistica d'ordine ordina i valori dei pixel su un quartiere e seleziona il k-esima valore più grande. Il min, max, e filtri mediani sono casi speciali. filtri morfologici Se avete la casella degli strumenti Immagine, bwmorph implementa varie operazioni morfologiche sulle immagini binarie, come l'erosione, dilatazione, aprire, chiudere, e lo scheletro. Ci sono i comandi disponibili anche per la morfologia sulle immagini in scala di grigi: imerode. imdilate e imtophat. tra gli altri. Costruire il proprio filtro di tanto in tanto vogliamo utilizzare un nuovo filtro che MATLAB non ha. Il codice che segue è un modello per i filtri di attuazione. (Nota:.. L'indicazione sbagliata frequente è che i cicli di MATLAB sono lenti e devono essere evitati Questo una volta era vero, di nuovo in MATLAB 5 e precedenti, ma con passanti in versioni moderne sono ragionevolmente veloce) Ad esempio, il filtro alfa-rifilato dire ignora i d 2 bassi e D 2 valori più alti nella finestra, e le medie rimanenti (1 2 r) valori 2 d. Il filtro è un equilibrio tra un filtro mediano ed un filtro medio. Il filtro media alfa-rifilato può essere implementato nel modello come un altro esempio, il filtro bilaterale isSlideshare utilizza i cookie per migliorare la funzionalità e le prestazioni, e per fornire voi con la pubblicità in questione. Se si continua la navigazione nel sito, l'utente accetta l'utilizzo dei cookie su questo sito. Vedi le Condizioni d'uso e sulla privacy. Slideshare utilizza i cookie per migliorare la funzionalità e le prestazioni, e per fornire voi con la pubblicità in questione. Se si continua la navigazione nel sito, l'utente accetta l'utilizzo dei cookie su questo sito. Vedi le Condizioni d'uso per i dettagli sulla privacy e. Vedi tuoi argomenti preferiti in app SlideShare Scarica l'applicazione SlideShare di Offerta ricordare anche offline Continuare a sito mobile Carica Accesso Registrazione Doppio tap per diminuire programmi di base di MATLAB Condividi questa SlideShare LinkedIn Corporation copiare 2017

No comments:

Post a Comment