Questo è il comando pnmnlfilt che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre numerose workstation online gratuite come Ubuntu Online, Fedora Online, l'emulatore online di Windows o l'emulatore online di MAC OS
PROGRAMMA:
NOME
pnmnlfilt - filtri non lineari: smoothing, media di trim alfa, smoothing della stima ottimale,
miglioramento dei bordi.
SINOSSI
pnmlfilt alfa raggio [pnmfile]
DESCRIZIONE
pnmlfilt produce un'immagine di output in cui i pixel sono un riepilogo di più pixel vicini
la posizione corrispondente in un'immagine di input.
Questo programma funziona su flussi multi-immagine.
Questo è una specie di filtro coltellino svizzero. Ha 3 distinte modalità operative. In tutto
delle modalità in cui ogni pixel nell'immagine viene esaminato ed elaborato in base ad esso e al suo
valori dei pixel circostanti. Invece di utilizzare i 9 pixel in un blocco 3x3, 7 aree esagonali
vengono prelevati campioni, la dimensione degli esagoni è controllata dal parametro raggio. Un
Un valore del raggio di 0.3333 significa che i 7 esagoni si adattano esattamente al pixel centrale (ad es.
non ci sarà alcun effetto di filtraggio). Un valore di raggio di 1.0 significa che i 7 esagoni
si adattano esattamente a una matrice di pixel 3x3.
Alpha assettato significare filtro. (0.0 <= alfa <= 0.5)
Il valore del pixel centrale verrà sostituito dalla media dei 7 valori esagonali, ma
i 7 valori sono ordinati per dimensione e la parte alfa superiore e inferiore dei 7 sono escluse
dalla media. Ciò implica che un valore alfa di 0.0 fornisce lo stesso tipo di output di un
convoluzione normale (ad esempio filtro di media o di levigatura), dove il raggio determinerà la
"forza" del filtro. Un buon valore da cui partire per un filtraggio sottile è alfa = 0.0,
raggio = 0.55 Per un effetto più evidente, prova alfa 0.0 e raggio 1.0
Un valore alfa di 0.5 farà sì che il valore mediano dei 7 esagoni venga utilizzato per sostituire
il valore del pixel centrale. Questo tipo di filtro è utile per eliminare i "pop" o i pixel singoli
il rumore da un'immagine senza diffonderlo o macchiare le caratteristiche dell'immagine.
Un uso giudizioso del parametro raggio ottimizzerà il filtraggio. Valori intermedi di
alfa fornisce effetti a metà strada tra la levigatura e la riduzione del rumore "pop". Per sottili
filtraggio prova a iniziare con valori di alfa = 0.4, raggio = 0.6 Per un effetto più evidente
prova alfa = 0.5, raggio = 1.0
Ottimale stima levigatura. (1.0 <= alfa <= 2.0)
Questo tipo di filtro applica un filtro di levigatura adattivo all'immagine. Per ogni pixel
viene calcolata la varianza dei valori dell'esagono circostante e la quantità di levigatura
è reso inversamente proporzionale ad esso. L'idea è che se la varianza è piccola allora è
a causa del rumore nell'immagine, mentre se la varianza è grande, è a causa dell'immagine "desiderata"
caratteristiche. Come al solito il parametro raggio controlla il raggio effettivo, ma probabilmente
consigliabile lasciare il raggio tra 0.8 e 1.0 per il calcolo della varianza
significativo. Il parametro alfa imposta la soglia del rumore, oltre la quale verrà applicata una minore levigatura
essere fatto. Ciò significa che piccoli valori di alfa forniranno il filtraggio più sottile
effetto, mentre valori elevati tenderanno a levigare tutte le parti dell'immagine. Potresti iniziare
con valori come alfa = 1.2, raggio = 1.0 e prova ad aumentare o diminuire l'alfa
parametro per ottenere l'effetto desiderato. Questo tipo di filtro è ideale per filtrare
rumore di dithering sia nelle immagini bitmap che in quelle a colori.
bordo aumento. (-0.1 >= alfa >= -0.9)
Questo è il tipo di filtro opposto al filtro di levigatura. Esalta i bordi. Il filtro alfa
Il parametro controlla la quantità di miglioramento dei bordi, da sottile (-0.1) a evidente (-0.9).
Il parametro raggio controlla il raggio effettivo come al solito, ma i valori utili sono compresi tra
0.5 e 0.9. Prova a iniziare con valori di alfa = 0.3, raggio = 0.8
pelle mista utilizzare.
Le varie modalità di pnmlfilt possono essere utilizzati uno dopo l'altro per ottenere il risultato desiderato.
Ad esempio, per trasformare un'immagine monocromatica retinata in un'immagine in scala di grigi, potresti provare uno
o due passaggi del filtro di smoothing, seguiti da un passaggio della stima ottimale
filtro, quindi un leggero miglioramento dei bordi. Nota che l'utilizzo del miglioramento dei bordi è probabile solo
per essere utile dopo uno dei filtri non lineari (media alfa troncata o stima ottimale
filtro), poiché il miglioramento dei bordi è l'esatto opposto dello smoothing.
Per ridurre il rumore di quantizzazione del colore nelle immagini (ad esempio, riportando i file .gif a 24 bit)
file) potresti provare un passaggio del filtro di stima ottimale (alfa 1.2, raggio 1.0), un
passaggio del filtro mediano (alfa 0.5, raggio 0.55), ed eventualmente un passaggio del bordo
filtro di miglioramento. Diversi passaggi del filtro di stima ottimale con alfa decrescente
i valori sono più efficaci di un singolo passaggio con un valore alfa elevato. Come al solito, c'è
un compromesso tra l'efficacia del filtraggio e la perdita di dettagli. La sperimentazione è
incoraggiato.
Riferimenti:
Il filtro medio alfa-trimmed si basa sulla descrizione in IEEE CG&A maggio 1990 pagina 23 di
Mark E. Lee e Richard A. Redner, ed è stato migliorato per consentire alfa continuo
regolazione.
Il filtro di stima ottimale è tratto da un articolo "Converting Dithered Images Back to
"Gray Scale" di Allen Stenger, Dr Dobb's Journal, novembre 1992, e questo articolo
riferimenti "Miglioramento delle immagini digitali e filtraggio del rumore mediante l'uso di statistiche locali",
Jong-Sen Lee, IEEE Transactions on Pattern Analysis and Machine Intelligence, marzo 1980.
I dettagli del miglioramento dei bordi provengono da pgmenhance(1), tratto da Philip R.
Il programma "xim" di Thompson, che a sua volta lo ha preso dalla sezione 6 di "Digital Halftones by
Diffusione di punti", DE Knuth, ACM Transaction on Graphics Vol. 6, n. 4, ottobre 1987,
che a sua volta lo ha ricavato da due articoli del 1976 di JF Jarvis et. al.
Utilizzare pnmnlfilt online utilizzando i servizi onworks.net