
Articolo:
Project Vega
: Gik25
Quanto è possibile migliorare un'immagine sfocata?
Avrete sicuramente visto in film come Blade Runner o C.S.I. la scientifica alle prese con immagini incredibilmente sgranate in cui non si vede quasi nulla. Nei telefilm il risultato finale di una elaborazione fotografia è perfetto, chiaramente non è possibile fare miracoli, ma è comunque possibile ottenere risultati più che soddisfacenti. In generale, un programma come Project Vega è utilissimo a un fotoamatore che voglia ritoccare le sue foto e offre funzioni nettamente migliori di quelle dei più blasonati programmi di editing. Oltretutto a un prezzo vantaggiosissimo.
Forse non tutti lo sanno ma la "image processing" è una materia di studio all'università. Esistono teoremi, metodi e soprattutto programmi che permettono di migliorare le immagini. Cosa si riesce a fare? Ovviamente non è possibile creare informazioni che non esistono nell’immagine originale, però spesso le informazioni sono presenti anche se solo nascoste. >
Con i programmi ad hoc è possibile rimettere a fuoco foto sgranate, correggere i colori e la luminosità fino a far diventare diurna una foto notturna che sembra nera. è possibile ridurre il "rumore" in maniera molto consistente, soprattutto se questo si presenta con alcune caratteristiche (di periodicità o più complesse).
Notate ad esempio il risultato di una foto scattata ad un proiettore da 1000W, per effetto del controluce la persona che regge il riflettore e l’interno della casa diventano completamente neri. Si potrebbe pensare che non si possa in alcun modo ricavare informazioni da una foto in tali condizioni. Ma non è così: dopo un rapido image processing l’immagine è nettamente migliorata. Immaginate cosa riesce a fare un professionista usando software ad hoc (Project Vega o superiori) dopo una giornata di lavoro.
Badate bene che il risultato è facilmente ottenibile, ma la cosa non è banale. Infatti un semplice aumento di luminosità non è sufficiente, come si riscontra chiaramente dall’immagine che segue. Il problema è infatti proprio questo: i software di image processing esistono ma sono molto complessi da usare. >
Nonostante il risultato lasci veramente esterrefatti, la complessità dei programmi è tale da scoraggiare l’utente alle prime armi (per rimettere a fuoco un'immagine si deve scegliere un metodo tra 4-5 disponibili, ognuno caratterizzato da diversi tipi di sottoprocedimento e parametri).>
Consiglio comunque a chiunque sia interessato di scaricare la demo (totalmente funzionante fatta eccezione per la possibilità di salvare) di Project Vega, ottimo programma di image processing (non di fotoritocco come Paint Shop Pro o Corel Photopaint o Adobe Photoshop) che permette di provare i vari filtri. Lo troverete a questi indirizzo: http://vega.0catch.com/> il download della demo è disponibile a questo indirizzo: http://www.infosphere.uz.ua/vega/vegasetup.exe>.
Questo software permette anche di individuare i confini (edge) delle zone di colore, eseguire analisi e correzioni dell’imagine basandosi sulla frequenza (Fourier), rimettere a fuoco immagini e molto altro ancora. Project Vega non è l’unico programma di image processing, ne esistono moltissimi e spesso vengono creati dei plugin ad hoc per le singole immagini. Qui di seguito riporto diverse immagini elaborate da Project Vega in modo che possiate rendervi conto di cosa può arrivare a fare un programma del genere.>
Un ultima informazione: nell'ingrandimento delle foto tre sono gli algoritmi più utilizzati: pixel, antialias bilineare/bicubico, riconoscimento spline.
Il primo ingrandisce i pixel senza alcuna operazione particolare, il secondo oltre a ingrandire i pixel li sfuma con quelli adiacenti. Il terzo cerca di individuare una forma geometrica e di riprodurla invariata, se non la trova utilizza il bicubic.
Il risultato è generalmente deludente in tutti e tre i casi: nel primo otteniamo un effetto "mosaico" nel secondo un effetto sfocato, nel terzo un effetto sfocato ovunque tranne che nei punti in cui si vede chiaramente un bordo netto e solido.
La verità è che a noi non interessa affatto ricostruire l'informazione mancante (i dettagli) nella maniera più fedele possibile. Al contrario ci interessa creare un'immagine verosimile ma che non presenti difetti evidenti. Vega ci aiuta dandoci la possibilità di ingrandire un'immagine mantenendo le alte frequenze!
Senza entrare nei dettagli di spettri e di Fourier vi basti sapere che un'immagine molto sfocata è composta prevalentemente da basse frequenze, un'immagine molto a fuoco al contrario da alte. Tra le innumerevoli possibili immagini che sono un verosimile ingrandimento di quella di partenza, questo software sceglie quella che abbia frequenze alte (e che rispetti le spline).
In altre parole un normale programma, nello scegliere l'immagine che meglio si presta a essere l'ingrandimento dell'originale, tiene conto solo di un parametro. Vega tiene conto di tre parametri. La soluzione del problema trovata è quindi più valida e l'effetto ottico che ne consegue è che sembra meno sfocata.
Per informazioni Gik25>
La licenza di questo software costa 150€, pochi se considerate che la suite di Corel costa più di un milione e che questo software ha centinaia di funzioni in più di Photoshop e Photopaint. >
Per rendervi conto della complessità di questa applicazione, eccovi la lista degli algoritmi che Project Vega mette a disposizione:>
Note: Original algorithms or modifications to calssical ones, developed by our team, are d.
Binary images
- Convert Binary Image to Grayscale Image
- Convert Binary Image to Spectrum
- Convert Grayscale Image to Binary Image
- Convert Spectrum to Binary Image
- Dilation and Erosion
- Statistics of Binary Image
Contrast Enhancement
- Break-Line Correction
- Histogram Calculation
- Histogram Equalization
- Linear Contrast Correction
- Radar Texture Analysis
- Sliding Histogram Equalization
- Sliding Histogram Intensification and Truncation
- Sliding Rank Histogram Truncation
- Standard Function
Edge Detection and Segmentation
- Boundaries Detection
- Detection of Brightness Jumps
- Classical Edge Detection Algorithms
- Precise Edge Detection with 3x3 Window
- Precise Edge Detection with 5x5 Window
Detail Extraction and Sharpening
- Global Frequency Correction
- High Frequency Correction
Filtering of Impulsive Noise
- Cut-Off Median Filter
- Detection of Brightness Jumps
- Exponential Median Filter
- Extreme Median Filter
- Impulsive Noise(CNN) Filter
- Impulsive Noise(window 5x5) Filter
- Median Filter with the Mask
- Simple Median Filter
Filtering of Periodic Noise
- Gaussian Spectral Median Filter
- Low-Pass and High-Pass Spectral Filtering
- Masked Spectral Mean Filter
- Spectral Median Filter
Filtering of Speckle, Gaussian and Uniform Noise
- 2D Multivalued Filter
- Rank-Order (EV) Filtering
- Rank-Order (ER) Filtering
- Rank-Order (KNV) Filtering
- Frost Filter
- Gamma-MAP Filter
- Harmonic Filter
- Lee Filter
- Local Region Filter
- Lp Filter
- Lp Filter(minus)
Filtering of White Noise
- Optimal Linear Filtering
- Rank-Order (EV) Filtering
- Rank-Order (ER) Filtering
- Rank-Order (KNV) Filtering
Generation of helper images such as noise or patterns
- Cells Paper
- Chess Board
- Gaussian Noise
- Gaussian Surface Fragment
- Impulsive Noise
- Saw-like Image
- Single Impulse
- Uniform Noise
Image Manipulation
- 2x Size Reduction
- Apodization
- Bilinear Interpolation
- Combination of Images
- Change Canvas Size
- Even Extension
- Extraction of Fragment(precise)
- Flip
- General Interpolation
- Image Shifting
- Pooling
- Positive/Negative Transformation
- Rotation
- Transposing of Image
- Zoom
Low-pass, High-pass Filters
- Linear Convolution with Window
- Low-pass Filtering
- Low-Pass and High-Pass Spectral Filtering
Restoration
- Blur Recognition
- Image Restoration
Spectra Calculation, Filtering and Manipulation
- 2D Fourier Transform
- Cosine Transform
- Division of Spectra
- Hadamard and Walsh Transform
- Insert One Fourier Spectrum Into Another Fourier Spectrum
- Low-Pass and High-Pass Spectral Filtering
- Masked Spectral Mean Filter
- Multiplication of Spectra
- Phases Combination
- Set Fourier HF Area to Constant
- Spectral Editor
- Spectral Shift
- Spectral Median Filter
- Spectrum Fragment Extraction
- Spectrum Quantization
- Spectrum Slicing
- Spectrum Statistics
- Spectrum Thresholding
- Spectrums Deviation
- Spectrums Pooling
Statistics Calculation
- Histogram Calculation
- Spectrum Statistics
- Statistical Analysis
- Statistics of Binary Image
Thresholding
- Image Thresholding
- Precise Two-Thresholding Truncation
- Two-Thresholding Truncation
- Spectrum Thresholding