Come configurare smartphone e PC. Portale informativo
  • casa
  • Windows 8
  • Filtro mediano digitale unidimensionale con finestra a tre campioni. Algoritmo di filtraggio mediano veloce

Filtro mediano digitale unidimensionale con finestra a tre campioni. Algoritmo di filtraggio mediano veloce

Se il tuo background ingegneristico è simile al mio, probabilmente ne sai molto vari tipi filtri lineari, il cui compito principale è far passare un segnale in un intervallo di frequenza e ritardare i segnali in altri intervalli. Questi filtri sono, ovviamente, indispensabili per molti tipi di rumore. Tuttavia, nel mondo reale dei sistemi embedded, ci vuole un po' di tempo per rendersi conto che i classici filtri lineari sono inutili contro il rumore impulsivo (rumore burst, rumore dei popcorn).

Il rumore dell'impulso di solito deriva da eventi pseudo casuali. Ad esempio, una radio ricetrasmittente potrebbe passare vicino al tuo dispositivo o potrebbero verificarsi scariche elettrostatiche. Ogni volta che ciò accade, il segnale di ingresso potrebbe essere temporaneamente distorto.

Ad esempio, di conseguenza conversione da analogico a digitale otteniamo la seguente serie di valori: 385, 389, 912, 388, 387. Il valore 912 è presumibilmente anomalo e dovrebbe essere rifiutato. Se si tenta di utilizzare un filtro lineare classico, si noterà che il valore 912 avrà un effetto significativo sull'output. La migliore soluzione in questo caso utilizzerà il filtro mediano.

Nonostante l'ovvietà di questo approccio, la mia esperienza è che i filtri mediani sono notevolmente rari nei sistemi embedded. Forse ciò è dovuto alla mancanza di conoscenza della loro esistenza e alla difficoltà di attuazione. Spero che il mio post in una certa misura rimuova questi ostacoli.

L'idea alla base del filtro mediano è semplice. Seleziona una media da un gruppo di valori di input e la emette. E di solito il gruppo ha un numero dispari di valori, quindi non ci sono problemi con la scelta

Fino a poco tempo fa distinguevo tre classi filtri mediani, differendo per il numero di valori utilizzati:

Filtra utilizzando 3 valori (filtro più piccolo possibile),
- filtrare utilizzando 5, 7 o 9 valori (i più utilizzati),
- filtra utilizzando 11 o più valori.

Ora mi attengo a una classificazione più semplice:

Filtra utilizzando 3 valori,
- filtra utilizzando più di 3 valori.

Filtra mediana per 3

Questo è il filtro più piccolo possibile. È facilmente implementabile con poche istruzioni e quindi ha un piccolo e codice rapido.


uint16_t mezzo_di_3(uint16_t a, uint16_t b, uint16_t c)
{
uint16_t medio;

Se una<= b) && (a <= c)){
mezzo = (b<= c) ? b: c;
}
altro(
se ((b<= a) && (b <= c)){
mezzo = (a<= c) ? a: c;
}
altro(
mezzo = (a<= b) ? a: b;
}
}

ritorno al centro;
}

Filtro mediano > 3

Per una dimensione del filtro maggiore di 3, suggerisco di utilizzare l'algoritmo descritto da Phil Ekstrom nel numero di novembre 2000 di Embedded Systems Programming. Extrom utilizza un elenco collegato. La cosa buona di questo approccio è che una volta che l'array è ordinato, la rimozione del vecchio valore e l'aggiunta di uno nuovo non rende l'array significativamente ingombra. Pertanto, questo approccio funziona bene con filtri di grandi dimensioni.

Tieni presente che c'erano alcuni bug nel codice pubblicato originale, che Ekstrom in seguito ha corretto. Considerando che ora è difficile trovare qualcosa su embedded.com, ho deciso di pubblicare la mia implementazione del suo codice. Il codice è stato originariamente scritto in Dynamic C, ma è stato portato in C standard per questo post. Il codice dovrebbe funzionare, ma sta a te testarlo completamente.


#definisci NULLO 0
#define STOPPER 0 /* Più piccolo di qualsiasi dato */
#define MEDIAN_FILTER_SIZE 5

uint16_t MedianFilter(uint16_t datum)
{

coppia di strutture(
coppia di strutture *punto; /* Puntatori che formano una lista collegata in ordine */
uint16_tvalore; /* Valori da ordinare */
};

/* Buffer di coppie di nwidth */
buffer di coppia di strutture statiche = (0);
/* Puntatore nel buffer circolare dei dati */
coppia di strutture statiche *datpoint = buffer;
/* ferma catena */
coppia di strutture statiche small = (NULL, STOPPER);
/* Puntatore all'inizio (il più grande) dell'elenco collegato.*/
coppia di strutture statiche big = (&small, 0);

/* Puntatore al successore dell'elemento dati sostituito */
coppia di strutture *successore;
/* Puntatore utilizzato per scorrere l'elenco ordinato */
coppia di strutture *scansione;
/* Valore precedente della scansione */
coppia di strutture *scanold;
/* Puntatore alla mediana */
coppia di strutture *mediana;
uint16_t io;

if (dato == STOPPER)(
dato = STOPPER + 1; /* Non sono ammessi tappi. */
}

If ((++datpoint - buffer) >= MEDIAN_FILTER_SIZE)(
punto dati = buffer; /* Incrementa e avvolgi i dati nel puntatore.*/
}

datapoint->valore = dato; /* Copia in nuovo dato */
successore = datapoint->punto; /* Salva il puntatore al successore del vecchio valore */
mediana = /* dalla mediana inizialmente alla prima della catena */
scanold = NULL; /* Scanold inizialmente nullo. */
scan = /* Punta al puntatore al primo (più grande) datum nella catena */

/* Gestire la catena del primo elemento della catena come caso speciale */
if (scansione->punto == punto dati)(
scan->punto = successore;
}


scansione = scansione->punto; /* catena di discesa */

/* Ciclo attraverso la catena, uscita ciclo normale tramite interruzione. */
per (io = 0 ; io< MEDIAN_FILTER_SIZE; ++i){
/* Gestisci gli oggetti con numero dispari nella catena */
if (scansione->punto == punto dati)(
scan->punto = successore; /* Elimina il vecchio dato.*/
}

Se (scansione->valore< datum){ /* If datum is larger than scanned value,*/
datpoint->punto = scanold->punto; /* Incatenalo qui. */
scanold->punto = datapoint; /* Segnalo incatenato. */
dato = STOPPER;
};

/* Sposta il puntatore mediano verso il basso della catena dopo aver eseguito l'elemento dispari */
mediana = mediana->punto; /* Puntatore mediano del passaggio. */
if (scansione == &piccolo)(
rottura; /* Rottura alla fine della catena */
}
scanold=scansione; /* Salva questo puntatore e */
scansione = scansione->punto; /* catena di discesa */

/* Gestisci gli elementi con numero pari nella catena. */
if (scansione->punto == punto dati)(
scan->punto = successore;
}

Se (scansione->valore< datum){
datpoint->punto = scanold->punto;
scanold->punto = datapoint;
dato = STOPPER;
}

Se (scansione == &piccolo)(
rottura;
}

scanold=scansione;
scansione = scansione->punto;
}

restituisce mediana->valore;
}

Per utilizzare questo filtro, è sufficiente chiamare la funzione ogni volta che si riceve un nuovo valore di input. La funzione restituirà il valore medio degli ultimi valori accettati, il cui numero è determinato dalla costante MEDIAN_FILTER_SIZE.

Questo algoritmo può utilizzare una discreta quantità di RAM (a seconda della dimensione del filtro, ovviamente) perché salva i valori di input e i puntatori della struttura. Tuttavia, se questo non è un problema, l'algoritmo è davvero buono da usare perché è significativamente più veloce degli algoritmi basati sull'ordinamento.

Filtraggio mediano in base all'ordinamento

In una versione precedente di questo articolo, per i filtri mediani di dimensione 5, 7 o 9, ho supportato l'approccio dell'algoritmo di ordinamento. Ora ho cambiato idea. Tuttavia, se desideri utilizzarli, ti fornisco il codice di base:


se (ADC_Buffer_Full)(

Uint_fast16_t adc_copy;
uint_fast16_t filtri_cnts;

/* Copia i dati */
memcpy(adc_copy, ADC_Counts, sizeof(adc_copy));

/* Ordinalo */
shell_sort(adc_copy, MEDIAN_FILTER_SIZE);

/* Prendi il valore medio */
filtri_cnts = adc_copy[(MEDIAN_FILTER_SIZE - 1U) / 2U];

/* Converti in unità ingegneristiche */
...

Conclusione

L'uso dei filtri mediani ha un costo. È ovvio che i filtri mediani aggiungono un ritardo alla modifica graduale dei valori. Inoltre, i filtri mediani possono sovrascrivere completamente le informazioni sulla frequenza nel segnale. Naturalmente, se sei interessato solo ai valori costanti, questo non è un problema.

Con queste riserve in mente, ti consiglio comunque vivamente di utilizzare i filtri mediani nei tuoi progetti.

Di recente, ho dovuto affrontare la necessità di un filtraggio software dei dati ADC. Googling e fumo (documentazione varia) mi hanno portato a due tecnologie: Low Pass Filter (LPF) e Median Filter. C'è un articolo molto dettagliato sull'LPF nella comunità di Easyelectronics, quindi parleremo ulteriormente del filtro mediano.

Disclaimer (scusa): questo articolo è per la maggior parte una traduzione quasi letterale di un articolo dal sito embeddedgurus. Tuttavia, anche il traduttore (I) ha utilizzato gli algoritmi di cui sopra nel lavoro, li ha trovati utili e forse di interesse per questa comunità.

Quindi, qualsiasi filtro lineare è progettato per far passare i segnali in una determinata banda di frequenza e attenuare il più possibile tutti gli altri. Tali filtri sono indispensabili se si desidera eliminare l'influenza di tutti i tipi di rumore. Tuttavia, nel mondo reale dei sistemi embedded, il progettista potrebbe trovarsi di fronte al fatto che questi filtri classici sono praticamente inutili contro i picchi di potenza a breve termine.

Questo tipo di rumore è solitamente causato da qualche evento casuale, come una scarica elettrostatica, un portachiavi di allarme vicino al dispositivo e così via. In questo caso, il segnale di ingresso può assumere un valore volutamente impossibile. Ad esempio, i seguenti dati provengono dall'ADC: 385, 389, 388, 388, 912, 388, 387. Ovviamente, il valore 912 qui è falso e dovrebbe essere scartato. Quando si utilizza un filtro classico, è quasi certo che questo numero elevato influirà notevolmente sul valore di uscita. La soluzione ovvia qui è usare un filtro mediano.

Fedele al suo nome, il filtro mediano supera la media di un insieme di valori. Di solito la dimensione di questo gruppo è dispari per evitare ambiguità nella scelta della media. L'idea principale è che esiste un buffer con diversi valori, da cui viene selezionata la mediana.

Differenze tra mediana e media aritmetica

Supponiamo che ci siano 19 poveri e un miliardario in una stanza. Tutti mettono i soldi sul tavolo: i poveri dalle loro tasche e il miliardario da una valigia. Ogni povero mette $ 5 e ogni miliardario mette $ 1 miliardo (109). Il totale è di $ 1.000.000.095 Se dividiamo il denaro in parti uguali tra 20 persone, otteniamo $ 50.000.004,75. Questa sarà la media aritmetica della quantità di denaro che avevano tutte le 20 persone in quella stanza.

La mediana in questo caso sarà pari a $5 (metà della somma del decimo e dell'undicesimo, valori medi della serie classificata). Può essere interpretato come segue. Dividendo la nostra azienda in due gruppi uguali di 10 persone, possiamo affermare che nel primo gruppo ciascuno non ha messo sul tavolo più di $ 5, mentre nel secondo non meno di $ 5. In generale, possiamo dire che la mediana è quanto la persona media ha portato con sé. Al contrario, la media aritmetica è una caratterizzazione inappropriata, poiché supera di gran lunga la quantità di denaro a disposizione della persona media.
en.wikipedia.org/wiki/Median_ (statistiche)

In base alle dimensioni di questo set, dividiamo i filtri in due tipi:
Dimensione = 3
Dimensione > 3

Dimensione del filtro 3
La dimensione tre è la più piccola possibile. È possibile calcolare il valore medio utilizzando solo alcune operazioni IF. Di seguito è riportato il codice che implementa questo filtro:

uint16_t middle_of_3(uint16_t a, uint16_t b, uint16_t c) ( uint16_t middle; if ((a<= b) && (a <= c)) { middle = (b <= c) ? b: c; } else if ((b <= a) && (b <= c)) { middle = (a <= c) ? a: c; } else { middle = (a <= b) ? a: b; } return middle; }

Dimensione filtro >3
Per un filtro con dimensioni maggiori di tre, suggerisco di utilizzare l'algoritmo proposto da Phil Ekstrom nel numero di novembre della rivista Embedded Systems, e riscritto da C dinamico a C standard da Nigel Jones. L'algoritmo utilizza un elenco collegato singolarmente e sfrutta il fatto che quando un array viene ordinato, la rimozione del valore più vecchio e l'aggiunta di uno nuovo non interrompe l'ordinamento.

#define STOPPER 0 /* Minore di qualsiasi datum */ #define MEDIAN_FILTER_SIZE (13) uint16_t median_filter(uint16_t datum) ( coppia di struct ( coppia di strutture *punto; /* puntatori che formano un elenco collegato in ordine ordinato */ uint16_t valore; /* Valori per ordinare */ ); static struct pair buffer = (0); /* Buffer di coppie di nwidth */ static struct pair *datpoint = buffer; /* Puntatore nel buffer circolare di dati */ static struct pair small = (NULL, STOPPER ). pair *scan; /* Puntatore utilizzato per scorrere l'elenco ordinato */ struct pair *scanold; /* Valore precedente della scansione */ struct pair *median; /* Puntatore alla mediana */ uint16_t i; if (datum == STOPPER ) ( datum = STOPPER + 1; /* Non sono ammessi stopper. */ ) if ((++datpoint - buffer) >= MEDIAN_FILTER_SIZE) ( datpoint = buffer; /* Incrementa e avvolgi i dati nel puntatore.*/ ) datp unguento->valore = dato; /* Copia in nuovo datum */ successor = datpoint->point; /* Salva il puntatore al successore del vecchio valore */ mediana = /* Mediana inizialmente al primo nella catena */ scanold = NULL; /* Scanold inizialmente nullo. */ scan = /* Punta al puntatore al primo (più grande) datum in chain */ /* Gestisce il chain-out del primo elemento nella catena come caso speciale */ if (scan->point == datpoint) ( scan->point = successor; ) scanold = scan; /* Salva questo puntatore e */ scan = scan->point ; /* step down catena */ /* Ciclo attraverso la catena, uscita ciclo normale tramite interruzione. */ for (i = 0 ; i< MEDIAN_FILTER_SIZE; ++i) { /* Handle odd-numbered item in chain */ if (scan->point == datpoint) ( scan->point = successore; /* Elimina il vecchio datum.*/ ) if (scan->value< datum) /* If datum is larger than scanned value,*/ { datpoint->punto = scanold->punto; /* Incatenalo qui. */scald->punto = datapoint; /* Segnalo incatenato. */ dato = STOPPER; ); /* Scende la catena del puntatore mediano dopo aver eseguito l'elemento dispari */ mediana = mediana->punto; /* Puntatore mediano del passaggio. */ if (scan == &small) ( break; /* Interruzione alla fine della catena */ ) scanold = scan; /* Salva questo puntatore e */ scan = scan->point; /* catena di riduzione */ /* Gestisci l'elemento con numero pari nella catena. */ if (scan->point == datpoint) ( scan->point = successore; ) if (scan->value< datum) { datpoint->punto = scanold->punto; scanold->punto = datapoint; dato = STOPPER; ) if (scan == &small) ( break; ) scanold = scan; scansione = scansione->punto; ) restituisce mediana->valore; )
Per utilizzare questo codice, chiamiamo semplicemente la funzione ogni volta che appare un nuovo valore. Restituirà la mediana delle ultime misurazioni MEDIAN_FILTER_SIZE.
Questo approccio richiede un bel po' di RAM, come Devi memorizzare sia i valori che i puntatori. Tuttavia, è abbastanza veloce (58µs a 40MHz PIC18).

conclusioni
Come la maggior parte delle cose nel mondo embedded, il filtro Median ha un prezzo. Ad esempio, introduce una latenza di una lettura con valori di input in continua crescita. Inoltre, questo filtro distorce notevolmente le informazioni sulla frequenza del segnale. Naturalmente, se ci interessa solo la componente costante, questo non crea particolari problemi.
  • Il filtraggio mediano non è lineare, poiché la mediana della somma di due sequenze arbitrarie non è uguale alla somma delle loro mediane, il che in alcuni casi può complicare l'analisi matematica dei segnali.
  • Il filtro provoca l'appiattimento dei vertici delle funzioni triangolari.
  • La soppressione del rumore bianco e gaussiano è meno efficace dei filtri lineari. Una debole efficienza si osserva anche quando viene filtrato il rumore di fluttuazione.
  • All'aumentare della dimensione della finestra del filtro, i cambiamenti e i salti del segnale sono sfocati.

Gli svantaggi del metodo possono essere ridotti utilizzando il filtraggio mediano con ridimensionamento adattivo della finestra del filtro a seconda della dinamica del segnale e della natura del rumore (filtro mediano adattativo). Come criterio per la dimensione della finestra, è possibile utilizzare, ad esempio, l'entità della deviazione dei valori dei campioni vicini rispetto al campione classificato centrale /1i/. Quando questo valore scende al di sotto di una certa soglia, la dimensione della finestra aumenta.

16.2. FILTRAGGIO MEDIANO DELLE IMMAGINI.

Rumore nelle immagini. Nessun sistema di registrazione prevede qualità perfetta immagini degli oggetti studiati. Le immagini nel processo di formazione da parte dei loro sistemi (fotografici, olografici, televisivi) sono solitamente esposte a varie interferenze o rumori casuali. Il problema fondamentale nel campo dell'elaborazione delle immagini è rimozione efficace rumore mantenendo i dettagli dell'immagine che sono importanti per il successivo riconoscimento. La complessità della risoluzione di questo problema dipende essenzialmente dalla natura del rumore. A differenza delle distorsioni deterministiche, che sono descritte da trasformazioni funzionali dell'immagine originale, i modelli di rumore additivo, impulsivo e moltiplicativo vengono utilizzati per descrivere effetti casuali.

Il tipo più comune di interferenza è il rumore additivo casuale, che è statisticamente indipendente dal segnale. Il modello di rumore additivo viene utilizzato quando il segnale in uscita dal sistema o in qualsiasi fase della trasformazione può essere considerato come la somma del segnale utile e di alcuni segnale casuale. Il modello di rumore additivo descrive bene l'effetto della grana della pellicola, il rumore di fluttuazione nei sistemi di ingegneria radio, il rumore di quantizzazione nei convertitori da analogico a digitale e così via.

Il rumore gaussiano additivo è caratterizzato dall'aggiunta di valori con una distribuzione normale e una media zero per ciascun pixel dell'immagine. Tale rumore viene solitamente introdotto nella fase di formazione immagine digitale. I contorni degli oggetti portano le informazioni principali nelle immagini. I filtri lineari classici possono rimuovere efficacemente il rumore statistico, ma il grado di sfocatura dei dettagli fini nell'immagine può superare i valori consentiti. Per risolvere questo problema vengono utilizzati metodi non lineari, ad esempio algoritmi di diffusione anisotropica Perron e Malick, filtri bilaterali e trilaterali. L'essenza di tali metodi risiede nell'uso di stime locali adeguate per determinare il contorno nell'immagine e levigare tali aree nella misura minima.


Il rumore dell'impulso è caratterizzato dalla sostituzione di alcuni pixel nell'immagine con fissi o variabile casuale. Nell'immagine, tale interferenza appare come punti contrastanti isolati. Il rumore a impulsi è tipico per i dispositivi di input di immagini con telecamera, sistemi per la trasmissione di immagini su canali radio, nonché per sistemi digitali trasmissione e memorizzazione di immagini. Per rimuovere il rumore impulsivo, viene utilizzata una classe speciale di filtri non lineari costruiti sulla base di statistiche di rango. L'idea generale di tali filtri è quella di rilevare la posizione dell'impulso e sostituirlo con un valore stimato, mantenendo invariato il resto dei pixel dell'immagine.

filtri bidimensionali. Il filtraggio dell'immagine mediana è più efficace se il rumore dell'immagine ha un carattere impulsivo ed è un insieme limitato di valori di picco su uno sfondo di zeri. Come risultato dell'applicazione del filtro mediano, le aree inclinate e le brusche variazioni dei valori di luminosità nelle immagini non cambiano. Questo è molto proprietà utile in particolare per le immagini in cui, come è noto, i contorni riportano le informazioni principali.

Riso. 16.2.1.

Con il filtraggio mediano delle immagini rumorose, il grado di levigatura dei contorni degli oggetti dipende direttamente dalle dimensioni dell'apertura del filtro e dalla forma della maschera. Esempi di forma di maschere con apertura minima sono mostrati nelle Figg. 16.2.1. A piccole dimensioni dell'apertura, i dettagli di contrasto dell'immagine sono meglio conservati, ma vengono soppressi in misura minore. rumore impulsivo. Per grandi aperture si osserva il contrario. Scelta ottimale la forma dell'apertura di levigatura dipende dalle specifiche del problema da risolvere e dalla forma degli oggetti. Ciò è di particolare importanza per il problema della conservazione delle differenze (limiti di luminosità netti) nelle immagini.

Per immagine della differenza si intende un'immagine in cui i punti su un lato di una certa linea hanno lo stesso valore ma e tutti i punti sull'altro lato di questa linea sono il valore B, B¹ un. Se l'apertura del filtro è simmetrica rispetto all'origine e la contiene, il filtro mediano conserva qualsiasi immagine della goccia. Questo viene fatto per tutte le aperture con un numero dispari di campioni, ad es. fatta eccezione per le aperture ( cornici quadrate, anelli) che non contengono l'origine. Tuttavia, le cornici e gli anelli quadrati cambieranno solo leggermente il drop.

Riso. 16.2.2.

Per semplificare ulteriori considerazioni, ci limitiamo a un esempio di filtro con maschera quadrata di dimensione N × N, con N=3. Il filtro scorrevole scansiona i campioni dell'immagine da sinistra a destra e dall'alto verso il basso, mentre la sequenza bidimensionale di input è anche rappresentata come una serie numerica sequenziale di campioni (x(n)) da sinistra a destra dall'alto verso il basso. Da questa sequenza, in ogni punto corrente, la maschera filtro estrae l'array w(n), come vettore di elementi W, che in questo caso contiene tutti gli elementi della finestra 3x3 centrata su x(n) e l'elemento centrale stesso, se previsto dal tipo di maschera:

w(n) = . (16.2.1)

In questo caso, i valori x i corrispondono a una mappatura da sinistra a destra e dall'alto verso il basso di una finestra 3×3 in un vettore unidimensionale, come mostrato in Fig. 16.2.2.

Gli elementi di questo vettore, oltre che per un filtro mediano unidimensionale, possono anche essere ordinati in fila in ordine crescente o decrescente dei loro valori:

r(n) = , (16.2.2)

il valore mediano è definito y(n) = med(r(n)) e il campione centrale della maschera è sostituito dal valore mediano. Se il tipo di maschera non include il campione centrale della serie 16.2.1, il valore mediano è la media dei due campioni centrali della serie 16.2.2.

Le espressioni di cui sopra non spiegano come il segnale di uscita si trovi vicino all'estremità e ai punti limite in sequenze e immagini finite. Uno di semplici trucchiè che devi trovare la mediana solo di quei punti all'interno dell'immagine che rientrano nell'apertura. Pertanto, per i punti vicini ai confini, le mediane saranno determinate da un minor numero di punti.

Sulla fig. 16.2.3 mostra un esempio di cancellazione di un'immagine rumorosa con un filtro Chernenko mediano /2i/. Il rumore dell'immagine sull'area era del 15%; per la pulizia, il filtro è stato applicato in successione 3 volte.



Riso. 16.1.5.

Il filtraggio mediano può essere eseguito anche in una variante ricorsiva, in cui i valori sopra e a sinistra del riferimento centrale nella maschera (in questo caso, x 1 (n) - x 4 (n) in Fig. 16.2. 2) nella serie 16.2.1 sono sostituiti da valori già calcolati nei cicli precedenti y 1 (n)-y 4 (n).

Filtri bidimensionali adattivi. La contraddizione nella dipendenza del grado di soppressione del rumore e della distorsione del segnale dall'apertura del filtro viene attenuata in una certa misura quando vengono utilizzati filtri con una dimensione della maschera dinamica, con la dimensione dell'apertura adattata alla natura dell'immagine. Nei filtri adattivi, si utilizzano grandi aperture in aree monotone del segnale elaborato (migliore soppressione del rumore) e piccole aperture in prossimità di disomogeneità, preservandone le caratteristiche, mentre le dimensioni finestra scorrevole il filtro viene impostato in base alla distribuzione della luminosità dei pixel nella maschera del filtro. Si basano, di regola, sull'analisi della luminosità delle vicinanze del punto centrale della maschera filtro.

Gli algoritmi più semplici per modificare dinamicamente l'apertura di un filtro simmetrico lungo entrambi gli assi funzionano solitamente secondo un coefficiente di luminosità soglia S threshold = , impostato sulla base di dati empirici. Ad ogni posizione corrente della maschera sull'immagine, il processo iterativo inizia dall'apertura della dimensione minima. Le deviazioni della luminosità dei pixel adiacenti A(r, n) che cadono in una finestra di dimensione (n x n) rispetto alla luminosità del campione centrale A(r) sono calcolate dalla formula:

S n (r) = |A(r,n)/A(r) – 1|. (16.2.3)

Il criterio in base al quale la dimensione della maschera viene aumentata con il campione centrale r e viene eseguita l'iterazione successiva ha la forma:

max< S порог. (16.2.4)

La dimensione massima della maschera (numero di iterazioni) è generalmente limitata. Per le maschere non quadrate con dimensioni (n x m), le iterazioni possono essere calcolate con un aumento separato dei parametri n e m, nonché con una modifica della forma delle maschere durante le iterazioni.

Filtri basati su statistiche di classifica . Negli ultimi due decenni, l'elaborazione digitale delle immagini non si è sviluppata attivamente algoritmi lineari in base alle statistiche di rango per ripristinare le immagini danneggiate vari modelli rumore. Tali algoritmi consentono di evitare un'ulteriore distorsione dell'immagine durante la rimozione del rumore, oltre a migliorare significativamente i risultati dei filtri su immagini con un elevato grado di rumore.

L'essenza delle statistiche di rango di solito risiede nel fatto che la riga 16.2.1 non include il campione centrale della maschera del filtro e il valore di m(n) viene calcolato dalla riga 16.2.2. A N=3 secondo la fig. 16.2.2:

m(n) = (x 4 (n)+x 5 (n))/2. (16.2.5)

Il calcolo del valore di uscita del filtro, che sostituisce il campione centrale, è effettuato dalla formula:

y(n) = a x(n) + (1-a) m(n). (16.2.6)

Il valore del coefficiente di confidenza a è associato ad una certa dipendenza con le statistiche dei campioni nella finestra del filtro (ad esempio la varianza totale dei campioni, la varianza delle differenze x(n)-xi (n) o m(n )-xi (n), la varianza delle differenze positive e negative x(n )-xi (n) o m(n)-xi (n), ecc.). In sostanza, il valore del coefficiente a dovrebbe specificare il grado di danno al campione centrale e, di conseguenza, il grado di prestito per i suoi valori di correzione dai campioni m(n). La scelta della funzione statistica e la natura della dipendenza del coefficiente a da essa possono essere alquanto diverse e dipendono sia dalla dimensione dell'apertura del filtro che dalla natura delle immagini e del rumore.

letteratura

44. Bolshakov I.A., Rakoshits V.S. Teoria applicata dei flussi casuali, M.: Sov. radio, 1978, - 248s.

46. ​​Huang T.S. et al.Algoritmi veloci nell'elaborazione di immagini digitali. - M.: Radio e comunicazione, 1984. - 224 p.

47. Soifer VA elaborazione informatica immagini. Parte 2. Metodi e algoritmi. - Giornale educativo Soros n. 3, 1996.

48. Apalkov IV, Khryashchev V.V. Rimozione del rumore dalle immagini in base ad algoritmi non lineari utilizzando statistiche di rango. - Università statale di Yaroslavl, 2007.

1i. Yarovoy NI Filtraggio mediano adattativo. - http://www.controlstyle.ru/articles/science/text/amf/

2i. Chernenko SA filtro mediano. - http://www.logis-pro.kiev.ua/math_power_medianfilter_ru.html.

3i. Radchenko Yu.S. Efficienza della ricezione del segnale sullo sfondo dell'interferenza combinata con elaborazione aggiuntiva nel filtro mediano. - "Journal of Radio Electronics", n. 7, 2001. / http://jre.cplire.ru/iso/jul01/2/text.html

Informazioni sugli errori rilevati e sui suggerimenti per le aggiunte: [email protetta]

Copyright ©2008 Davydov A.V.

introduzione

segnale digitale di filtraggio mediano

elaborazione digitale ha trovato ampia applicazione in vari campi di attività: televisione, radar, comunicazioni, meteorologia, sismologia, medicina, analisi del linguaggio e telefonia, oltre che nell'elaborazione di immagini e campi di varia natura. In alcune aree di attività economica, come quella bancaria, il trattamento dei flussi finanziari digitali è di fondamentale importanza.

Lo sviluppo della tecnologia dei computer e dei microprocessori porta alla creazione di apparecchiature sempre più affidabili, ad alta velocità, in miniatura, di alta qualità ed economiche. Le tecnologie digitali sono diventate così diffuse che le usiamo nella vita di tutti i giorni, senza notare particolarmente: telefono cellulare, lettore CD, computer, ecc.

Nel corso di questo lavoro, è necessario considerare i vantaggi e gli svantaggi del filtraggio mediano. Scopri come funzionano i filtri mediani. Utilizzando il programma MatLab712 R2011a, mostrarne il funzionamento utilizzando un esempio.

Parte teorica del DSP

filtro mediano

Tutti gli algoritmi di filtraggio lineare portano all'attenuazione di bruschi cambiamenti nella luminosità delle immagini che sono state elaborate. Questo svantaggio, particolarmente significativo se il consumatore di informazioni è una persona, non può essere escluso in linea di principio nell'ambito del trattamento lineare. Il punto è che le procedure lineari sono ottimali per una distribuzione gaussiana di segnali, rumore e dati osservati. Le immagini reali, in senso stretto, non obbediscono a questa distribuzione di probabilità. Inoltre, uno dei motivi principali di ciò è la presenza di vari bordi nelle immagini, differenze di luminosità, transizioni da una trama all'altra, ecc. Cedendo a una descrizione gaussiana locale all'interno di aree limitate, molte immagini reali a questo proposito sono scarsamente rappresentate come oggetti globalmente gaussiani. Questa è la ragione dello scarso trasferimento dei confini nel filtraggio lineare.

La seconda caratteristica del filtraggio lineare è la sua ottimalità, come appena accennato, con la natura gaussiana del rumore. Di solito, questa condizione è soddisfatta dall'interferenza del rumore nelle immagini, quindi, quando le sopprimono, gli algoritmi lineari hanno prestazioni elevate. Tuttavia, spesso si ha a che fare con immagini distorte da altri tipi di rumore. Uno di questi è il rumore degli impulsi. Quando vengono esposti ad esso, si osservano punti bianchi e (e) neri sull'immagine, sparsi casualmente intorno al fotogramma. L'uso del filtraggio lineare in questo caso è inefficiente: ciascuno degli impulsi di ingresso (essenzialmente una funzione delta) fornisce una risposta sotto forma di risposta all'impulso del filtro e la loro combinazione contribuisce alla propagazione del rumore sull'intera area del frame.

Una soluzione di successo a questi problemi è l'uso del filtraggio mediano, proposto da J. Tukey nel 1971 per l'analisi dei processi economici. Nella raccolta è presentato lo studio più completo sul filtraggio mediano applicato all'elaborazione delle immagini. Si noti che il filtraggio mediano è un metodo di elaborazione euristico, il suo algoritmo non lo è soluzione matematica problema rigorosamente formulato. Pertanto, i ricercatori prestano grande attenzione all'analisi dell'efficienza dell'elaborazione delle immagini basata su di essa e al confronto con altri metodi.

Quando si applica il filtro mediano (MF), ogni punto del frame viene elaborato in sequenza, risultando in una sequenza di stime. Concettualmente l'elaborazione in diversi punti è indipendente (in questo modo l'MF è simile a un filtro maschera), ma per velocizzarla è consigliabile utilizzare algoritmicamente calcoli eseguiti in precedenza ad ogni passaggio.

Il filtraggio mediano utilizza una finestra bidimensionale (apertura del filtro), che di solito ha una simmetria centrale, con il suo centro situato nel punto di filtraggio corrente. Sulla fig. 1.1 mostra due esempi delle opzioni di finestra più comunemente utilizzate a forma di croce ea forma di quadrato. Le dimensioni dell'apertura sono tra i parametri ottimizzati nel processo di analisi dell'efficacia dell'algoritmo. I campioni di immagine che si trovano all'interno della finestra costituiscono il campione di lavoro del passaggio corrente.

Riso. 1.1.

La natura bidimensionale della finestra consente un filtraggio essenzialmente bidimensionale, poiché i dati sia della riga e della colonna correnti, sia di quelle adiacenti, vengono utilizzati per formare una stima. Denotare il campione di lavoro come una matrice unidimensionale; il numero dei suoi elementi è uguale alla dimensione della finestra e la loro disposizione è arbitraria. Solitamente si utilizzano finestre con un numero dispari di punti (questo è assicurato automaticamente quando l'apertura è centralmente simmetrica e quando il punto centrale stesso entra nella sua composizione). Se si ordina la sequenza in ordine crescente, la sua mediana sarà l'elemento campione che occupa una posizione centrale in questa sequenza ordinata. Il numero così ottenuto è il prodotto di filtraggio per il punto corrente della cornice. È chiaro che il risultato di tale elaborazione non dipende realmente dalla sequenza in cui gli elementi dell'immagine sono presentati nel campione di lavoro. Introduciamo la notazione formale della procedura descritta nella forma:

x * =med(y 1 , y 2 ,…, y n) (1.1)

Considera un esempio. Supponiamo che la selezione abbia la forma: Y=(136,110,99,45,250,55,158,104,75), e l'elemento 250, posto al suo centro, corrisponda al punto di filtraggio corrente (i 1 , i 2) (Fig. 1.1) . Grande importanza la luminosità in questo punto del fotogramma può essere il risultato di un'interferenza di impulsi (punto). Il campione ordinato in ordine crescente ha la forma (45,55,75,99,104,110,136,158,250), quindi, secondo la procedura (1.1), si ottiene x * =med(y 1 , y 2 ,…, y 9)=104 . Vediamo che l'influenza dei "vicini" sul risultato del filtraggio al punto attuale ha portato a "ignorare" l'esplosione di impulso di luminosità, che dovrebbe essere considerata un effetto di filtraggio. Se il rumore dell'impulso non è puntuale, ma copre un'area locale, può anche essere soppresso. Ciò accadrà se la dimensione di quest'area locale è inferiore alla metà della dimensione dell'apertura MF. Pertanto, per sopprimere il rumore impulsivo che interessa aree locali dell'immagine, è necessario aumentare la dimensione dell'apertura MF.

Dalla (1.1) ne consegue che l'azione della MF consiste nell'“ignorare” i valori estremi del campione di input, sia positivi che negativi. Questo principio di soppressione delle interferenze può essere applicato anche per ridurre il rumore nell'immagine. Tuttavia, uno studio sulla soppressione del rumore utilizzando il filtraggio mediano mostra che la sua efficacia nel risolvere questo problema è inferiore a quella del filtraggio lineare.

I risultati sperimentali che illustrano il funzionamento della MF sono mostrati nelle Figg. 1.2. Negli esperimenti è stato utilizzato un MF, che ha un'apertura quadrata con un lato uguale a 3. La riga di sinistra mostra le immagini distorte dal rumore, e la riga di destra mostra i risultati del loro filtraggio mediano. Sulla fig. 1.2a e fig. 1.2.c mostra l'immagine originale distorta dal rumore impulsivo. Quando è stato sovrapposto, è stato utilizzato un generatore di numeri casuali con una legge di distribuzione uniforme sull'intervallo, che genera numeri casuali indipendenti in tutti i punti del frame. L'intensità del rumore è stata determinata dalla probabilità p del suo verificarsi in ciascun punto. Se per un numero casuale n i1i2 formato nel punto (i 1 , i 2) la condizione n i1i2

Riso. 1.2.

Riso. 1.2. e mostra un'immagine distorta dal rumore gaussiano indipendente con un rapporto segnale-rumore q 2 =-5 dB, e la fig. 1.2.e - il risultato del suo filtraggio dal filtro mediano. Le condizioni di questo esperimento consentono di confrontare i suoi risultati con i risultati del filtraggio lineare sopra considerato. La tabella 1.1 fornisce i dati per consentire tale confronto. Per vari metodi di filtraggio, questa tabella fornisce i valori degli errori quadrati medi relativi q 2 e il coefficiente di attenuazione del rumore r per il caso in cui il rapporto segnale-rumore all'ingresso del filtro è -5 dB.

Tabella 1.1. Confronto dell'efficienza di soppressione del rumore nel filtraggio delle immagini, q 2 =-5 dB.

Il filtro Wiener bidimensionale ha la massima efficienza, riducendo il quadrato medio degli errori di un fattore 17. Il filtro mediano ha l'efficienza più bassa tra tutti i filtri considerati, corrisponde a r = 5,86. Tuttavia, questo numero indica che anche con il suo aiuto è possibile ridurre significativamente il livello di rumore nell'immagine.

Tuttavia, come accennato in precedenza, e come mostrato in Fig. 1.2.e, il filtro mediano smussa i bordi dell'immagine in misura minore rispetto a qualsiasi filtro lineare. Il meccanismo di questo fenomeno è molto semplice e consiste nel seguente. Assumiamo che l'apertura del filtro si trovi vicino al bordo che separa le aree chiare e scure dell'immagine, mentre il suo centro si trova nell'area dell'area scura. Quindi, molto probabilmente, il campione di lavoro conterrà un numero maggiore di elementi con bassi valori di luminosità e, quindi, la mediana sarà tra quegli elementi del campione di lavoro che corrispondono a quest'area dell'immagine. La situazione è invertita se il centro dell'apertura viene spostato in una regione di maggiore luminosità. Ma questo significa che l'MF è sensibile ai cambiamenti di luminosità. Esiste un numero enorme di interpretazioni dei metodi di lavoro della MF, consideriamone un altro, usandolo come esempio durante l'elaborazione di immagini di cellule del sangue: i granulociti. Prima di misurare le dimensioni di un granulocita, la sua immagine è stata sottoposta a levigatura con un filtro mediano al fine di eliminare i granuli che potrebbero influenzare il risultato della misurazione. Di solito, nel processo di filtraggio mediano, i valori del segnale in un determinato quartiere del punto in cui viene calcolata la risposta del filtro vengono ordinati in ordine crescente o decrescente in una serie variazionale. La risposta del filtro è definita come la mediana, il valore del segnale al centro (centro) della serie di variazioni. In quanto segue, questo quartiere verrà chiamato finestra del filtro. Inoltre, per semplicità, considereremo un filtro con una finestra quadrata di dimensione n×n .

Pertanto, quando si calcola la mediana nella finestra del filtro, il numero di operazioni sui dati, come il numero di operazioni di ordinamento, è n 2 . Quando si elabora un'immagine con una dimensione di M?N punti (pixel), il numero di operazioni sui dati sarà grande e sarà M?N?n 2 . Operazioni diverse richiedono tempi di esecuzione diversi. Scansionando in sequenza un'immagine, è possibile ridurre le operazioni di ordinamento più dispendiose in termini di tempo. Pertanto, quando si passa dal punto o1 con finestra w1 al punto o2 con finestra w2 in Fig. 1.3. è possibile escludere i punti della colonna 1 dalla riga di variazione della finestra w1, ordinare i punti della colonna 6 e unire le due righe di variazione risultanti in una sola. Un tale algoritmo funziona più velocemente dell'ordinamento indipendente in ciascuna finestra, ma il numero totale di manipolazioni dei dati (sebbene meno laboriose), ad esempio, almeno l'ordinamento dei dati, rimane lo stesso, cioè abbastanza grande. Pertanto, il filtraggio mediano delle immagini è solitamente limitato a finestre di 3×3 o 5×5 e raramente più grandi, il che è abbastanza sufficiente, ad esempio, per eliminare il rumore dell'impulso.

Riso. 1.3. Scansione di un'immagine con una finestra filtro mediana

Le stesse restrizioni sono forzatamente accettate per varie operazioni non lineari di elaborazione morfologica eseguite nello spazio geometrico dell'immagine e che, a differenza delle operazioni lineari, non possono essere eseguite nello spazio di Fourier. Tuttavia, esistono numerosi problemi di elaborazione delle immagini che potrebbero essere risolti in modo efficiente utilizzando un filtro mediano, ma richiedono una finestra di grandi dimensioni. Uno di questi compiti sarà discusso di seguito. Pertanto, un possibile aumento della velocità del filtraggio mediano promette grandi prospettive nei problemi di elaborazione delle immagini.

I metodi di filtraggio mediano sono piuttosto diversi. Possono essere migliorati. Uno di questi aggiornamenti è chiamato filtro mediano adattivo.

Anche il filtraggio mediano ha i suoi svantaggi. In particolare, è stato accertato sperimentalmente che questo metodo ha un'efficienza relativamente bassa nel filtrare il cosiddetto rumore di fluttuazione. Inoltre, quando si aumenta la dimensione della maschera, i contorni dell'immagine vengono sfocati e, di conseguenza, la nitidezza dell'immagine viene ridotta. Questi svantaggi del metodo possono essere ridotti al minimo utilizzando il filtraggio mediano con una dimensione della maschera dinamica (filtro mediano adattivo). Il principio del calcolo del riferimento centrale per l'elaborazione locale dell'immagine mediante una finestra scorrevole rimane lo stesso. Questa mediana proviene da un insieme di campioni ordinati che cadono nella finestra (maschera) e la dimensione della finestra scorrevole (maschera) è dinamica e dipende dalla luminosità dei pixel vicini.

Introduciamo il coefficiente di soglia di deviazione della luminosità S threshold = . I valori della deviazione della luminosità dei pixel adiacenti A(r,n,m), che cadono in una finestra di dimensione n?m, relativi alla luminosità del campione centrale A(r) verranno scritti nel modulo (1.2):

Quindi il criterio in base al quale è necessario aumentare le dimensioni della maschera con una lettura centrale r sarà simile a questo:

Sulla base dell'algoritmo descritto, è stato sviluppato un programma per computer che ha confermato in pratica i vantaggi del filtraggio mediano adattativo.

trascrizione

1 IN STRUMENTAZIONE SCIENTIFICA, 011, volume 1, 3, c ELABORAZIONE E RAPPRESENTAZIONE DEI DATI UDC: BV Bardin ALGORITMO DI FILTRAGGIO DELLA MEDIANA VELOCE Viene proposto un algoritmo di filtraggio della mediana veloce che utilizza la determinazione della mediana dei dati nella finestra del filtro analizzando un istogramma locale. Mentre ti sposti da un punto all'altro durante la scansione di un'immagine, la regolazione dell'istogramma richiede un numero limitato di semplici passaggi. L'algoritmo proposto accelera notevolmente il filtraggio mediano rispetto agli algoritmi tradizionali. Ciò consente di espandere l'ambito del filtraggio mediano. cl. parole: filtraggio mediano, immagini digitali INTRODUZIONE Il filtraggio mediano è uno strumento utile per elaborare le informazioni, in particolare le informazioni di immagini bidimensionali. Il filtro mediano rimuove i frammenti dal segnale con dimensioni inferiori alla metà della dimensione della finestra del filtro e allo stesso tempo non distorce leggermente o quasi il resto delle sezioni del segnale. Ad esempio, un segnale monotono unidimensionale non è affatto distorto dal filtro mediano. L'applicazione più nota del filtraggio mediano è l'eliminazione del rumore a impulsi brevi dal segnale [, 3]. Inoltre, l'ampiezza del rumore non influisce sul risultato del filtraggio mediano, contrariamente alla risposta di un filtro lineare. Il documento mostra l'uso di un filtro mediano nell'elaborazione di immagini di globuli e granulociti. Qui, prima di misurare la dimensione del granulocita, la sua immagine è stata sottoposta a levigatura con un filtro mediano al fine di eliminare i granuli che potrebbero influenzare il risultato della misurazione. Di solito, nel processo di filtraggio mediano, i valori del segnale in un determinato quartiere del punto in cui viene calcolata la risposta del filtro vengono ordinati in ordine crescente o decrescente in una serie variazionale. La risposta del filtro è definita come il valore mediano del segnale del centro (centro) della serie di variazioni. In quanto segue, questo quartiere verrà chiamato finestra del filtro. Inoltre, per semplicità, considereremo un filtro con finestra quadrata di dimensione n n. Pertanto, quando si calcola la mediana nella finestra del filtro, il numero di operazioni sui dati, come il numero di operazioni di ordinamento, è n. Quando si elabora un'immagine di dimensioni M N punti (pixel), il numero di operazioni sui dati sarà grande e sarà M N n. Operazioni diverse richiedono tempi di esecuzione diversi. Scansionando in sequenza un'immagine, è possibile ridurre le operazioni di ordinamento più dispendiose in termini di tempo. Quindi, passando dal punto o1 con finestra 1 al punto o con finestra in Fig. 1 è possibile escludere i punti della colonna 1 dalla riga di variazione della finestra 1, ordinare i punti della colonna 6 e unire in una sola le due righe di variazione risultanti. Un tale algoritmo è più veloce dell'ordinamento indipendente in ciascuna finestra, tuttavia, il numero totale di manipolazioni dei dati (sebbene meno laborioso), ad esempio, almeno l'ordinamento dei dati, rimane lo stesso, cioè abbastanza grande. Pertanto, il filtraggio mediano delle immagini è solitamente limitato a Windows 3 3 o 5 5 e raramente. 1. Scansione di un'immagine con una finestra filtro mediana 135

2 136 BV BARDIN in più, che è abbastanza, ad esempio, per eliminare il rumore degli impulsi. Le stesse restrizioni sono forzatamente accettate per varie operazioni non lineari di elaborazione morfologica eseguite nello spazio geometrico dell'immagine e che, a differenza delle operazioni lineari, non possono essere eseguite nello spazio di Fourier. Tuttavia, esistono numerosi problemi di elaborazione delle immagini che potrebbero essere risolti in modo efficiente utilizzando un filtro mediano, ma richiedono una finestra di grandi dimensioni. Uno di questi compiti sarà discusso di seguito. Pertanto, un possibile aumento della velocità del filtraggio mediano promette grandi prospettive nei problemi di elaborazione delle immagini. FILTRO MEDIANO VELOCE Nell'articolo, quando si considerano gli algoritmi di elaborazione delle immagini di rango, viene mostrato che qualsiasi statistica di ordine r-esimo v (r) di un elemento dell'immagine può essere trovata dall'istogramma locale h (q) della distribuzione dei valori degli elementi vicini ​​(finestre in Fig. 1) risolvendo l'equazione v (r) h (q) r. (1) q 0 Qui q = 0, 1,Q 1 è il numero quantico (bin) dell'istogramma; v = q v valore quantizzato del segnale video; r = 0, 1, 1 elemento rango: il suo numero nella serie di variazioni; il numero di elementi del quartiere (finestra) o l'area della finestra in pixel; nel nostro caso n. Il filtro mediano è un caso speciale del filtro di rango con il rango di risposta r = (1)/. Poiché Q 1 h (q), () q 0, segue da (1) che la mediana q = v (r) divide a metà l'area dell'istogramma (meno il bin corrispondente a q). Sulla fig. viene mostrato un istogramma diviso. Qui h(q) è l'area del bin corrispondente a h(q). Le restanti designazioni sono chiare dalla figura. In questo caso valgono le seguenti relazioni:, (3) (1) /, (4) (1) /. (5) Si presume dispari. I segni di disuguaglianza nelle ultime due espressioni possono verificarsi solo in 1. Quando si scansiona la finestra del filtro mediano lungo la linea, quando ci si sposta dal punto o1 al punto o in Fig. 1 correzione dell'istogramma viene eseguita come segue. 1. Dall'istogramma vengono rimossi i dati corrispondenti ai punti della colonna 1. Contemporaneamente, per ogni punto, viene sottratto 1 dall'area del corrispondente bin. Vengono aggiunti i dati corrispondenti ai punti della colonna 6 agli elementi dell'istogramma 1 e contemporaneamente modificare i valori, e. 4. Sulla base delle espressioni (3), (4) e (5), i valori e q vengono corretti. Di seguito è riportato un frammento di un programma C che implementa l'algoritmo di correzione descritto. Qui, per rispettare la sintassi del linguaggio C, i pedici in eq sono stati sostituiti da lettere minuscole e gli indici in hev sono stati omessi. Per il caso in Fig. 1 n=5 e j=1. COSTRUZIONE DI STRUMENTAZIONE SCIENTIFICA, 011, volume 1, 3

3 ALGORITMO DI FILTRAGGIO DELLA MEDIANA VELOCE 137 fr(i=0; i q) h--; altro --; h[i]]++; se(v[i]< q) l++; else if(v[i] >q) h++; altro++; hile(l > (-1)/) q--; se(h[q] > 0) l=l-h[q]; h=h+h; =-l-h; hile(h > (-1)/)q++; se(h[q] > 0) h=h-h[q]; l=l+h; =-l-h; Se l'istogramma non presenta discontinuità, come mostrato in figura, il valore q, quando un punto viene corretto secondo il passaggio 4, non può variare di più di uno. Tuttavia, gli istogrammi locali reali, di regola, sono fortemente frastagliati. Pertanto, le regolazioni secondo il paragrafo 4 vengono effettuate nel programma da hile loop per saltare i contenitori vuoti. Come si può vedere da quanto sopra, l'algoritmo di filtraggio mediano considerato ha un ordine di complessità di n, e non di n, come nel caso degli algoritmi più comuni. Inoltre, qui non sono richieste laboriose operazioni di smistamento. Informazioni video contenute nelle immagini registrate da strumenti analitici, in particolare nelle immagini oggetti biologici, di solito ha tre componenti: le informazioni video che rappresentano gli oggetti in studio, il rumore e la componente di sfondo dell'immagine. Il componente di sfondo viene solitamente rimosso nella fase iniziale dell'elaborazione dell'immagine in modo che non influisca sui risultati dell'elaborazione, oppure viene calcolato per tenerne conto nelle fasi successive dell'elaborazione, il che è equivalente. Lo sfondo dell'immagine, di regola, cambia più lentamente rispetto al resto dei componenti del segnale durante l'esame di oggetti locali. Pertanto, lo sfondo viene solitamente calcolato utilizzando un filtro passa basso lineare. Tuttavia, se ai lati opposti della cornice dell'immagine o ai confini della ra- VERIFICA DEI RISULTATI E CONCLUSIONI Fig. 3. Immagine degli oggetti dell'analisi PCR

Se il valore di sfondo differisce (o cambia) significativamente nell'area dell'immagine, il filtro lineare percepisce questa differenza come un salto del segnale e cerca di attenuarlo. Questo è un fenomeno ben noto degli effetti di bordo. Esistere vari modi per gestire gli effetti di bordo. Molto spesso si tratta di scartare una parte dell'immagine interessata dagli effetti di bordo, con una corrispondente perdita di alcune informazioni utili, o di espandere la cornice con campi aggiuntivi compilati in modo tale che non ci siano salti ai bordi dell'originale campo immagine contenente informazioni utili. Tuttavia, ci sono immagini nell'elaborazione delle quali è impossibile o molto difficile implementare tali approcci. Quindi, in fig. 3 mostra un pozzetto di microchip con oggetti di analisi PCR e un profilo di segnale secondo linea orizzontale sull'immagine. Sulla fig. La figura 4 mostra il calcolo della componente di fondo utilizzando il filtraggio lineare, che, come si può vedere dalla figura, fornisce un'ampia distorsione del bordo lungo il contorno del pozzo. Il taglio delle aree dell'immagine distorte dagli effetti di bordo è in questo caso inaccettabile a causa della grande perdita di informazioni utili e dell'espansione area di lavoro difficile sia per il fatto che questa zona è rotonda, sia per la grande disuniformità dello sfondo lungo il contorno dell'area. Sulla fig. 5 mostra il calcolo del fondo utilizzando il filtro mediano. Si può vedere dalla figura che gli effetti di bordo in questo caso sono molto piccoli, ma ciò ha richiesto l'uso di un filtro con una grande finestra di pixel o 1681 pixel per finestra. La dimensione dell'immagine era pixel. Il tempo di filtraggio mediano è stato misurato su un computer con capacità modeste. Ha incluso processore single core Pentiu 4 CPU.4 Gz e RAM 51 MB. Il tempo di filtraggio mediante il filtro mediano tradizionale utilizzando l'ordinamento dei dati nella finestra è stato di 33 s. Lo stesso tempo di filtrazione utilizzando il proposto in lavoro attuale algoritmo era 0,37 s, ovvero quasi due ordini di grandezza in meno rispetto a quando si utilizzano algoritmi tradizionali. Va notato che, da un lato, nel problema in esame (analisi PCR), il tempo di 0,37 s è abbastanza accettabile e, dall'altro, nei sistemi che utilizzano l'elaborazione digitale delle immagini, di regola, molto di più computer potenti. Pertanto, l'applicazione dell'algoritmo proposto può accelerare significativamente il funzionamento del filtro mediano, che, inoltre, consente di espandere l'ambito del filtro mediano. Riso. 4. Calcolo del background filtro di linea Riso. 5. Calcolo del fondo con il filtro mediano

5 ALGORITMO DI FILTRAGGIO FAST MEDIAN 139 RIFERIMENTI 1. Bardin B.V. Indagine sulle possibilità del filtraggio mediano nell'elaborazione digitale di immagini di insiemi di oggetti biologici locali // Strumentazione scientifica vol. 1,. S Gonzalez R., Woods R. Elaborazione di immagini digitali. Per. dall'inglese. Mosca: Technosfera, p. 3. Yaroslavsky L.P. Elaborazione digitale del segnale in ottica e olografia. M.: Radio e comunicazioni, p. 4. Bardin B.V., Chubinsky-Nadezhdin IV. Rilevamento di oggetti locali su immagini microscopiche digitali Nauchnoe priborostroenie V. 19, 4. Bardin B.V., Manoilov V.V., Chubinskiy-Nadezhdin I.V., Vasilieva E.K., Zarutskiy I.V. Determinazione della dimensione degli oggetti immagine locali per la loro identificazione // Strumentazione scientifica V. 0, 3. C Istituto per la strumentazione analitica RAS, San Pietroburgo Contatti: Bardin Boris Vasilievich f RA, aint Petersburg Filtraggio veloce algrith fedian utilizzando i dati edian deterinatin in filter ind by eans flcal histgra analysis è stata suggerita. Quando si visualizza fr pixel t pixel nel processo, la scansione di crrectin f histgra richiede sall nuber f nn-cplex peratins. L'algrith suggerito aumenta notevolmente il processo di filtraggio edian rispetto agli algrith tradizionali. Ciò consente l'estensione della sfera dell'applicazione di filtraggio edian. Keyrds: edian filtering, digital iaging Layout originale preparato da Belenkov V.D. Licenza ID 0980 datata 06 ottobre 000 Firmata per la pubblicazione d.Formato Carta offset. Stampa offset. conv. forno l Uch.-ed. l Tiratura 100 copie. Tipo. zak. 70. С 96 Casa editrice di San Pietroburgo "Nauka" RAS, San Pietroburgo, linea Mendeleevskaya, 1 E-ail: Internet:.naukaspb.spb.ru Prima tipografia accademica "Nauka", San Pietroburgo, linea 9, 1


FILTRO MEDIO GEOMETRICO NON LINEARE CON PESI ESPONENZIALI Tolstunov Vladimir Andreevich Ph.D. tecnico. Scienze, Professore Associato, Università Statale di Kemerovo, Federazione Russa, Kemerovo E-mail: [email protetta]

UDC 61.397 Frequenza e metodi spaziali filtraggio digitale Immagini n. 05, 01 maggio Cherny S.A. Studente, Dipartimento di Sistemi e Dispositivi Radioelettronici Supervisore: Akhiyarov V.V., Candidato

Modifica efficiente dell'algoritmo per il filtraggio mediano adattivo delle immagini digitali Yaikov Rafael Ravilevich Yaroslavl State University. P. G. Demidova 2015 Quali sono i rumori? additivo

Sezione 6. Elaborazione digitale di segnali e immagini 377 E.E. Plakhova, E.V. Merkulova Università tecnica nazionale di Donetsk, Dipartimento di Donetsk sistemi automatizzati

Open Information and Computer Integrated Technologies 64, 014 UDC 004.8/004.93/681.513.8;681.514 L. S. Kostenko Metodi e algoritmi per l'attenuazione dello sfondo dell'immagine nei sistemi di riconoscimento dei modelli

UDC 519.6 + 004.4 FILTRAZIONE DEI TOMOGRAMMI A RAGGI X MEDIANTE ADATTAMENTO DELLA DIMENSIONE DELLA FINESTRA DEL FILTRO ALLE CARATTERISTICHE LOCALI DELL'IMMAGINE E.N. Simonov, V.V. Laskov Viene proposto un algoritmo per il filtraggio delle immagini

ISSN 0868 5886, pag. 96 102 ELABORAZIONE E ANALISI DEI SEGNALI UDC 621.391.837: 681.3 BV Bardin, IV Chubinskii-Nadezhdin RILEVAMENTO DI OGGETTI LOCALI IN IMMAGINI MICROSCOPICHE DIGITALI Considerato

ICONICS IMAGE SCIENCE UDC 004.932.4 IL METODO DI COMPENSAZIONE INTERCANALE DELLE INTERFERENZE PULSATE NEI COMPITI DI RECUPERO DI IMMAGINI DIGITALI MULTICOMPONENTI 2013 E. A. Samoilin, Dott. Tech. scienze; IN.

Implementazione di alcuni algoritmi di elaborazione delle immagini utilizzando la tecnologia CUDA on dispositivi grafici NN Università statale teologica di elaborazione delle immagini digitali di Tomsk a

UDC 621.391 A.V. IVASHKO, Ph.D. tecnico. scienze, prof. NTU "KhPI"; KN Yatsenko, studente della NTU "KhPI" IMPLEMENTAZIONE DI FILTRI MEDIANI E QUASI-MEDIANI SU ELABORATORI DI SEGNALI DIGITALI

Elaborazione di immagini digitali di microsfere di vetro mediante metodi di filtraggio e segmentazione 77-30569/403867 # 03, marzo 2012 Strugailo V. V. UDC 004.932 Russia, Moscow Automobile and Road State

VA Tolstunov Filtraggio non lineare basato sulla trasformata di potenza 7 UDC 00467 VA Tolstunov Filtraggio non lineare basato sulla trasformata di potenza Viene proposto un algoritmo di filtro di livellamento digitale.

Indice 6. Elaborazione e analisi quantitativa Immagini SPM Indice 6. ELABORAZIONE E ANALISI QUANTITATIVA DI IMMAGINI SPM... 6-1 6.1. SCOPO DEL LAVORO... 6-2 6.2. CONTENUTO DEL LAVORO... 6-2 6.3. L'OBIETTIVO...

Filtraggio passa-banda 1 Filtraggio passa-banda Nelle sezioni precedenti è stato considerato il filtraggio delle variazioni rapide del segnale (smoothing) e delle variazioni lente del segnale (detrend). A volte è necessario evidenziare

UDC 004.932 V.K. Zlobin, B.V. Kostrov, VA Sablina ALGORITMO PER IL FILTRAGGIO SEQUENTE DEL RUMORE DI GRUPPO NELL'IMMAGINE I problemi di utilizzo dei metodi di analisi di sequenza in relazione al digitale

Math-Net.Ru Portale matematico tutto russo AV Grokhovskoi, AS Makarov, Algoritmo di pre-elaborazione delle immagini per i sistemi di visione, Matem. modellazione e bordi. compiti, 2009,

UDC 61.865.8 METODI PER AUMENTARE IL CONTRASTO DI IMMAGINI Raster PER SISTEMI DI ELABORAZIONE VIDEO DIGITALE MB Sergeev, Dr. Tech. Scienze, Professor N. V. Solovyov, Ph.D. tecnico. Scienze, Professore Associato A.I.

L'influenza dei filtri sulla classificazione del fingerprinting # 01, gennaio 2015 Deon A. F., Lomov D. S. UDC: 681.3.06(075) Russia, MSTU im. NE Bauman [email protetta] Classi di impronte digitali Nell'impronta digitale tradizionale

ISSN 0868 5886, pag. 9 13 METODI DI MISURA UDC 543.426; 543.9 Yu. V. Belov, I. A. Leontiev, A. I. Petrov, V. E. Kurochkin CORREZIONE DI BASE DEI SEGNALI DEL RIVELATORE FLUORESCENTE DELL'ANALIZZATORE GENETICO

Ñóäîñòðîåíèå ñóäîðåìîíò E ýêñïëóàòàöèÿ ôëîòà UDC 004.93.4: 551.463.1 GA Popov DA Khryashchev IA ÎÄÍÎÌ ÌÅÒÎÄÅ ÍÈÇÊÎ ÀÑÒÎÒÍÎÉ ÔÈËÜÒÐÀÖÈÈ ÃÈÄÐÎËÎÊÀÖÈÎÍÍÛÕ ÈÇÎÁÐÀÆÅÍÈÉ Introduzione Molti studi recenti

Compiti a casa. Elaborazione dei risultati delle osservazioni di un vettore casuale bidimensionale.1. Il contenuto e l'ordine del lavoro

Manuale per gli studenti degli istituti di istruzione secondaria generale, 5a edizione, corretto da Mozyr "Belyi Veter" 2 0 1 4 BURYAK R e c e n

SWorld 218-27 dicembre 2012 http://www.sworld.com.ua/index.php/ru/conference/the-content-of-conferences/archives-of-individual-conferences/december- 2012 PROBLEMI MODERNI E MODALITÀ DI LA LORO SOLUZIONE NELLA SCIENZA,

AGENZIA FEDERALE DEI TRASPORTI FERROVIARI Istituto d'Istruzione più alto formazione professionale UNIVERSITÀ STATALE DELLE PISTE DI PETERSBURG

UDC 004.021 1 E. V. Leontieva, E. V. Medvedeva METODO PER IL RECUPERO DI IMMAGINI A COMPONENTI RGB DISTORSE DAI RUMORI APPLICATIVI

Ministero dell'Istruzione della Federazione Russa Università tecnica statale di Volgograd Dipartimento di scienza dei materiali e materiali compositi Linee guida sui metodi di ricerca unidimensionali

Computer grafica Soppressione ed eliminazione del rumore Riduzione del rumore dell'immagine Soppressione ed eliminazione del rumore dell'immagine Cause del rumore: Imperfezione degli strumenti di misura Memorizzazione e trasmissione dell'immagine

Dipartimento Software ACS G.A. SHEININA Strutture e algoritmi di elaborazione dati Segnalato dal consiglio editoriale ed editoriale dell'ateneo as linee guida per gli studenti della specialità

MINISTERO DELL'ISTRUZIONE E DELLA SCIENZA DELLA FEDERAZIONE RUSSA ISTITUTO EDUCATIVO STATALE DI ISTRUZIONE PROFESSIONALE SUPERIORE "SAMARA STATE AEROSPACE UNIVERSITY intitolata all'Accademico S.P.KOROLEV"

Filtraggio non lineare delle frange di interferenza rumorosa 245 FILTRAGGIO NON LINEARE DI FIBRE DI INTERFERENZA RUMOROSA CON UNA RISPOSTA IMPULSALE SPAZIALMENTE DIPENDENTE DEL SISTEMA M.V. Volkov supervisore scientifico

MINISTERO DELL'ISTRUZIONE GENERALE E PROFESSIONALE DELLA FEDERAZIONE RUSSA Università statale di Nizhny Novgorod. N. I. LOBACHEVSKY Facoltà di Matematica Computazionale e Cibernetica Dipartimento di Matematica

ISTITUTO EDUCATIVO STATALE DI ISTRUZIONE PROFESSIONALE SUPERIORE "UNIVERSITÀ PEDAGOGICA STATALE DI VORONEZH" INTRODUZIONE ALL'ANALISI E AL CALCOLO DIFFERENZIALE DELLE FUNZIONI DI UNA VARIABILE

ALGORITMI PER LA RICERCA DELLE DISTANZE DA OGGETTO DI PIXEL NELLE IMMAGINI BINARIE Kazansky, V.V. Myasnikov, RV Khmelev Institute of Image Processing Systems RAS Problema Uno dei compiti più importanti

00 BOLLETTINO DELL'UNIVERSITÀ STATALE DI NOVGOROD 55 UDC 598765 SCHEMA DELL'IMMAGINE DI UN OGGETTO IN MOVIMENTO sistemi di informazione NovSU, [email protetta]

ISSN2221-2574 Sistemi televisivi, trasmissione ed elaborazione delle immagini UDC 621.396 Costruzione di un modello di immagine di prova SN Zhiganov, IV Gashin. Il documento considera una tecnica per costruire un modello di immagine,

Sistemi di controllo e algoritmo di modellazione per un'analisi di stabilità robusta di sistemi di controllo discreti con vincoli periodici MV MOROZOV Abstract. Per sistemi lineari discreti non stazionari

UDC 681.5:004.93 YuV Kalichenko SULLA QUESTIONE DEL RILEVAMENTO DEL BORDO DA PARTE DEL RIVELATORE KENNY Università nazionale di Luhansk Taras Shevchenko Viene presa in considerazione la questione del rilevamento del confine da parte del rilevatore Kenny. Algoritmo implementato

Regionale conferenza scientifica e pratica lavoro educativo e di ricerca degli studenti delle classi 6-11 "Domande applicate e fondamentali di matematica" Domande applicate di matematica Riconoscimento dei caratteri su elettronico

ALGORITMI PER IL CONTROLLO DELLE COORDINATE DELLA SORGENTE DI RADIAZIONE SULLA SUPERFICIE FOTOSENSIBILE DELLA MATRICE

Digital Signal Processing 4/28 UDC 68.58 FILTRAGGIO ADATTIVO DI IMMAGINI CON DISTORSIONI STRUTTURALI Kostrov BV, Sablina VA. Introduzione Il processo di registrazione delle immagini aerospaziali è accompagnato da

370 Sezione 6. Elaborazione digitale del segnale e delle immagini UDC 004. 93"12 I.S. Lichkanenko, Università tecnica nazionale V.N. Pchelkin Donetsk, Dipartimento di Donetsk sistemi informatici METODI DI MONITORAGGIO

ELABORAZIONE DELL'IMMAGINE SPAZIALE BASATA SU RAPPRESENTAZIONI DI FREQUENZA A.Yu. E-mail della Likhosherstny Belgorod State University: [email protetta] L'opera presenta nuovo metodo filtrazione

ISSN 1995-55. Vestnik RGRTU. 1 (edizione 31). Ryazan, 0 UDC 1.391 Yu.M. Korshunov VALUTAZIONE DELLA QUALITÀ DEI FILTRI DIGITALI SULLA BASE DI UN MODELLO DI SIMULAZIONE ARTIFICIALE DEL SEGNALE E DELLE INTERFERENZE Viene proposto un metodo

ANALISI DELLA COMPOSIZIONE DELLA DISPERSIONE DI OGGETTI MICROSCOPICI CON L'UTILIZZO DI UN COMPUTER Korolev D. V., Suvorov K. A. Istituto tecnologico statale di San Pietroburgo (Università tecnica), [email protetta]

UDC 528.854 Kuzmin S. A. STUDIO DEGLI ALGORITMI PER LA RIMOZIONE DELLE INTERFERENZE PULSATE NELLE SEQUENZE VIDEO Il problema del miglioramento delle caratteristiche degli algoritmi di rilevamento degli oggetti nelle sequenze video mediante la soppressione

UDC 681.3.082.5 G.N. Algoritmo di Glukhov per la levigatura digitale della superficie Viene proposto un algoritmo per la levigatura ottimale della superficie. Il criterio di ottimalità è il minimo delle somme pesate: le somme dei quadrati

Manuale per gli studenti degli istituti di istruzione secondaria generale Compilato da G. I. Struk 5a edizione Mozyr "White Wind" 2 0 1 4 UDC 372.851.046.14 LBC 74.262.21 T36 Revisori: Candidato

SWorld 8-29 giugno 203 http://www.sworld.com.ua/index.php/ru/conference/the-content-of-conferences/archives-of-individual-conferences/june-203 LORO SOLUZIONE NELLA SCIENZA, TRASPORTO,

Ministero della Pubblica Istruzione della Federazione Russa Università statale di bassa temperatura e tecnologie alimentari di San Pietroburgo Dipartimento di meccanica teorica STUDIO DELLE FORZE DI REAZIONE DEI SUPPORTI COMPOSITI

UDC 004.932.72; 681.3 N. Yu. Ryazanova e V. A. Ul'ikhin PROBLEMI DI SCALA DELL'IMMAGINE CON CONSIDERAZIONE DEL LORO CONTENUTO Viene presa in considerazione la scelta di algoritmi per il rilevamento della trama e la determinazione del significato.

UDC 621.397:621.396.96 BORDO DRITTO IN IMMAGINI RUMOROSE V. Yu. Volkov, Dr. Tech. Scienze, Professore Università statale di telecomunicazioni di San Pietroburgo. prof. M.

MIUR

RECUPERO IMMAGINI MEDIANTE FILTRI NON LINEARI OTTENUTI DALL'IDENTIFICAZIONE DI UN MODELLO LINEARE IN PARAMETRI Fursov, DA Elkin Academician Samara State Aerospace University

ISSN 0868 5886, pag. 101 106 STRUMENTI, INSTALLAZIONI, METODI UDC 621.38 BS Gurevich, SB Gurevich, VV Manoilov FILTRAZIONE WAVELET DI FREQUENZE SPAZIALI DURANTE LA DISCRETIZZAZIONE DEI CAMPI LUMINOSI

Giornale elettronico"Atti del MAI". Numero 50.mai.ru/science/trud/ UDC 004.9 LBC 3.97 Tecnica per filtrare il rumore periodico nelle immagini digitali V.Yu. Gusev AV Krapivenko Abstract L'articolo considera

MODELLO DEL SISTEMA VISIVO DI UN OPERATORE UMANO NEL RICONOSCIMENTO DI IMMAGINI DI OGGETTI Yu.S. Gulina, V.Ya. Kolyuchkin Lomonosov Università tecnica statale di Mosca NE Bauman, La matematica

METODI OPTO-ELETTRONICI DI CONTROLLO DELLE COORDINATE DI EMISSIONE SULLA SUPERFICIE DELLA MATRICE CON L'UTILIZZO DI ALGORITMI CENTROIDALI VI Zamyatin VV Zamyatin Altai State Technical University.

UDC 621.396 RIDURRE L'INFLUENZA DELLA QUANTIZZAZIONE GRAD A 8 BIT SULLE POSSIBILITÀ DI RECUPERO A. Yu. VA Kotelnikova

Lab 3 Compito È necessario implementare un programma che esegua operazioni sugli array. La parte 1 consente l'uso di array di dimensioni statiche. Quando si fa la parte 2

Una tecnica per la stima a priori dell'efficienza della compressione di immagini digitali nel sistema trasmissione operativa dati telerilevamento Terre 2.3. Analisi di algoritmi di compressione per linearità

Lezione 3 ANALISI DI REGRESSIONE PER L'ELABORAZIONE DI RISULTATI SPERIMENTALI L'analisi di regressione è spesso utilizzata in chimica per elaborare dati sperimentali, la cui totalità è rappresentata da alcuni

Workshop per studenti di istituti di istruzione secondaria generale Mozyr "White Wind" 2 0 1 4

Agenzia federale per l'istruzione Istituto statale per l'istruzione professionale superiore Dipartimento di informatica dell'Università tecnica di Don State

MINISTERO DELL'ISTRUZIONE E DELLA SCIENZA DELLA FEDERAZIONE RUSSA Istituzione educativa di bilancio dello Stato federale dell'istruzione professionale superiore "RICERCA NAZIONALE TOMSK POLYTECHNICAL

MINISTERO DELLA SALUTE DELLA REPUBBLICA DI BIELORUSSIA METODO DI DIAGNOSI DIFFERENZIALE DELLA PANCREATITE CRONICA E DELL'ADENOCARCINOMA DEL PANCREAS

FASE DI RECUPERO DELLE STRISCE DI INTERFERENZA CON IL METODO DELLA FILTRAZIONE KALMAN BIDIMENSIONALE NON LINEARE Zakharov Vengono studiate le caratteristiche di un filtro di Kalman discreto non lineare bidimensionale sotto stima dinamica.

RACCOLTA DI LAVORI SCIENTIFICI DI NSTU. 28.4(54). 37 44 UDC 59.24 SUL COMPLESSO DI PROGRAMMI PER LA RISOLUZIONE DEL PROBLEMA DELL'IDENTIFICAZIONE DEGLI OGGETTI STAZIONARI DISCRETI DINAMICI LINEARI G.V. TROSHINA È stata considerata una serie di programmi

Atti del V Convegno Internazionale della Scuola Scientifica e Tecnica, 3, 8 MOSCA GIOVANI SCIENZIATI 8, parte 4 MIREA QUALITY ASSESTMENT OF INTERPOLATION FILTERS IN VIDEO CODING STANDARDS 8 D.B. POLIACOV

Articoli correlati in alto